postgresql/contrib
Tom Lane cd838e2008 Neaten up our choices of SQLSTATEs for XML-related errors.
When our XML-handling modules were first written, the SQL standard
lacked any error codes that were particularly intended for XML
error conditions.  Unsurprisingly, this led to some rather random
choices of errcodes in those modules.  Now the standard has a whole
SQLSTATE class, "Class 10 - XQuery Error", with a reasonably large
selection of relevant-looking errcodes.

In this patch I've chosen one fairly generic code defined by the
standard, 10608 = invalid_argument_for_xquery, and used it where
it seemed appropriate.  I've also made an effort to replace
ERRCODE_INTERNAL_ERROR everywhere it was not clearly reporting
a coding problem; in particular, many of the existing uses look
like they can fairly be reported as ERRCODE_OUT_OF_MEMORY.

It might be interesting to try to map libxml2's error codes into
the standard's new collection, but I've not undertaken that here.

Discussion: https://postgr.es/m/417250.1726341268@sss.pgh.pa.us
2024-09-24 12:59:56 -04:00
..
amcheck amcheck: Optimize speed of checking for unique constraint violation 2024-07-28 13:50:57 +03:00
auth_delay
auto_explain
basebackup_to_shell
basic_archive
bloom Replace gratuitous memmove() with memcpy() 2024-09-11 15:21:36 +02:00
bool_plperl
btree_gin
btree_gist Add temporal FOREIGN KEY contraints 2024-09-17 11:29:30 +02:00
citext Add argument names to the regexp_XXX functions. 2024-07-25 14:51:46 -04:00
cube Include bison header files into implementation files 2024-08-02 10:25:11 +02:00
dblink Don't bother checking the result of SPI_connect[_ext] anymore. 2024-09-09 12:18:34 -04:00
dict_int
dict_xsyn
earthdistance
file_fdw Treat number of disabled nodes in a path as a separate cost metric. 2024-08-21 10:12:30 -04:00
fuzzystrmatch
hstore Optimize escaping of JSON strings 2024-07-27 23:46:07 +12:00
hstore_plperl
hstore_plpython
intagg
intarray
isn
jsonb_plperl
jsonb_plpython
lo
ltree
ltree_plpython
oid2name Apply more quoting to GUC names in messages 2024-09-04 13:50:44 +09:00
pageinspect Fix contrib/pageinspect's test for sequences. 2024-09-13 10:16:40 -05:00
passwordcheck
pg_buffercache
pg_freespacemap
pg_prewarm Add block_range_read_stream_cb(), to deduplicate code. 2024-09-03 10:46:20 -07:00
pg_stat_statements Add missing query ID reporting in extended query protocol 2024-09-18 09:59:09 +09:00
pg_surgery
pg_trgm
pg_visibility Optimize pg_visibility with read streams. 2024-09-10 15:21:33 -07:00
pg_walinspect
pgcrypto Remove support for OpenSSL older than 1.1.0 2024-09-02 13:51:48 +02:00
pgrowlocks
pgstattuple Reintroduce support for sequences in pgstattuple and pageinspect. 2024-09-12 16:31:29 -05:00
postgres_fdw postgres_fdw: Extend postgres_fdw_get_connections to return user name. 2024-09-18 12:51:48 +09:00
seg Include bison header files into implementation files 2024-08-02 10:25:11 +02:00
sepgsql
spi Don't bother checking the result of SPI_connect[_ext] anymore. 2024-09-09 12:18:34 -04:00
sslinfo
start-scripts
tablefunc Don't bother checking the result of SPI_connect[_ext] anymore. 2024-09-09 12:18:34 -04:00
tcn
test_decoding Fix typos and grammar in code comments and docs 2024-09-03 14:49:04 +09:00
tsm_system_rows
tsm_system_time
unaccent Add simple codepoint redirections to unaccent.rules. 2024-07-05 15:25:31 +12:00
uuid-ossp
vacuumlo Apply more quoting to GUC names in messages 2024-09-04 13:50:44 +09:00
xml2 Neaten up our choices of SQLSTATEs for XML-related errors. 2024-09-24 12:59:56 -04:00
contrib-global.mk
Makefile
meson.build
README

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.