Allow forcing nullness of columns during bootstrap.
Andres Freund <andres@anarazel.de>
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
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/bki.sgml | modified | +6 −3 |
| src/backend/bootstrap/bootparse.y | modified | +10 −3 |
| src/backend/bootstrap/bootscanner.l | modified | +3 −0 |
| src/backend/bootstrap/bootstrap.c | modified | +35 −21 |
| src/backend/catalog/Catalog.pm | modified | +22 −2 |
| src/backend/catalog/genbki.pl | modified | +47 −18 |
| src/backend/utils/Gen_fmgrtab.pl | modified | +1 −1 |
| src/include/bootstrap/bootstrap.h | modified | +5 −1 |
| src/include/catalog/genbki.h | modified | +2 −0 |