diff --git a/contrib/pageinspect/expected/brin.out b/contrib/pageinspect/expected/brin.out index 67c3549a12..3a9d9125e4 100644 --- a/contrib/pageinspect/expected/brin.out +++ b/contrib/pageinspect/expected/brin.out @@ -117,10 +117,6 @@ SELECT (CASE WHEN (mod(i,231) = 0) OR (i BETWEEN 3500 AND 4000) THEN NULL ELSE i (CASE WHEN (mod(i,233) = 0) OR (i BETWEEN 3750 AND 4250) THEN NULL ELSE md5(i::text) END), (CASE WHEN (mod(i,233) = 0) OR (i BETWEEN 3850 AND 4500) THEN NULL ELSE (i/100) + mod(i,8) END) FROM generate_series(1,5000) S(i); --- Delete a couple pages, to make the ranges empty. -DELETE FROM brin_parallel_test WHERE a BETWEEN 1000 and 1500; --- Vacuum to remove the tuples and make the ranges actually empty. -VACUUM brin_parallel_test; -- Build an index with different opclasses - minmax, bloom and minmax-multi. -- -- For minmax and opclass this is simple, but for minmax-multi we need to be @@ -135,7 +131,8 @@ VACUUM brin_parallel_test; SET max_parallel_maintenance_workers = 0; CREATE INDEX brin_test_serial_idx ON brin_parallel_test USING brin (a int4_minmax_ops, a int4_bloom_ops, b, c int8_minmax_multi_ops) - WITH (pages_per_range=7); + WITH (pages_per_range=7) + WHERE NOT (a BETWEEN 1000 and 1500); -- build index using parallelism -- -- Set a couple parameters to force parallel build for small table. There's a @@ -147,7 +144,8 @@ SET max_parallel_maintenance_workers = 4; SET maintenance_work_mem = '128MB'; CREATE INDEX brin_test_parallel_idx ON brin_parallel_test USING brin (a int4_minmax_ops, a int4_bloom_ops, b, c int8_minmax_multi_ops) - WITH (pages_per_range=7); + WITH (pages_per_range=7) + WHERE NOT (a BETWEEN 1000 and 1500); SELECT relname, relpages FROM pg_class WHERE relname IN ('brin_test_serial_idx', 'brin_test_parallel_idx') @@ -180,7 +178,8 @@ DROP INDEX brin_test_parallel_idx; SET max_parallel_workers = 0; CREATE INDEX brin_test_parallel_idx ON brin_parallel_test USING brin (a int4_minmax_ops, a int4_bloom_ops, b, c int8_minmax_multi_ops) - WITH (pages_per_range=7); + WITH (pages_per_range=7) + WHERE NOT (a BETWEEN 1000 and 1500); SELECT relname, relpages FROM pg_class WHERE relname IN ('brin_test_serial_idx', 'brin_test_parallel_idx') diff --git a/contrib/pageinspect/sql/brin.sql b/contrib/pageinspect/sql/brin.sql index a25969d58f..aadbf0529f 100644 --- a/contrib/pageinspect/sql/brin.sql +++ b/contrib/pageinspect/sql/brin.sql @@ -66,12 +66,6 @@ SELECT (CASE WHEN (mod(i,231) = 0) OR (i BETWEEN 3500 AND 4000) THEN NULL ELSE i (CASE WHEN (mod(i,233) = 0) OR (i BETWEEN 3850 AND 4500) THEN NULL ELSE (i/100) + mod(i,8) END) FROM generate_series(1,5000) S(i); --- Delete a couple pages, to make the ranges empty. -DELETE FROM brin_parallel_test WHERE a BETWEEN 1000 and 1500; - --- Vacuum to remove the tuples and make the ranges actually empty. -VACUUM brin_parallel_test; - -- Build an index with different opclasses - minmax, bloom and minmax-multi. -- -- For minmax and opclass this is simple, but for minmax-multi we need to be @@ -87,7 +81,8 @@ VACUUM brin_parallel_test; SET max_parallel_maintenance_workers = 0; CREATE INDEX brin_test_serial_idx ON brin_parallel_test USING brin (a int4_minmax_ops, a int4_bloom_ops, b, c int8_minmax_multi_ops) - WITH (pages_per_range=7); + WITH (pages_per_range=7) + WHERE NOT (a BETWEEN 1000 and 1500); -- build index using parallelism -- @@ -100,7 +95,8 @@ SET max_parallel_maintenance_workers = 4; SET maintenance_work_mem = '128MB'; CREATE INDEX brin_test_parallel_idx ON brin_parallel_test USING brin (a int4_minmax_ops, a int4_bloom_ops, b, c int8_minmax_multi_ops) - WITH (pages_per_range=7); + WITH (pages_per_range=7) + WHERE NOT (a BETWEEN 1000 and 1500); SELECT relname, relpages FROM pg_class @@ -126,7 +122,8 @@ DROP INDEX brin_test_parallel_idx; SET max_parallel_workers = 0; CREATE INDEX brin_test_parallel_idx ON brin_parallel_test USING brin (a int4_minmax_ops, a int4_bloom_ops, b, c int8_minmax_multi_ops) - WITH (pages_per_range=7); + WITH (pages_per_range=7) + WHERE NOT (a BETWEEN 1000 and 1500); SELECT relname, relpages FROM pg_class