dblink_build_sql_update versus dropped columns

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Joe Conway <mail(at)joeconway(dot)com>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: dblink_build_sql_update versus dropped columns
Date: 2010-06-14 17:58:06
Message-ID: 16276.1276538286@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

A recent bug report
http://archives.postgresql.org/pgsql-admin/2010-06/msg00101.php
shows that dblink_build_sql_update and friends are really not all there
when it comes to dealing with dropped columns in the target table.
The immediate cause of the reported crash is just an internal matter,
but while looking at it I realized that there is also an API issue:
are the column numbers in the passed-in primary_key_attnums array to be
taken as logical or physical attnums? If the user extracted the array
from a pg_index entry then they are physical attnums, but if he just
writes the array by hand then they are probably logical numbers, ie,
they would not count any dropped columns appearing before the PK
columns.

I suspect the point has never come up before because PKs are commonly
the first columns anyway.

The current effective behavior of the code is that the column numbers
are physical numbers. Should we document it that way, or change it?

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Joe Conway 2010-06-14 18:05:54 Re: dblink_build_sql_update versus dropped columns
Previous Message Simon Riggs 2010-06-14 17:38:40 Re: warning message in standby