OSDN Git Service

Cross-data-type comparisons are now indexable by btrees, pursuant to my
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Nov 2003 21:15:59 +0000 (21:15 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Nov 2003 21:15:59 +0000 (21:15 +0000)
commitfa5c8a055a02e44f446e4593e397c33a572c4d67
tree9c0a7ded5a88c082c28dbe2b431660813abd72b8
parent49f98fa833407b4e4252e42522e640ec8a0d08b2
Cross-data-type comparisons are now indexable by btrees, pursuant to my
pghackers proposal of 8-Nov.  All the existing cross-type comparison
operators (int2/int4/int8 and float4/float8) have appropriate support.
The original proposal of storing the right-hand-side datatype as part of
the primary key for pg_amop and pg_amproc got modified a bit in the event;
it is easier to store zero as the 'default' case and only store a nonzero
when the operator is actually cross-type.  Along the way, remove the
long-since-defunct bigbox_ops operator class.
76 files changed:
contrib/dblink/dblink.c
contrib/miscutil/misc_utils.c
doc/src/sgml/catalogs.sgml
doc/src/sgml/xindex.sgml
src/backend/access/common/scankey.c
src/backend/access/gist/gistget.c
src/backend/access/gist/gistscan.c
src/backend/access/heap/tuptoaster.c
src/backend/access/nbtree/nbtcompare.c
src/backend/access/nbtree/nbtinsert.c
src/backend/access/nbtree/nbtree.c
src/backend/access/nbtree/nbtsearch.c
src/backend/access/nbtree/nbtsort.c
src/backend/access/nbtree/nbtutils.c
src/backend/access/rtree/rtproc.c
src/backend/access/rtree/rtscan.c
src/backend/catalog/aclchk.c
src/backend/catalog/dependency.c
src/backend/catalog/heap.c
src/backend/catalog/index.c
src/backend/catalog/pg_constraint.c
src/backend/catalog/pg_conversion.c
src/backend/catalog/pg_depend.c
src/backend/catalog/pg_largeobject.c
src/backend/commands/async.c
src/backend/commands/cluster.c
src/backend/commands/comment.c
src/backend/commands/dbcommands.c
src/backend/commands/functioncmds.c
src/backend/commands/indexcmds.c
src/backend/commands/opclasscmds.c
src/backend/commands/tablecmds.c
src/backend/commands/trigger.c
src/backend/commands/typecmds.c
src/backend/commands/user.c
src/backend/commands/vacuum.c
src/backend/executor/nodeIndexscan.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/outfuncs.c
src/backend/optimizer/path/indxpath.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/util/plancat.c
src/backend/parser/parse_func.c
src/backend/rewrite/rewriteRemove.c
src/backend/storage/large_object/inv_api.c
src/backend/utils/adt/float.c
src/backend/utils/adt/regproc.c
src/backend/utils/adt/ruleutils.c
src/backend/utils/adt/selfuncs.c
src/backend/utils/cache/catcache.c
src/backend/utils/cache/lsyscache.c
src/backend/utils/cache/relcache.c
src/backend/utils/cache/syscache.c
src/backend/utils/cache/typcache.c
src/backend/utils/init/postinit.c
src/backend/utils/sort/tuplesort.c
src/include/access/nbtree.h
src/include/access/skey.h
src/include/catalog/catversion.h
src/include/catalog/indexing.h
src/include/catalog/namespace.h
src/include/catalog/pg_amop.h
src/include/catalog/pg_amproc.h
src/include/catalog/pg_opclass.h
src/include/catalog/pg_proc.h
src/include/nodes/plannodes.h
src/include/utils/builtins.h
src/include/utils/geo_decls.h
src/include/utils/lsyscache.h
src/include/utils/rel.h
src/test/regress/expected/create_index.out
src/test/regress/expected/oidjoins.out
src/test/regress/expected/opr_sanity.out
src/test/regress/sql/create_index.sql
src/test/regress/sql/oidjoins.sql
src/test/regress/sql/opr_sanity.sql