Fix an ancient oversight in change_varattnos_of_a_node: it neglected to update
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 9 May 2008 22:37:41 +0000 (22:37 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 9 May 2008 22:37:41 +0000 (22:37 +0000)
commit5b12b1c3770ab8ceb072db993d1ad88fffcd40d9
tree83f70b72ea064771a7dbb473c35dae7d9e2b095d
parenteb23d8023b5d4fda60ece92d7e281c1b6c8009cb
Fix an ancient oversight in change_varattnos_of_a_node: it neglected to update
varoattno along with varattno.  This resulted in having Vars that were not
seen as equal(), causing inheritance of the "same" constraint from different
parent relations to fail.  An example is

create table pp1 (f1 int check (f1>0));
create table cc1 (f2 text, f3 int) inherits (pp1);
create table cc2(f4 float) inherits(pp1,cc1);

Backpatch as far as 7.4.  (The test case still fails in 7.4, for reasons
that I don't feel like investigating at the moment.)

This is a backpatch commit only.  The fix will be applied in HEAD as part
of the upcoming pg_constraint patch.
src/backend/commands/tablecmds.c