postgresql/contrib
Tom Lane 2661469d86 Allow DateTimeParseError to handle bad-timezone error messages.
Pay down some ancient technical debt (dating to commit 022fd9966):
fix a couple of places in datetime parsing that were throwing
ereport's immediately instead of returning a DTERR code that could be
interpreted by DateTimeParseError.  The reason for that was that there
was no mechanism for passing any auxiliary data (such as a zone name)
to DateTimeParseError, and these errors seemed to really need it.
Up to now it didn't matter that much just where the error got thrown,
but now we'd like to have a hard policy that datetime parse errors
get thrown from just the one place.

Hence, invent a "DateTimeErrorExtra" struct that can be used to
carry any extra values needed for specific DTERR codes.  Perhaps
in the future somebody will be motivated to use this to improve
the specificity of other DateTimeParseError messages, but for now
just deal with the timezone-error cases.

This is on the way to making the datetime input functions report
parse errors softly; but it's really an independent change, so
commit separately.

Discussion: https://postgr.es/m/3bbbb0df-7382-bf87-9737-340ba096e034@postgrespro.ru
2022-12-09 13:30:47 -05:00
..
adminpack Allow DateTimeParseError to handle bad-timezone error messages. 2022-12-09 13:30:47 -05:00
amcheck Rename SetSingleFuncCall() to InitMaterializedSRF() 2022-10-18 10:22:35 +09:00
auth_delay Clean up some inconsistencies with GUC declarations 2022-10-31 12:44:48 +09:00
auto_explain meson: Add windows resource files 2022-10-05 09:56:05 -07:00
basebackup_to_shell meson: Add windows resource files 2022-10-05 09:56:05 -07:00
basic_archive meson: Add 'running' test setup, as a replacement for installcheck 2022-12-07 12:13:35 -08:00
bloom If wait_for_catchup fails under has_wal_read_bug, skip balance of test. 2022-11-12 11:19:50 -08:00
bool_plperl meson: Add windows resource files 2022-10-05 09:56:05 -07:00
btree_gin Produce more-optimal plans for bitmap scans on boolean columns. 2022-11-08 10:36:04 -05:00
btree_gist Use C library functions instead of Abs() for int64 2022-10-10 09:01:17 +02:00
citext meson: Add windows resource files 2022-10-05 09:56:05 -07:00
cube Convert a few datatype input functions to use "soft" error reporting. 2022-12-09 10:14:53 -05:00
dblink Refactor aclcheck functions 2022-11-13 09:02:41 +01:00
dict_int meson: Add windows resource files 2022-10-05 09:56:05 -07:00
dict_xsyn meson: Add windows resource files 2022-10-05 09:56:05 -07:00
earthdistance meson: Add windows resource files 2022-10-05 09:56:05 -07:00
file_fdw Fix final warnings produced by -Wshadow=compatible-local 2022-10-07 13:13:27 +13:00
fuzzystrmatch Remove AssertArg and AssertState 2022-10-28 09:19:06 +02:00
hstore meson: Add support for building with precompiled headers 2022-10-06 17:19:30 -07:00
hstore_plperl meson: Add windows resource files 2022-10-05 09:56:05 -07:00
hstore_plpython meson: Add windows resource files 2022-10-05 09:56:05 -07:00
intagg meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
intarray Use fabsf() instead of Abs() or fabs() where appropriate 2022-10-08 13:43:26 +02:00
isn meson: Add windows resource files 2022-10-05 09:56:05 -07:00
jsonb_plperl meson: Add windows resource files 2022-10-05 09:56:05 -07:00
jsonb_plpython meson: Add windows resource files 2022-10-05 09:56:05 -07:00
lo meson: Add windows resource files 2022-10-05 09:56:05 -07:00
ltree Remove unnecessary uses of Abs() 2022-10-07 13:29:33 +02:00
ltree_plpython meson: Add windows resource files 2022-10-05 09:56:05 -07:00
oid2name meson: Add windows resource files 2022-10-05 09:56:05 -07:00
old_snapshot meson: Add windows resource files 2022-10-05 09:56:05 -07:00
pageinspect Mark pageinspect's disk-accessing functions as parallel restricted. 2022-11-21 15:37:10 -05:00
passwordcheck tests: Rename conflicting role names 2022-10-05 10:43:13 -07:00
pg_buffercache pg_buffercache: Add pg_buffercache_summary() 2022-10-13 09:55:46 -07:00
pg_freespacemap meson: Add 'running' test setup, as a replacement for installcheck 2022-12-07 12:13:35 -08:00
pg_prewarm Clean up some inconsistencies with GUC declarations 2022-10-31 12:44:48 +09:00
pg_stat_statements meson: Add 'running' test setup, as a replacement for installcheck 2022-12-07 12:13:35 -08:00
pg_surgery Refactor ownercheck functions 2022-11-13 08:12:37 +01:00
pg_trgm Clean up some inconsistencies with GUC declarations 2022-10-31 12:44:48 +09:00
pg_visibility meson: Add windows resource files 2022-10-05 09:56:05 -07:00
pg_walinspect meson: Add 'running' test setup, as a replacement for installcheck 2022-12-07 12:13:35 -08:00
pgcrypto Remove redundant memset call following palloc0 2022-10-13 23:18:00 +02:00
pgrowlocks Rename SetSingleFuncCall() to InitMaterializedSRF() 2022-10-18 10:22:35 +09:00
pgstattuple meson: Add support for building with precompiled headers 2022-10-06 17:19:30 -07:00
postgres_fdw Rework query relation permission checking 2022-12-06 16:09:24 +01:00
seg Use fabsf() instead of Abs() or fabs() where appropriate 2022-10-08 13:43:26 +02:00
sepgsql Rework query relation permission checking 2022-12-06 16:09:24 +01:00
spi meson: Add windows resource files 2022-10-05 09:56:05 -07:00
sslinfo meson: Add windows resource files 2022-10-05 09:56:05 -07:00
start-scripts Remove contrib/start-scripts/osx/. 2017-11-17 12:53:20 -05:00
tablefunc meson: Add windows resource files 2022-10-05 09:56:05 -07:00
tcn meson: Add windows resource files 2022-10-05 09:56:05 -07:00
test_decoding meson: Add 'running' test setup, as a replacement for installcheck 2022-12-07 12:13:35 -08:00
tsm_system_rows meson: Add windows resource files 2022-10-05 09:56:05 -07:00
tsm_system_time meson: Add windows resource files 2022-10-05 09:56:05 -07:00
unaccent meson: Add windows resource files 2022-10-05 09:56:05 -07:00
uuid-ossp meson: Add windows resource files 2022-10-05 09:56:05 -07:00
vacuumlo meson: Add windows resource files 2022-10-05 09:56:05 -07:00
xml2 Rename SetSingleFuncCall() to InitMaterializedSRF() 2022-10-18 10:22:35 +09:00
Makefile Add contrib/pg_walinspect. 2022-04-08 00:26:44 -07:00
README Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00
contrib-global.mk Respect TEMP_CONFIG when pg_regress_check and friends are called 2016-02-27 12:28:21 -05:00
meson.build meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00

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.