error 23000 is not treated in psqlODBC

From: "Support" <support(at)insyde(dot)com(dot)br>
To: <pgsql-odbc(at)postgresql(dot)org>
Subject: error 23000 is not treated in psqlODBC
Date: 2003-02-10 17:33:35
Message-ID: 000901c2d12a$8b718720$1afaabc8@insyde
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

"For example. you could have MS SQL Server and PostgreSQL servers
that have exactly the same data. Using ODBC, your Windows application
would make exactly the same calls and the back-end data source would
look the same (to the Windows application)." - PostgreSQL 7.2
Documentation - chap. 7. ODBC Interface

This should happen when I use my system. It works with MySQL and MS SQL
Server, so it would work with PostgreSQL also, without any change. The
problem I found is that psqlODBC do not validate all the error codes
specified by ODBC. The error I related should return "23000/S1010" acording
to ODBC.

Seeking psqlODBC sources, I found some of this informations/errors were
treated at environ.c, under a 'case' where most of the psqlODBC errors were
treated. Following this logic, this is where I should insert my code:

case ER_DUP_KEY:
pg_sqlstate_set(env, szSqlState, "23000", "S1010");
// key already exists
break;

This would return the error code I need to treat qhe the user tries to
insert a duplicated key.

But there is also another file where some other errors are defined
(statement.h)
where I should put:

#define ER_DUP_KEY 35 //35 is a sequence where all error that need to be
treated
//have (just add 1 to the sequence).

I found that info.c and statement.c also treat som errors, maybe I have to
code
something here?

Can anyone help me? I have also a program to test the error. If anyone
wants...

TIA,
Ricardo.

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Hiroshi Inoue 2003-02-11 00:29:33 Re: error 23000 is not treated in psqlODBC
Previous Message Giuliano Gavazzi 2003-02-10 15:49:51 Re: psqlodbc and SQLFetch after SQLTables gives