Change CREATE TABLE so that column default expressions coming from different
authorTom Lane <[email protected]>
Tue, 6 Oct 2009 00:55:26 +0000 (00:55 +0000)
committerTom Lane <[email protected]>
Tue, 6 Oct 2009 00:55:26 +0000 (00:55 +0000)
commite0c433c4a34efa6ec2ca216d201cf5dfd8515a36
tree00c79f57f583aad6591b1dc1494f3b24af329272
parent051168b6ac7429e2d9405e2b15998c3568d666e8
Change CREATE TABLE so that column default expressions coming from different
inheritance parent tables are compared using equal(), instead of doing
strcmp() on the nodeToString representation.  The old implementation was
always a tad cheesy, and it finally fails completely as of 8.4, now that the
node tree might contain syntax location information.  equal() knows it's
supposed to ignore those fields, but strcmp() hardly can.  Per recent
report from Scott Ribe.
src/backend/commands/tablecmds.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/parser/parse_utilcmd.c
src/include/nodes/parsenodes.h
src/test/regress/expected/inherit.out
src/test/regress/sql/inherit.sql