Re: small dblink patch - Mailing list pgsql-patches

From Tom Lane
Subject Re: small dblink patch
Date
Msg-id 13669.1022515795@sss.pgh.pa.us
Whole thread Raw
In response to small dblink patch  (Joe Conway <mail@joeconway.com>)
List pgsql-patches
Joe Conway <mail@joeconway.com> writes:
> Please apply the attached small patch, which fixes a schema related
> issue with several dblink functions.
> - If the same relation exists in multiple schema, current sources fail
> to resolve an unqualified relname.
> - Current sources do not allow schema qualified names.

This isn't going to fix the problem --- all the functions are still
declared to take type NAME, which will not be long enough for qualified
names.  You need to replace the use of NAME with use of TEXT.

> The patch fixes both issues by using the (relatively new) regclassin()
> function to resolve the relname to an Oid.

I don't particularly care for that answer.  Would instead suggest you
borrow the coding now being used in sequence.c and other places where
text arguments are interpreted as relation names:

    text       *seqin = PG_GETARG_TEXT_P(0);
    RangeVar   *sequence;
    Oid         relid;

    sequence = makeRangeVarFromNameList(textToQualifiedNameList(seqin,
                                                                "nextval"));

    relid = RangeVarGetRelid(sequence, false);
    // or better, do heap_openrv directly

            regards, tom lane

pgsql-patches by date:

Previous
From: Joe Conway
Date:
Subject: small dblink patch
Next
From: Neil Conway
Date:
Subject: COPY and default values