Re: BUG #2917: spi_prepare doesn't accept typename aliases - Mailing list pgsql-hackers

From Tom Lane
Subject Re: BUG #2917: spi_prepare doesn't accept typename aliases
Date
Msg-id 24128.1169825468@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #2917: spi_prepare doesn't accept typename aliases  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: BUG #2917: spi_prepare doesn't accept typename aliases
List pgsql-hackers
Andrew Dunstan <andrew@dunslane.net> writes:
> see attached patch.  If this is OK I will apply it and also fix pltcl 
> and plpython similarly, mutatis mutandis.

Looks alright as far as it goes, but I'd suggest making one additional
cleanup while you're in there: get rid of the direct syscache access
altogether, instead using getTypeInputInfo().  The loop body should just
consist of three function calls: parseTypeString, getTypeInputInfo,
perm_fmgr_info.

If you wanted to be a bit more ambitious maybe you could change the fact
that this code is throwing away typmod, which means that declarations
like "varchar(32)" would fail to work as expected.  Perhaps it should be
fixed to save the typmods alongside the typioparams and then pass them
to InputFunctionCall instead of passing -1.  On the other hand, we don't
currently enforce typmod for any function input or result arguments, so
maybe it's consistent that spi_prepare arguments ignore typmods too.
Thoughts?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Gregory Stark
Date:
Subject: Re: HAVING push-down
Next
From: "Simon Riggs"
Date:
Subject: Re: HAVING push-down