Remove "array_nulls" GUC parameter.

This backwards-compatibility hack was introduced twenty years ago (in
8.2), and has surely been of no value for at least the last ten years.
However, we shouldn't just leave it sit, because as was just pointed
out it creates a dump/reload hazard: if it's set in the receiving
environment then array contents will not be restored correctly.
Other applications would likely be broken by it too, so whatever
residual value it may have seems outweighed by the possibility of
misuse.

Our precedent for retiring some other comparable parameters, such as
standard_conforming_strings, has been to leave the parameter in
existence but force it to a fixed value.  I judge however that
that's not worth the trouble here, because there's no reason to
believe that a non-negligible number of applications are either
setting or reading this value.  Let's just delete it in the master
branch and be done with it.

Bug: #19747
Reported-by: Ke <[email protected]>
Author: Tom Lane <[email protected]>
Reviewed-by: Laurenz Albe <[email protected]>
Discussion: https://postgr.es/m/[email protected]

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e96efd07c72834da48d8a21e4672a150c500a08d

Modified Files
--------------
doc/src/sgml/array.sgml                       |  5 +----
doc/src/sgml/config.sgml                      | 26 --------------------------
src/backend/utils/adt/arrayfuncs.c            |  7 +------
src/backend/utils/misc/guc_parameters.dat     |  7 -------
src/backend/utils/misc/postgresql.conf.sample |  1 -
src/include/utils/array.h                     |  5 -----
6 files changed, 2 insertions(+), 49 deletions(-)

Reply via email to