----- Original Message -----
From: "Support" <support@insyde.com.br>
To: "Support" <support@insyde.com.br>
Sent: Tuesday, February 04, 2003 4:41 PM
Subject: Re: [ODBC] problem on treatment when add a duplicate primary key
>
> ----- Original Message -----
> From: "Support" <support@insyde.com.br>
> To: <pgsql-odbc@postgresql.org>
> Sent: Tuesday, February 04, 2003 8:46 AM
> Subject: [ODBC] problem on treatment when add a duplicate primary key
>
>
> > Hi,
> > I'm getting an error when I try to insert a duplicated value in
> > a primary key or unique index.
> > I know I can't insert so I'll explain the thing:
> >
> > When I insert the first time the row, it works
> > but if I try to re-insert it simply crashes my application,
> > giving me errors that I couldn't treat (I can treat this error in
> > MSSQL ODBC Driver and MySQL ODBC Driver).
> >
> > Browsing the source I found that this was missing (please correct if
> wrong):
> >
> > environ.c
> >
> > case ERROR_DUPLICATED_ENTRY:
> > pg_sqlstate_set(env, szSqlState, "23000", ??????);
> > // entry already exists
> > break;
> > case ERROR_DUPLICATED_KEY:
> > pg_sqlstate_set(env, szSqlState, "23000", ???????);
> > // key already exists
> > break;
> > (didn't find the second code yet. What is it?)
> > statement.h
> >
> > #define ERRROR_DUPLICATED_ENTRY 34
> > #define ERRROR_DUPLICATED_KEY 35
> > (next numbers of the sequence)
> >
> > I'm still investigating, but if any of you know about it,
> > let me know.
> >
> > I also don't know if ERRROR_DUPLICATED_ENTRY
> > and ERRROR_DUPLICATED_KEY are valid return codes
> > and where to put them. If someone can help.
> >
> > TIA,
> > Ricardo
>
> Sorry, environ.c should be:
> environ.c
>
> case ERROR_DUPLICATED_ENTRY:
> pg_sqlstate_set(szSqlState, "23000", "23000"/*(?)*/);
> // entry already exists
> break;
> case ERROR_DUPLICATED_KEY:
> pg_sqlstate_set(szSqlState, "23000", "23000"/*(?)*/);
> // key already exists
> break;
>
> without "env"
>
> Ricardo.
>
>
>