blob: 0345abc3f291b8711f341caff75f37fcc475e9f7 [file]
-- Drift dataset: rows are emitted in `seq` order and which predicate is more
-- selective flips partway through, so whole-table selectivity differs from
-- per-batch selectivity. `a_sel = 0` matches ~0.1% over the first 2% of rows and
-- ~50% after; `b_sel = 0` is the mirror. At the default PRED_ROWS, which sizes the
-- table, that flip lands inside the pooled 8-batch warm-up (~65k rows).
CREATE TABLE t AS
SELECT
value AS seq,
CASE WHEN value < ${PRED_ROWS:-1000000} / 50 THEN value % 1000 ELSE value % 2 END AS a_sel,
CASE WHEN value < ${PRED_ROWS:-1000000} / 50 THEN value % 2 ELSE value % 1000 END AS b_sel
FROM generate_series(1, ${PRED_ROWS:-1000000});