Allow forcing nullness of columns during bootstrap.
Bootstrap determines whether a column is null based on simple builtin
rules. Those work surprisingly well, but nonetheless a few existing
columns aren't set correctly. Additionally there is at least one patch
sent to hackers where forcing the nullness of a column would be helpful.
The boostrap format has gained FORCE [NOT] NULL for this, which will be
emitted by genbki.pl when BKI_FORCE_(NOT_)?NULL is specified for a
column in a catalog header.
This patch doesn't change the marking of any existing columns.
Discussion: 20150215170014.GE15326@awork2.anarazel.de
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/eb68379c38202180bc8e33fb9987284e314b7fc8
Modified Files
--------------
doc/src/sgml/bki.sgml | 9 +++--
src/backend/bootstrap/bootparse.y | 13 +++++--
src/backend/bootstrap/bootscanner.l | 3 ++
src/backend/bootstrap/bootstrap.c | 56 +++++++++++++++++++-----------
src/backend/catalog/Catalog.pm | 24 +++++++++++--
src/backend/catalog/genbki.pl | 65 +++++++++++++++++++++++++----------
src/backend/utils/Gen_fmgrtab.pl | 2 +-
src/include/bootstrap/bootstrap.h | 6 +++-
src/include/catalog/genbki.h | 2 ++
9 files changed, 131 insertions(+), 49 deletions(-)