diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:46:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:46:48 +0000 |
commit | 311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 (patch) | |
tree | 0ec307299b1dada3701e42f4ca6eda57d708261e /contrib/btree_gist/sql/inet.sql | |
parent | Initial commit. (diff) | |
download | postgresql-15-upstream.tar.xz postgresql-15-upstream.zip |
Adding upstream version 15.4.upstream/15.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'contrib/btree_gist/sql/inet.sql')
-rw-r--r-- | contrib/btree_gist/sql/inet.sql | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/contrib/btree_gist/sql/inet.sql b/contrib/btree_gist/sql/inet.sql new file mode 100644 index 0000000..249e808 --- /dev/null +++ b/contrib/btree_gist/sql/inet.sql @@ -0,0 +1,49 @@ +-- inet check + +CREATE TABLE inettmp (a inet); + +\copy inettmp from 'data/inet.data' + +SET enable_seqscan=on; + +SELECT count(*) FROM inettmp WHERE a < '89.225.196.191'; + +SELECT count(*) FROM inettmp WHERE a <= '89.225.196.191'; + +SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'; + +SELECT count(*) FROM inettmp WHERE a >= '89.225.196.191'; + +SELECT count(*) FROM inettmp WHERE a > '89.225.196.191'; + +CREATE INDEX inetidx ON inettmp USING gist ( a ); + +SET enable_seqscan=off; + +SELECT count(*) FROM inettmp WHERE a < '89.225.196.191'::inet; + +SELECT count(*) FROM inettmp WHERE a <= '89.225.196.191'::inet; + +SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet; + +SELECT count(*) FROM inettmp WHERE a >= '89.225.196.191'::inet; + +SELECT count(*) FROM inettmp WHERE a > '89.225.196.191'::inet; + +VACUUM ANALYZE inettmp; + +-- gist_inet_ops lacks a fetch function, so this should not be index-only scan +EXPLAIN (COSTS OFF) +SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet; + +SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet; + +DROP INDEX inetidx; + +CREATE INDEX ON inettmp USING gist (a gist_inet_ops, a inet_ops); + +-- this can be an index-only scan, as long as the planner uses the right column +EXPLAIN (COSTS OFF) +SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet; + +SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet; |