Re: dblink: add polymorphic functions. - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: dblink: add polymorphic functions.
Date
Msg-id CAB7nPqTi4jzD_tEXPKC7GHqBN8id92THpsS2YNDFxzvHfod_6Q@mail.gmail.com
Whole thread Raw
In response to Re: dblink: add polymorphic functions.  (Joe Conway <mail@joeconway.com>)
Responses Re: dblink: add polymorphic functions.  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-hackers
On Mon, Jul 6, 2015 at 10:00 AM, Joe Conway <mail@joeconway.com> wrote:
> I wonder if it isn't better to just loop through all the args with
> get_fn_expr_argtype() every time and then test for the exact signature
> match? Another alternative might be to create a wrapper C function for
> each variant SQL function, but that seems like it could also get
> messy, especially with dblink_record_internal() since we would have to
> deal with every variant of all the external facing callers.
> Thoughts?

Yeah, particularly the use of first_optarg makes things harder to
follow in the code with this patch. A C wrapper has the disadvantage
to decentralize the argument checks to many places making the flow
harder to follow hence using get_fn_expr_argtype() with PG_NARGS would
be the way to go, at least to me. This way, you can easily find how
many arguments there are, and which value is assigned to which
variable before moving on to the real processing.
-- 
Michael



pgsql-hackers by date:

Previous
From: Marc Mamin
Date:
Subject: 9.5 alpha: some small comments on BRIN and btree_gin
Next
From: Michael Paquier
Date:
Subject: Re: dblink: add polymorphic functions.