postgresql/contrib
Robert Haas b0a55e4329 Change internal RelFileNode references to RelFileNumber or RelFileLocator.
We have been using the term RelFileNode to refer to either (1) the
integer that is used to name the sequence of files for a certain relation
within the directory set aside for that tablespace/database combination;
or (2) that value plus the OIDs of the tablespace and database; or
occasionally (3) the whole series of files created for a relation
based on those values. Using the same name for more than one thing is
confusing.

Replace RelFileNode with RelFileNumber when we're talking about just the
single number, i.e. (1) from above, and with RelFileLocator when we're
talking about all the things that are needed to locate a relation's files
on disk, i.e. (2) from above. In the places where we refer to (3) as
a relfilenode, instead refer to "relation storage".

Since there is a ton of SQL code in the world that knows about
pg_class.relfilenode, don't change the name of that column, or of other
SQL-facing things that derive their name from it.

On the other hand, do adjust closely-related internal terminology. For
example, the structure member names dbNode and spcNode appear to be
derived from the fact that the structure itself was called RelFileNode,
so change those to dbOid and spcOid. Likewise, various variables with
names like rnode and relnode get renamed appropriately, according to
how they're being used in context.

Hopefully, this is clearer than before. It is also preparation for
future patches that intend to widen the relfilenumber fields from its
current width of 32 bits. Variables that store a relfilenumber are now
declared as type RelFileNumber rather than type Oid; right now, these
are the same, but that can now more easily be changed.

Dilip Kumar, per an idea from me. Reviewed also by Andres Freund.
I fixed some whitespace issues, changed a couple of words in a
comment, and made one other minor correction.

Discussion: http://postgr.es/m/CA+TgmoamOtXbVAQf9hWFzonUo6bhhjS6toZQd7HZ-pmojtAmag@mail.gmail.com
Discussion: http://postgr.es/m/CA+Tgmobp7+7kmi4gkq7Y+4AM9fTvL+O1oQ4-5gFTT+6Ng-dQ=g@mail.gmail.com
Discussion: http://postgr.es/m/CAFiTN-vTe79M8uDH1yprOU64MNFE+R3ODRuA+JWf27JbhY4hJw@mail.gmail.com
2022-07-06 11:39:09 -04:00
..
adminpack Use has_privs_for_roles for predefined role checks 2022-03-28 15:10:04 -04:00
amcheck amcheck: Fix incorrect use of VARATT_IS_COMPRESSED. 2022-06-22 13:11:49 -04:00
auth_delay Disallow setting bogus GUCs within an extension's reserved namespace. 2022-02-21 14:10:43 -05:00
auto_explain autho_explain: Add GUC to log query parameters 2022-07-06 09:55:30 +09:00
basebackup_to_shell Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
basic_archive Replace durable_rename_excl() by durable_rename(), take two 2022-07-05 10:16:12 +09:00
bloom Change internal RelFileNode references to RelFileNumber or RelFileLocator. 2022-07-06 11:39:09 -04:00
bool_plperl Fix broken ruleutils support for function TRANSFORM clauses. 2021-01-25 13:03:43 -05:00
btree_gin Fix failure of btree_gin indexscans with "char" type and </<= operators. 2021-08-10 18:10:29 -04:00
btree_gist Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
citext CREATE INDEX: use the original userid for more ACL checks. 2022-06-25 09:07:41 -07:00
cube Indent C code in flex and bison files 2022-05-13 07:17:29 +02:00
dblink Remove redundant null pointer checks before PQclear and PQconninfoFree 2022-07-03 20:11:05 +02:00
dict_int Update copyright for 2022 2022-01-07 19:04:57 -05:00
dict_xsyn Update copyright for 2022 2022-01-07 19:04:57 -05:00
earthdistance Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
file_fdw Add header matching mode to COPY FROM 2022-03-30 09:02:31 +02:00
fuzzystrmatch Update copyright for 2022 2022-01-07 19:04:57 -05:00
hstore Add construct_array_builtin, deconstruct_array_builtin 2022-07-01 11:23:15 +02:00
hstore_plperl Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
hstore_plpython Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
intagg Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
intarray Change some unnecessary MemSet calls 2022-07-01 00:16:38 +02:00
isn Update copyright for 2022 2022-01-07 19:04:57 -05:00
jsonb_plperl Expose internal function for converting int64 to numeric 2020-09-09 20:16:28 +02:00
jsonb_plpython plpython: Code cleanup related to removal of Python 2 support. 2022-03-07 18:30:28 -08:00
lo Fix bogus CALLED_AS_TRIGGER() defenses. 2020-04-03 11:24:56 -04:00
ltree Change some unnecessary MemSet calls 2022-07-01 00:16:38 +02:00
ltree_plpython plpython: Code cleanup related to removal of Python 2 support. 2022-03-07 18:30:28 -08:00
oid2name Change internal RelFileNode references to RelFileNumber or RelFileLocator. 2022-07-06 11:39:09 -04:00
old_snapshot Update copyright for 2022 2022-01-07 19:04:57 -05:00
pageinspect Add construct_array_builtin, deconstruct_array_builtin 2022-07-01 11:23:15 +02:00
passwordcheck Remove non-functional code for unloading loadable modules. 2022-05-11 15:30:30 -04:00
pg_buffercache Change internal RelFileNode references to RelFileNumber or RelFileLocator. 2022-07-06 11:39:09 -04:00
pg_freespacemap Avoid instabilities with the regression tests of pg_freespacemap 2022-03-29 13:52:49 +09:00
pg_prewarm Change internal RelFileNode references to RelFileNumber or RelFileLocator. 2022-07-06 11:39:09 -04:00
pg_stat_statements Remove redundant null pointer checks before free() 2022-07-03 11:47:15 +02:00
pg_surgery Remove xloginsert.h from xlog.h 2022-01-30 12:25:24 -03:00
pg_trgm Add construct_array_builtin, deconstruct_array_builtin 2022-07-01 11:23:15 +02:00
pg_visibility Change internal RelFileNode references to RelFileNumber or RelFileLocator. 2022-07-06 11:39:09 -04:00
pg_walinspect Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
pgcrypto Add construct_array_builtin, deconstruct_array_builtin 2022-07-01 11:23:15 +02:00
pgrowlocks Use has_privs_for_roles for predefined role checks 2022-03-28 15:10:04 -04:00
pgstattuple Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
postgres_fdw Remove redundant null pointer checks before PQclear and PQconninfoFree 2022-07-03 20:11:05 +02:00
seg Indent C code in flex and bison files 2022-05-13 07:17:29 +02:00
sepgsql Disallow setting bogus GUCs within an extension's reserved namespace. 2022-02-21 14:10:43 -05:00
spi Remove extraneous blank lines before block-closing braces 2022-04-13 19:16:02 +02:00
sslinfo contrib/sslinfo needs a fix too to make hamerkop happy. 2021-11-07 11:33:53 -05:00
start-scripts Remove contrib/start-scripts/osx/. 2017-11-17 12:53:20 -05:00
tablefunc Remove all traces of tuplestore_donestoring() in the C code 2022-02-17 09:52:02 +09:00
tcn Update copyright for 2022 2022-01-07 19:04:57 -05:00
test_decoding Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
tsm_system_rows Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsm_system_time Update copyright for 2022 2022-01-07 19:04:57 -05:00
unaccent Simplify a bit the special rules generating unaccent.rules 2022-07-05 16:17:51 +09:00
uuid-ossp Remove redundant null pointer checks before free() 2022-07-03 11:47:15 +02:00
vacuumlo Improve frontend error logging style. 2022-04-08 14:55:14 -04:00
xml2 Simplify SRFs using materialize mode in contrib/ modules 2022-03-08 10:12:22 +09:00
contrib-global.mk Respect TEMP_CONFIG when pg_regress_check and friends are called 2016-02-27 12:28:21 -05: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

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.