Open matriv opened 1 year ago
Outcome of an internal discussion: In the first iteration we want to:
bwc.rolling_upgrade
test to create a column with a random type and random column options like indexing or storage. The random values used for the column type should be taken out of the system's available types e.g. pg_type
To improve our test coverage we should add ingestion tests, that cover somehow "exhaustively" combinations for table setup. Implement code to generate tables with all DDL permutations for:
[ ] Data types
[ ] Each type as a top level and some deep leaf column
[ ] Column option like index, columnar store,
[ ] Generated columns
[ ] Primary key definitions
[ ] Constraints (also involving references to other columns)
[ ] Partition by
[ ] Test with NULLs, provided, completely excluded values
[ ] Ensure recovery from translog path is hit
[ ] Test INSERT INTO VALUES, INSERT FROM (SELECT ...), INSERT ... ON CONFLICT, etc.
Think (and maybe test), to check different code paths, to narrow down combinations and avoid exploding the number of permutations.
Make sure the exact configuration and insert stmt is exposed in case of failure for easily debugging.