]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fixed bug 2330: Wrong error code in case of a duplicate key
authorMichael Meskes <meskes@postgresql.org>
Sun, 19 Mar 2006 12:30:17 +0000 (12:30 +0000)
committerMichael Meskes <meskes@postgresql.org>
Sun, 19 Mar 2006 12:30:17 +0000 (12:30 +0000)
src/interfaces/ecpg/ecpglib/error.c

index 0b819518d7ccf47bcd8719bf17bfcd3bf5fa7a41..5f48fb6f2eafe06ee9a985e48a353bdd42ed892b 100644 (file)
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/error.c,v 1.10 2003/11/29 19:52:08 pgsql Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/error.c,v 1.10.4.1 2006/03/19 12:30:17 meskes Exp $ */
 
 #define POSTGRES_ECPG_INTERNAL
 #include "postgres_fe.h"
@@ -186,7 +186,7 @@ ECPGraise_backend(int line, PGresult *result, PGconn *conn, int compat)
        /* assign SQLCODE for backward compatibility */
        if (strncmp(sqlca->sqlstate, "23505", sizeof(sqlca->sqlstate)) == 0)
                sqlca->sqlcode = INFORMIX_MODE(compat) ? ECPG_INFORMIX_DUPLICATE_KEY : ECPG_DUPLICATE_KEY;
-       if (strncmp(sqlca->sqlstate, "21000", sizeof(sqlca->sqlstate)) == 0)
+       else if (strncmp(sqlca->sqlstate, "21000", sizeof(sqlca->sqlstate)) == 0)
                sqlca->sqlcode = INFORMIX_MODE(compat) ? ECPG_INFORMIX_SUBSELECT_NOT_ONE : ECPG_SUBSELECT_NOT_ONE;
        else
                sqlca->sqlcode = ECPG_PGSQL;