]> granicus.if.org Git - postgresql/commit
Restructure pg_opclass, pg_amop, and pg_amproc per previous discussions in
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 21 Aug 2001 16:36:06 +0000 (16:36 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 21 Aug 2001 16:36:06 +0000 (16:36 +0000)
commitf933766ba7c5446a28d714904ae0c46d8b21b86a
tree81c8ecd2a2f8161d91670f5325331ba1704c2ab7
parentc2d156691292d7be998eacf5b99dce3ea3c29ab2
Restructure pg_opclass, pg_amop, and pg_amproc per previous discussions in
pgsql-hackers.  pg_opclass now has a row for each opclass supported by each
index AM, not a row for each opclass name.  This allows pg_opclass to show
directly whether an AM supports an opclass, and furthermore makes it possible
to store additional information about an opclass that might be AM-dependent.
pg_opclass and pg_amop now store "lossy" and "haskeytype" information that we
previously expected the user to remember to provide in CREATE INDEX commands.
Lossiness is no longer an index-level property, but is associated with the
use of a particular operator in a particular index opclass.

Along the way, IndexSupportInitialize now uses the syscaches to retrieve
pg_amop and pg_amproc entries.  I find this reduces backend launch time by
about ten percent, at the cost of a couple more special cases in catcache.c's
IndexScanOK.

Initial work by Oleg Bartunov and Teodor Sigaev, further hacking by Tom Lane.

initdb forced.
60 files changed:
contrib/cube/cube.sql.in
contrib/findoidjoins/README.findoidjoins
contrib/findoidjoins/findoidjoins.c
contrib/intarray/README.intarray
contrib/intarray/_int.sql.in
contrib/intarray/bench/create_test.pl
contrib/intarray/expected/_int.out
contrib/intarray/sql/_int.sql
contrib/rtree_gist/expected/rtree_gist.out
contrib/rtree_gist/rtree_gist.sql.in
contrib/rtree_gist/sql/rtree_gist.sql
contrib/seg/seg.sql.in
doc/src/sgml/catalogs.sgml
doc/src/sgml/indices.sgml
doc/src/sgml/ref/create_index.sgml
doc/src/sgml/xindex.sgml
src/backend/access/gist/gist.c
src/backend/access/index/istrat.c
src/backend/bootstrap/bootparse.y
src/backend/catalog/index.c
src/backend/catalog/indexing.c
src/backend/commands/cluster.c
src/backend/commands/command.c
src/backend/commands/indexcmds.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/optimizer/path/costsize.c
src/backend/optimizer/path/indxpath.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/util/plancat.c
src/backend/parser/analyze.c
src/backend/parser/gram.y
src/backend/tcop/utility.c
src/backend/utils/adt/regproc.c
src/backend/utils/cache/catcache.c
src/backend/utils/cache/lsyscache.c
src/backend/utils/cache/syscache.c
src/backend/utils/sort/tuplesort.c
src/bin/psql/describe.c
src/include/access/gist.h
src/include/catalog/catversion.h
src/include/catalog/index.h
src/include/catalog/indexing.h
src/include/catalog/pg_amop.h
src/include/catalog/pg_amproc.h
src/include/catalog/pg_index.h
src/include/catalog/pg_opclass.h
src/include/commands/defrem.h
src/include/nodes/parsenodes.h
src/include/nodes/relation.h
src/include/optimizer/paths.h
src/include/utils/lsyscache.h
src/include/utils/syscache.h
src/test/regress/expected/oidjoins.out
src/test/regress/expected/opr_sanity.out
src/test/regress/sql/oidjoins.sql
src/test/regress/sql/opr_sanity.sql
src/tutorial/complex.source
src/tutorial/syscat.source