Thread: pltcl - "Cache lookup for attribute" error

pltcl - "Cache lookup for attribute" error

From
Patrick Samson
Date:
I got the error message:
ERROR: pltcl: Cache lookup for attribute
'........pg.droppped.7........' type 0 failed

when a pltcl trigger handler is fired.

Attribute names beginning with a dot are filtered
just in one place, in pltcl_trigger_handler().

Attached is a patch to add the same filter
in two other places.


__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus--- pltcl.orig  2003-10-30 03:00:44.000000000 +0100
+++ pltclDotFilter.c    2004-01-21 15:24:43.625000000 +0100
@@ -2357,6 +2357,12 @@
                attname = NameStr(tupdesc->attrs[i]->attname);

                /************************************************************
+                * Ignore pseudo elements beginning with a dot name,
+                * such as "........pg.dropped.7........"
+                ************************************************************/
+               if (*attname == '.') continue;
+
+               /************************************************************
                 * Get the attributes value
                 ************************************************************/
                attr = heap_getattr(tuple, i + 1, tupdesc, &isnull);
@@ -2429,6 +2435,12 @@
                attname = NameStr(tupdesc->attrs[i]->attname);

                /************************************************************
+                * Ignore pseudo elements beginning with a dot name,
+                * such as "........pg.dropped.7........"
+                ************************************************************/
+               if (*attname == '.') continue;
+
+               /************************************************************
                 * Get the attributes value
                 ************************************************************/
                attr = heap_getattr(tuple, i + 1, tupdesc, &isnull);