CVSROOT: /home/projects/pgsql/cvsroot
Module name: pgsql
Changes by: tgl@hub.org 01/08/21 12:36:06
Modified files:
contrib/cube : cube.sql.in
contrib/findoidjoins: README.findoidjoins findoidjoins.c
contrib/intarray: README.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 indices.sgml xindex.sgml
doc/src/sgml/ref: create_index.sgml
src/backend/access/gist: gist.c
src/backend/access/index: istrat.c
src/backend/bootstrap: bootparse.y
src/backend/catalog: index.c indexing.c
src/backend/commands: cluster.c command.c indexcmds.c
src/backend/nodes: copyfuncs.c equalfuncs.c outfuncs.c
src/backend/optimizer/path: costsize.c indxpath.c
src/backend/optimizer/plan: createplan.c
src/backend/optimizer/util: plancat.c
src/backend/parser: analyze.c gram.y
src/backend/tcop: utility.c
src/backend/utils/adt: regproc.c
src/backend/utils/cache: catcache.c lsyscache.c syscache.c
src/backend/utils/sort: tuplesort.c
src/bin/psql : describe.c
src/include/access: gist.h
src/include/catalog: catversion.h index.h indexing.h pg_amop.h
pg_amproc.h pg_index.h pg_opclass.h
src/include/commands: defrem.h
src/include/nodes: parsenodes.h relation.h
src/include/optimizer: paths.h
src/include/utils: lsyscache.h syscache.h
src/test/regress/expected: oidjoins.out opr_sanity.out
src/test/regress/sql: oidjoins.sql opr_sanity.sql
src/tutorial : complex.source syscat.source
Log message:
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.