Re: Clarification of certain SQLSTATE class

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: gabrielle <gorthx(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Clarification of certain SQLSTATE class
Date: 2013-01-25 00:11:48
Message-ID: 28998.1359072708@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

gabrielle <gorthx(at)gmail(dot)com> writes:
> I'm working with some DB2 users, converting them to Pg, and I'm a bit
> confused about a certain class of SQLSTATE codes, specifically 02xxx "No
> data" (http://www.postgresql.org/docs/9.2/static/errcodes-appendix.html)

> As an example: I enable %e in log_line_prefix so I can see the SQLSTATE
> values. I run an UPDATE against a non-existent row, and find that my
> SQLSTATE value is 00000, indicating success. I understand that this could
> be considered a 'success' because the query didn't actually throw an error;
> but, based on the spec, I expected to see a SQLSTATE of 02000.

> I thought that Pg always generated an appropriate SQLSTATE code, and that
> it was just up to $client code to pick up that value, but that doesn't seem
> to be the case. Is this part of the SQL standard we don't implement?

Yup.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2013-01-25 00:18:32 Re: autovacuum not prioritising for-wraparound tables
Previous Message Dimitri Fontaine 2013-01-25 00:08:09 Re: .gitignore additions