postgresql/contrib
Tom Lane 9ff60273e3 Fix assorted inconsistencies in GiST opclass support function declarations.
The conventions specified by the GiST SGML documentation were widely
ignored.  For example, the strategy-number argument for "consistent" and
"distance" functions is specified to be a smallint, but most of the
built-in support functions declared it as an integer, and for that matter
the core code passed it using Int32GetDatum not Int16GetDatum.  None of
that makes any real difference at runtime, but it's quite confusing for
newcomers to the code, and it makes it very hard to write an amvalidate()
function that checks support function signatures.  So let's try to instill
some consistency here.

Another similar issue is that the "query" argument is not of a single
well-defined type, but could have different types depending on the strategy
(corresponding to search operators with different righthand-side argument
types).  Some of the functions threw up their hands and declared the query
argument as being of "internal" type, which surely isn't right ("any" would
have been more appropriate); but the majority position seemed to be to
declare it as being of the indexed data type, corresponding to a search
operator with both input types the same.  So I've specified a convention
that that's what to do always.

Also, the result of the "union" support function actually must be of the
index's storage type, but the documentation suggested declaring it to
return "internal", and some of the functions followed that.  Standardize
on telling the truth, instead.

Similarly, standardize on declaring the "same" function's inputs as
being of the storage type, not "internal".

Also, somebody had forgotten to add the "recheck" argument to both
the documentation of the "distance" support function and all of their
SQL declarations, even though the C code was happily using that argument.
Clean that up too.

Fix up some other omissions in the docs too, such as documenting that
union's second input argument is vestigial.

So far as the errors in core function declarations go, we can just fix
pg_proc.h and bump catversion.  Adjusting the erroneous declarations in
contrib modules is more debatable: in principle any change in those
scripts should involve an extension version bump, which is a pain.
However, since these changes are purely cosmetic and make no functional
difference, I think we can get away without doing that.
2016-01-19 12:04:36 -05:00
..
adminpack Update copyright for 2016 2016-01-02 13:33:40 -05:00
auth_delay Update copyright for 2016 2016-01-02 14:19:48 -05:00
auto_explain Update copyright for 2016 2016-01-02 13:33:40 -05:00
btree_gin pgindent run for 9.5 2015-05-23 21:35:49 -04:00
btree_gist Fix assorted inconsistencies in GiST opclass support function declarations. 2016-01-19 12:04:36 -05:00
chkpass Avoid returning undefined bytes in chkpass_in(). 2015-02-14 12:20:56 -05:00
citext Fix incorrect declaration of citext's regexp_matches() functions. 2015-05-05 15:51:22 -04:00
cube Fix assorted inconsistencies in GiST opclass support function declarations. 2016-01-19 12:04:36 -05:00
dblink Update copyright for 2016 2016-01-02 13:33:40 -05:00
dict_int Update copyright for 2016 2016-01-02 13:33:40 -05:00
dict_xsyn Update copyright for 2016 2016-01-02 13:33:40 -05:00
earthdistance Add missed CREATE EXTENSION ... CASCADE regression test adjustment. 2015-10-03 21:31:51 +02:00
file_fdw Update copyright for 2016 2016-01-02 13:33:40 -05:00
fuzzystrmatch Update copyright for 2016 2016-01-02 13:33:40 -05:00
hstore Fix assorted inconsistencies in GiST opclass support function declarations. 2016-01-19 12:04:36 -05:00
hstore_plperl Use LOAD not actual code execution to pull in plpython library. 2016-01-11 20:06:36 -05:00
hstore_plpython Use LOAD not actual code execution to pull in plpython library. 2016-01-11 20:06:36 -05:00
intagg Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
intarray Fix assorted inconsistencies in GiST opclass support function declarations. 2016-01-19 12:04:36 -05:00
isn Update copyright for 2016 2016-01-02 13:33:40 -05:00
lo Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
ltree Fix assorted inconsistencies in GiST opclass support function declarations. 2016-01-19 12:04:36 -05:00
ltree_plpython Use LOAD not actual code execution to pull in plpython library. 2016-01-11 20:06:36 -05:00
oid2name Add file version information to most installed Windows binaries. 2014-07-14 14:07:52 -04:00
pageinspect Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
passwordcheck Update copyright for 2016 2016-01-02 13:33:40 -05:00
pg_buffercache pgindent run for 9.5 2015-05-23 21:35:49 -04:00
pg_freespacemap Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
pg_prewarm Update copyright for 2016 2016-01-02 13:33:40 -05:00
pg_standby Don't use function definitions looking like old-style ones. 2015-08-15 17:25:00 +02:00
pg_stat_statements Update copyright for 2016 2016-01-02 13:33:40 -05:00
pg_trgm Fix assorted inconsistencies in GiST opclass support function declarations. 2016-01-19 12:04:36 -05:00
pgcrypto Add forgotten CHECK_FOR_INTERRUPT calls in pgcrypto's crypt() 2015-12-27 13:03:19 -03:00
pgrowlocks Optimize locking a tuple already locked by another subxact 2015-04-10 13:47:15 -03:00
pgstattuple Restructure index access method API to hide most of it at the C level. 2016-01-17 19:36:59 -05:00
postgres_fdw Update copyright for 2016 2016-01-02 13:33:40 -05:00
seg Fix assorted inconsistencies in GiST opclass support function declarations. 2016-01-19 12:04:36 -05:00
sepgsql Update copyright for 2016 2016-01-02 13:33:40 -05:00
spi Collection of typo fixes. 2015-05-20 16:56:22 +03:00
sslinfo Fix error message wording in previous sslinfo commit 2015-09-08 11:10:20 -03:00
start-scripts Fix typo in linux startup script. 2015-04-26 09:43:15 -04:00
tablefunc Update copyright for 2016 2016-01-02 13:33:40 -05:00
tcn Update copyright for 2016 2016-01-02 13:33:40 -05:00
test_decoding Update copyright for 2016 2016-01-02 13:33:40 -05:00
tsearch2 Fix assorted inconsistencies in GiST opclass support function declarations. 2016-01-19 12:04:36 -05:00
tsm_system_rows Update copyright for 2016 2016-01-02 13:33:40 -05:00
tsm_system_time Update copyright for 2016 2016-01-02 13:33:40 -05:00
unaccent Update copyright for 2016 2016-01-02 13:33:40 -05:00
uuid-ossp Update copyright for 2016 2016-01-02 13:33:40 -05:00
vacuumlo Update copyright for 2016 2016-01-02 13:33:40 -05:00
xml2 Replace a bunch more uses of strncpy() with safer coding. 2015-01-24 13:05:42 -05:00
contrib-global.mk Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Makefile Finish removing pg_audit 2015-05-28 12:48:25 -04:00
README Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.