Support range data types.

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: 4429f6a9e3e12bb4af6e3677fbc78cd80f160252
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2011-11-03T11:42:15Z
Releases: 9.2.0
Support range data types.

Selectivity estimation functions are missing for some range type operators,
which is a TODO.

Jeff Davis

Files

PathChange+/−
doc/src/sgml/catalogs.sgml modified +77 −0
doc/src/sgml/datatype.sgml modified +15 −1
doc/src/sgml/extend.sgml modified +14 −8
doc/src/sgml/filelist.sgml modified +1 −0
doc/src/sgml/func.sgml modified +304 −0
doc/src/sgml/plpgsql.sgml modified +3 −3
doc/src/sgml/rangetypes.sgml added +373 −0
doc/src/sgml/ref/create_type.sgml modified +60 −1
doc/src/sgml/xfunc.sgml modified +3 −3
src/backend/catalog/Makefile modified +3 −3
src/backend/catalog/pg_proc.c modified +41 −22
src/backend/catalog/pg_range.c added +136 −0
src/backend/commands/typecmds.c modified +441 −4
src/backend/executor/functions.c modified +1 −0
src/backend/nodes/copyfuncs.c modified +14 −0
src/backend/nodes/equalfuncs.c modified +12 −0
src/backend/parser/gram.y modified +7 −0
src/backend/parser/parse_coerce.c modified +157 −23
src/backend/tcop/utility.c modified +13 −0
src/backend/utils/adt/date.c modified +0 −1
src/backend/utils/adt/Makefile modified +2 −2
src/backend/utils/adt/pseudotypes.c modified +24 −0
src/backend/utils/adt/rangetypes.c added +2153 −0
src/backend/utils/adt/rangetypes_gist.c added +587 −0
src/backend/utils/cache/lsyscache.c modified +30 −0
src/backend/utils/cache/syscache.c modified +12 −0
src/backend/utils/fmgr/funcapi.c modified +103 −12
src/bin/pg_dump/pg_dump.c modified +182 −2
src/include/catalog/catversion.h modified +2 −1
src/include/catalog/indexing.h modified +3 −0
src/include/catalog/pg_amop.h modified +30 −0
src/include/catalog/pg_amproc.h modified +9 −0
src/include/catalog/pg_opclass.h modified +3 −0
src/include/catalog/pg_operator.h modified +39 −0
src/include/catalog/pg_opfamily.h modified +3 −0
src/include/catalog/pg_proc.h modified +147 −0
src/include/catalog/pg_range.h added +84 −0
src/include/catalog/pg_type.h modified +28 −1
src/include/commands/typecmds.h modified +1 −0
src/include/nodes/nodes.h modified +1 −0
src/include/nodes/parsenodes.h modified +11 −0
src/include/utils/lsyscache.h modified +2 −0
src/include/utils/rangetypes.h added +159 −0
src/include/utils/syscache.h modified +1 −0
src/pl/plpgsql/src/pl_comp.c modified +8 −2
src/test/regress/expected/collate.linux.utf8.out modified +17 −0
src/test/regress/expected/opr_sanity.out modified +30 −7
src/test/regress/expected/plpgsql.out modified +14 −0
src/test/regress/expected/rangetypes.out added +951 −0
src/test/regress/expected/sanity_check.out modified +2 −1
src/test/regress/expected/type_sanity.out modified +1 −1
src/test/regress/parallel_schedule modified +1 −1
src/test/regress/serial_schedule modified +1 −0
src/test/regress/sql/collate.linux.utf8.sql modified +11 −0
src/test/regress/sql/opr_sanity.sql modified +9 −3
src/test/regress/sql/plpgsql.sql modified +10 −0
src/test/regress/sql/rangetypes.sql added +371 −0
src/test/regress/sql/type_sanity.sql modified +1 −1