Thread: ODBC Driver Error - prepared statement broken after execution error

ODBC Driver Error - prepared statement broken after execution error

From
Vladimir Romanov
Date:
Hello!

I found some problem in ODBC Driver. How to reproduce
1) Prepare statement
2) Do some calls to get for sample "duplicate primary key error"
3) After this every call o this statement return error.
4) Other statements can be executed w/o problems

db_insert(1,1); //ok
db_insert(1,2); //error
db_insert(2,3); //error
db_select(2,&value); //ok

Error log:
Retcode [-1] when executing SQLExecute(stmt_insert)
Error [-1] in SQLExecute(stmt_insert)ERROR:
[unixODBC]ERROR: duplicate key value violates unique constraint "bench_pk"
Key (id)=(1) already exists.;
Error while executing the query
ODBC Error/Warning = 23505, Additional Error/Warning = 7

Retcode [-1] when executing SQLExecute(stmt_insert)
Error [-1] in SQLExecute(stmt_insert)ERROR:
[unixODBC]Error while executing the query
ODBC Error/Warning = S1000, Additional Error/Warning = 7


--
Vladimir Romanov

Re: ODBC Driver Error - prepared statement broken after execution error

From
"Inoue, Hiroshi"
Date:
Hi Vladimir,

(2014/09/05 15:07), Vladimir Romanov wrote:
> Hello!
>
> I found some problem in ODBC Driver. How to reproduce
> 1) Prepare statement
> 2) Do some calls to get for sample "duplicate primary key error"
> 3) After this every call o this statement return error.
> 4) Other statements can be executed w/o problems
>
> db_insert(1,1); //ok
> db_insert(1,2); //error
> db_insert(2,3); //error
> db_select(2,&value); //ok

Maybe this bug was already fixed in the current git.

regards,
Hiroshi Inoue

>
>
> Error log:
>
> Retcode [-1] when executing SQLExecute(stmt_insert)
> Error [-1] in SQLExecute(stmt_insert)ERROR:
> [unixODBC]ERROR: duplicate key value violates unique constraint "bench_pk"
> Key (id)=(1) already exists.;
> Error while executing the query
> ODBC Error/Warning = 23505, Additional Error/Warning = 7
>
>
> Retcode [-1] when executing SQLExecute(stmt_insert)
>
> Error [-1] in SQLExecute(stmt_insert)ERROR:
> [unixODBC]Error while executing the query
> ODBC Error/Warning = S1000, Additional Error/Warning = 7
>
>
> test source - https://github.com/vvromanov/db_test
>
> --
> Vladimir Romanov


--
I am using the free version of SPAMfighter.
SPAMfighter has removed 12512 of my spam emails to date.
Get the free SPAMfighter here: http://www.spamfighter.com/len

Do you have a slow PC? Try a Free scan
http://www.spamfighter.com/SLOW-PCfighter?cid=sigen