>From Martijn van Oosterhout:

> Hmm, it only happens when you send the whole lot in a single query
> strings. That's not recommended IIRC.

And from Tom Lane:

> When you send multiple commands in a single query string, the entire
> string is thrown away after an error.  That's how it's always worked,
> and I believe it's well-documented.  There are apps that (mis?)use this
> fact.

OK, so I think I understand now. I'd earlier seen errors in multi-statement
strings and this problem didn't happen. But those errors were with
constraints that were deferred, so the error wasn't generated until the
commit was being processed, so the transaction block was terminated. While
this error (string too long for varchar column) happens as soon as the
insert is handled and the commit is never seen.

And as for:

> Will, it's definitly repeatable:

I suppose psql sends either a commit or rollback after the query generates
the error, maybe after every query, so my attempt to use it to check this
wasn't a valid test.

Thanks for the help.


-- 
Scott Ribe
[EMAIL PROTECTED]
http://www.killerbytes.com/
(303) 665-7007 voice


---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to