Re: sqlstate is HY000 for not_null_violation

From: ning <mailxiening(at)gmail(dot)com>
To: Hiroshi Inoue <inoue(at)tpf(dot)co(dot)jp>
Cc: pgsql-odbc(at)postgresql(dot)org
Subject: Re: sqlstate is HY000 for not_null_violation
Date: 2009-08-27 04:28:28
Message-ID: 27f31620908262128m5ea33c76x477e016ca51d89c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Thank you Inoue-san,

By setting in odbc.ini,
Protocol = 7.4
I got sqlstate=23502 from SQLGetDiagRec() as expected.

Since I am using psqlodbc08.02.0400 with unixODBC connecting to
PostgreSQL8.2.4, I think that setting Protocol=8.2.4 is also
reasonable, but that is not true, I got "HY000" by setting to 8.2.4.
I cannot find information about available protocol numbers, could you
help to give a clue?

Greetings,
ning

On Sun, Aug 23, 2009 at 6:26 PM, Hiroshi Inoue<inoue(at)tpf(dot)co(dot)jp> wrote:
> ning wrote:
>>
>> Hi,
>>
>> I am using psqlodbc08.02.0400 with unixODBC connecting to PostgreSQL8.2.4.
>>
>> For not_null_violation error, like
>> db=# create temp table ooid (oid_ integer not null);
>> CREATE TABLE
>> db=# insert into ooid values(NULL);
>> ERROR:  null value in column "oid_" violates not-null constraint
>>
>> The sqlstate returned by SQLGetDiagRec() is HY000, the message is
>> SQLSTATE=HY000;SQLCODE=7;ERROR:  null value in column "oid_" violates
>> not-null constraint;Error while executing the query
>>
>> which should be SQLSTATE=23502 according to
>> http://www.postgresql.org/docs/8.2/static/errcodes-appendix.html
>>
>> Any idea to get 23502 instead of HY000?
>
> Which protocol option are you setting ?
> You should set the 7.4+ protocol option.
>
> regards,
> Hiroshi Inoue
>

In response to

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Hiroshi Inoue 2009-08-27 11:39:22 Re: Error in psqlodbc configuration
Previous Message isharasjc 2009-08-26 09:34:30 Error in psqlodbc configuration