error 23000 is not treated in psqlODBC
От | Support |
---|---|
Тема | error 23000 is not treated in psqlODBC |
Дата | |
Msg-id | 000901c2d12a$8b718720$1afaabc8@insyde обсуждение исходный текст |
Список | 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.
В списке pgsql-odbc по дате отправления: