postgresql/contrib
Tom Lane 8f0530f580 Improve castNode notation by introducing list-extraction-specific variants.
This extends the castNode() notation introduced by commit 5bcab1114 to
provide, in one step, extraction of a list cell's pointer and coercion to
a concrete node type.  For example, "lfirst_node(Foo, lc)" is the same
as "castNode(Foo, lfirst(lc))".  Almost half of the uses of castNode
that have appeared so far include a list extraction call, so this is
pretty widely useful, and it saves a few more keystrokes compared to the
old way.

As with the previous patch, back-patch the addition of these macros to
pg_list.h, so that the notation will be available when back-patching.

Patch by me, after an idea of Andrew Gierth's.

Discussion: https://postgr.es/m/14197.1491841216@sss.pgh.pa.us
2017-04-10 13:51:53 -04:00
..
adminpack
amcheck
auth_delay
auto_explain Allow for parallel execution whenever ExecutorRun() is done only once. 2017-03-23 13:14:36 -04:00
bloom
btree_gin Add btree_gin support for enum types 2017-03-21 11:04:17 -04:00
btree_gist Add btree_gist support for enum types. 2017-03-21 10:43:27 -04:00
chkpass
citext Optimize joins when the inner relation can be proven unique. 2017-04-07 22:20:13 -04:00
cube
dblink dblink: Small code rearrangement for clarity 2017-04-05 09:03:11 -04:00
dict_int
dict_xsyn
earthdistance Remove support for version-0 calling conventions. 2017-03-30 06:25:46 -07:00
file_fdw Reset API of clause_selectivity() 2017-04-06 19:10:51 -04:00
fuzzystrmatch
hstore
hstore_plperl
hstore_plpython
intagg
intarray Clean up Perl code according to perlcritic 2017-03-27 08:18:22 -04:00
isn
lo
ltree
ltree_plpython
oid2name
pageinspect Reduce the number of pallocs() in BRIN 2017-04-07 19:08:43 -03:00
passwordcheck
pg_buffercache Default monitoring roles 2017-03-30 14:18:53 -04:00
pg_freespacemap Default monitoring roles 2017-03-30 14:18:53 -04:00
pg_prewarm
pg_standby
pg_stat_statements Improve castNode notation by introducing list-extraction-specific variants. 2017-04-10 13:51:53 -04:00
pg_trgm
pg_visibility Default monitoring roles 2017-03-30 14:18:53 -04:00
pgcrypto
pgrowlocks Fix AclResult vs bool type mix-up 2017-04-06 11:32:07 -04:00
pgstattuple Expand hash indexes more gradually. 2017-04-03 23:46:33 -04:00
postgres_fdw Improve castNode notation by introducing list-extraction-specific variants. 2017-04-10 13:51:53 -04:00
seg Move contrib/seg to only use V1 calling conventions. 2017-03-30 06:25:46 -07:00
sepgsql Fix whitespace 2017-04-10 11:18:15 -04:00
spi
sslinfo
start-scripts
tablefunc
tcn
test_decoding Force synchronous commit in new-ish test_decoding test. 2017-04-04 14:38:00 -07:00
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
vacuumlo
xml2
contrib-global.mk
Makefile
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.