/
githubmirror
/
postgres
Обзор
Документация
Войти
/
githubmirror
/
postgres
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
contrib/btree_gist/expected/bool.out
95 строк
2 KB
Tom Lane
Fix planner to consider matches to boolean columns in extension indexes.
03 сен 2022, 00:01
03 сен 2022, 00:01
ff720a5
Код
Авторство
О чём код?
-- bool check CREATE TABLE booltmp (a bool); INSERT INTO booltmp VALUES (false), (true); SET enable_seqscan=on; SELECT count(*) FROM booltmp WHERE a < true; count ------- 1 (1 row) SELECT count(*) FROM booltmp WHERE a <= true; count ------- 2 (1 row) SELECT count(*) FROM booltmp WHERE a = true; count ------- 1 (1 row) SELECT count(*) FROM booltmp WHERE a >= true; count ------- 1 (1 row) SELECT count(*) FROM booltmp WHERE a > true; count ------- 0 (1 row) CREATE INDEX boolidx ON booltmp USING gist ( a ); SET enable_seqscan=off; SELECT count(*) FROM booltmp WHERE a < true; count ------- 1 (1 row) SELECT count(*) FROM booltmp WHERE a <= true; count ------- 2 (1 row) SELECT count(*) FROM booltmp WHERE a = true; count ------- 1 (1 row) SELECT count(*) FROM booltmp WHERE a >= true; count ------- 1 (1 row) SELECT count(*) FROM booltmp WHERE a > true; count ------- 0 (1 row) -- Test index-only scans SET enable_bitmapscan=off; EXPLAIN (COSTS OFF) SELECT * FROM booltmp WHERE a; QUERY PLAN ------------------------------------------ Index Only Scan using boolidx on booltmp Index Cond: (a = true) (2 rows) SELECT * FROM booltmp WHERE a; a --- t (1 row) EXPLAIN (COSTS OFF) SELECT * FROM booltmp WHERE NOT a; QUERY PLAN ------------------------------------------ Index Only Scan using boolidx on booltmp Index Cond: (a = false) (2 rows) SELECT * FROM booltmp WHERE NOT a; a --- f (1 row)