mirror of
https://github.com/postgres/postgres.git
synced 2025-08-11 04:22:52 +03:00
config
contrib
adminpack
amcheck
auth_delay
auto_explain
bloom
btree_gin
btree_gist
data
expected
sql
bit.sql
bytea.sql
cash.sql
char.sql
cidr.sql
date.sql
enum.sql
float4.sql
float8.sql
inet.sql
init.sql
int2.sql
int4.sql
int8.sql
interval.sql
macaddr.sql
macaddr8.sql
not_equal.sql
numeric.sql
oid.sql
text.sql
time.sql
timestamp.sql
timestamptz.sql
timetz.sql
uuid.sql
varbit.sql
varchar.sql
.gitignore
Makefile
btree_bit.c
btree_bytea.c
btree_cash.c
btree_date.c
btree_enum.c
btree_float4.c
btree_float8.c
btree_gist--1.0--1.1.sql
btree_gist--1.1--1.2.sql
btree_gist--1.2--1.3.sql
btree_gist--1.2.sql
btree_gist--1.3--1.4.sql
btree_gist--1.4--1.5.sql
btree_gist--unpackaged--1.0.sql
btree_gist.c
btree_gist.control
btree_gist.h
btree_inet.c
btree_int2.c
btree_int4.c
btree_int8.c
btree_interval.c
btree_macaddr.c
btree_macaddr8.c
btree_numeric.c
btree_oid.c
btree_text.c
btree_time.c
btree_ts.c
btree_utils_num.c
btree_utils_num.h
btree_utils_var.c
btree_utils_var.h
btree_uuid.c
citext
cube
dblink
dict_int
dict_xsyn
earthdistance
file_fdw
fuzzystrmatch
hstore
hstore_plperl
hstore_plpython
intagg
intarray
isn
jsonb_plperl
jsonb_plpython
lo
ltree
ltree_plpython
oid2name
pageinspect
passwordcheck
pg_buffercache
pg_freespacemap
pg_prewarm
pg_standby
pg_stat_statements
pg_trgm
pg_visibility
pgcrypto
pgrowlocks
pgstattuple
postgres_fdw
seg
sepgsql
spi
sslinfo
start-scripts
tablefunc
tcn
test_decoding
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
vacuumlo
xml2
Makefile
README
contrib-global.mk
doc
src
.dir-locals.el
.gitattributes
.gitignore
COPYRIGHT
GNUmakefile.in
HISTORY
Makefile
README
README.git
aclocal.m4
configure
configure.in
This will allow enums to be used in exclusion constraints. The code uses the new CallerFInfoFunctionCall infrastructure in fmgr, and the support for it added to btree_gist in commit 393bb504d7. Reviewed by Tom Lane and Anastasia Lubennikova Discussion: http://postgr.es/m/56EA8A71.8060107@dunslane.net
39 lines
927 B
SQL
39 lines
927 B
SQL
-- enum check
|
|
|
|
create type rainbow as enum ('r','o','y','g','b','i','v');
|
|
|
|
CREATE TABLE enumtmp (a rainbow);
|
|
|
|
\copy enumtmp from 'data/enum.data'
|
|
|
|
SET enable_seqscan=on;
|
|
|
|
select a, count(*) from enumtmp group by a order by 1;
|
|
|
|
SELECT count(*) FROM enumtmp WHERE a < 'g'::rainbow;
|
|
|
|
SELECT count(*) FROM enumtmp WHERE a <= 'g'::rainbow;
|
|
|
|
SELECT count(*) FROM enumtmp WHERE a = 'g'::rainbow;
|
|
|
|
SELECT count(*) FROM enumtmp WHERE a >= 'g'::rainbow;
|
|
|
|
SELECT count(*) FROM enumtmp WHERE a > 'g'::rainbow;
|
|
|
|
CREATE INDEX enumidx ON enumtmp USING gist ( a );
|
|
|
|
SET enable_seqscan=off;
|
|
|
|
SELECT count(*) FROM enumtmp WHERE a < 'g'::rainbow;
|
|
|
|
SELECT count(*) FROM enumtmp WHERE a <= 'g'::rainbow;
|
|
|
|
SELECT count(*) FROM enumtmp WHERE a = 'g'::rainbow;
|
|
|
|
SELECT count(*) FROM enumtmp WHERE a >= 'g'::rainbow;
|
|
|
|
SELECT count(*) FROM enumtmp WHERE a > 'g'::rainbow;
|
|
|
|
EXPLAIN (COSTS OFF)
|
|
SELECT count(*) FROM enumtmp WHERE a >= 'g'::rainbow;
|