On 15/07/11 07:14, Tom Lane wrote:
Alvaro Herrera<alvhe...@commandprompt.com> writes:
Excerpts from Gavin Flower's message of jue jul 14 07:45:00 -0400 2011:
Using pg 9.1beta3, I was found that running a function generated an
error relating to escaped single quotes, yet still produced the answer I
expected!
The errors are not spurious. The function doesn't exist now because it
didn't get created. What happened is that now your inserts are going
into the parent table, not the partitions as your script intended.
Possibly a more useful answer is "your function appears to be assuming
that standard_conforming_strings is OFF. As of 9.1 it's ON by default".
regards, tom lane
Thanks Tom (& Alvera),
I checked my postgresql.conf:
standard_conforming_strings = off
I had forgotten I had changed this, and had simply reussed it from earlier!
The silly thing is, that I had been treading up on partitioned tables
and had come across a comment about mistakes could lead to populating
the parent table!
If I could change the sunject of thread, I would change it to start with
'Misleading...'.
My lawyer siuggests defences of 'tiredness due ti it being late at
night' and 'poor eyesight'! :-)
(You can tell I've been reading groklaw.net way too much))
More seriously:
Could a hint be put in after the error message:
'psql:part000.sql:68: ERROR: function measurement_insert_trigger() does
not exist'
when the table has been partitioned, along the lines that 'this might
cause inserts to go into the parent table, is this intended?' or some
such? I am sure many others also get caught. This was purely an
exercise for me, but it would be more serious in production code (yes I
know things 'should' be tested properly first...).
Cheers,
Gavin
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs