citusdata / citusdata/citus

Regression tests: Replace COPY for 1-3 lines with INSERT to speed up regression tests

Open
#1,911 0 comments 0 reactions 0 assignees View on GitHub
regression tests
Dominant language
C
Stars
12.8k
Forks
794
Avg merge
2d 14h
Merged PRs (30d)
31

Description

Earlier Citus versions only supported `COPY` operations. So when we needed to add regression tests to check for constraints for example, we'd create a data file and run `COPY` (or \stage).

As a result, we have 2-3 regression tests that `COPY` in a few rows. These tests are harder to read, and slower to run. See #133 for an example.

Now that we support multi-value `INSERT`s, we can change these regression tests to `INSERT` values instead of `COPY`.

Contributor guide

Open the contributing guide

Research direction

Review the regression tests that use COPY or \stage for only a few rows, using issue #133 as the example to locate the pattern. Replace those small data loads with multi-value INSERT statements and run the affected regression tests to confirm they still cover the same constraints and complete successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgresql, sql
Domain
databases, testing-qa
Issue type
Refactor
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.