nodes/*funcs.c inconsistencies
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: pgsql-hackers@postgresql.org
Date: 2012-04-16T10:25:15Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add support for renaming domain constraints
- 38b9693fd984 9.2.0 cited
Attachments
- node-support-cleanup-v1.patch (text/plain) patch v1
I observed these inconsistencies in node support functions: - _copyReassignOwnedStmt() uses COPY_SCALAR_FIELD() on the string field "newrole", and _equalReassignOwnedStmt() uses COMPARE_NODE_FIELD(). - _outCreateForeignTableStmt() calls _outCreateStmt() directly. This produces the label "CREATEFOREIGNTABLESTMTCREATESTMT". The attached patch splits things out the way we normally do in outfuncs.c. There's no readfuncs.c support, so this is strictly cosmetic. - _outColumnDef() uses WRITE_INT_FIELD for the "storage" field, a char. Again, no readfuncs.c support to create a compatibility problem. - _copyRenameStmt() and _equalRenameStmt() ignore the "relationType" field, but I can't see a good reason to do so. PostgreSQL 9.1 added this field, but only recent master (after commit 38b9693f of 3 April 2012) references the field beyond setting it in the parser. - _copyViewStmt() and _equalViewStmt() ignore the "options" field, and _equalColumnDef() ignores "fdwoptions". These are new in PostgreSQL 9.2, and I see no good reason to ignore them. I'd suggest backpatching the ReassignOwnedStmt() bits; the wrong code could produce crashes. The rest are for master only. Thanks, nm