Re: pltcl - "Cache lookup for attribute" error - version - Mailing list pgsql-patches

From Jan Wieck
Subject Re: pltcl - "Cache lookup for attribute" error - version
Date
Msg-id 40117E2F.5090608@Yahoo.com
Whole thread Raw
In response to Re: pltcl - "Cache lookup for attribute" error - version 2  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: pltcl - "Cache lookup for attribute" error - version
List pgsql-patches
Tom Lane wrote:

> Jan Wieck <JanWieck@Yahoo.com> writes:
>> When assigning a tuple to an array, PL/Tcl creates one extra array
>> element .tupno telling the SPI_tuptable index of the result tuple. I
>> think I originally planned to have more of these critters ... but
>> probably never really needed them. It is in there since 6.3!
>
>> Bottom line is, if one has a trigger, and inside the trigger he does an
>> SPI_exec, fetches a tuple into an array and then returns [array get x]
>> instead of new or old ... so from the back through the right chest into
>> the left eye ... then it will fail if the .tupno isn't filtered out.
>
> Hm.  Perhaps we should tighten the test to reject only ".tupno", rather
> than any name starting with dot?

Man you have worries ... aren't people who use identifiers with a
leading dot supposed to have problems? What about changing it to ..
instead? I mean, how does such a thing look like?

     SELECT ".. some column .." FROM ".. the schema ..".".. a table .."
         WHERE ".. the schema ..".".. a table ..".".. some column .."
         IN ('.oh.', '.give.', '.me.', '.a.', '.break!');

If you like to, tighten it.


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #


pgsql-patches by date:

Previous
From: Neil Conway
Date:
Subject: cleanup psql memory handling
Next
From: Tom Lane
Date:
Subject: Re: pltcl - "Cache lookup for attribute" error - version 2