]> granicus.if.org Git - php/commitdiff
Fold PQresultErrorField() into a macro
authorEdin Kadribasic <edink@php.net>
Fri, 1 Jul 2005 22:30:55 +0000 (22:30 +0000)
committerEdin Kadribasic <edink@php.net>
Fri, 1 Jul 2005 22:30:55 +0000 (22:30 +0000)
ext/pdo_pgsql/pgsql_driver.c
ext/pdo_pgsql/pgsql_statement.c
ext/pdo_pgsql/php_pdo_pgsql_int.h

index c0ec5c9d894d5160260ad38bc8c0f24eb6d2def2..3d283fa188c6761e470bf4dd89539890e612a458 100644 (file)
@@ -160,12 +160,7 @@ static long pgsql_handle_doer(pdo_dbh_t *dbh, const char *sql, long sql_len TSRM
        } else {
                ExecStatusType qs = PQresultStatus(res);
                if (qs != PGRES_COMMAND_OK && qs != PGRES_TUPLES_OK) {
-#if HAVE_PQRESULTERRORFIELD
-                       char * sqlstate = PQresultErrorField(res, PG_DIAG_SQLSTATE);
-                       pdo_pgsql_error(dbh, qs, (const char *)sqlstate);
-#else
-                       pdo_pgsql_error(dbh, qs, NULL);
-#endif
+                       pdo_pgsql_error(dbh, qs, pdo_pgsql_sqlstate(res));
                        PQclear(res);
                        return -1;
                }
@@ -232,12 +227,7 @@ static char *pdo_pgsql_last_insert_id(pdo_dbh_t *dbh, const char *name, unsigned
                        id = estrdup((char *)PQgetvalue(res, 0, 0));
                        *len = PQgetlength(res, 0, 0);
                } else {
-#if HAVE_PQRESULTERRORFIELD
-                       char * sqlstate = PQresultErrorField(res, PG_DIAG_SQLSTATE);
-                       pdo_pgsql_error(dbh, status, (const char *)sqlstate);
-#else
-                       pdo_pgsql_error(dbh, status, NULL);
-#endif
+                       pdo_pgsql_error(dbh, status, pdo_pgsql_sqlstate(res));
                }
 
                if (res) {
index 821a0537788645cfcdb1f33c979765f631313e65..36f11beec07915b5559074372719371ed3876c92 100644 (file)
@@ -97,13 +97,7 @@ static int pgsql_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)
        status = PQresultStatus(S->result);
 
        if (status != PGRES_COMMAND_OK && status != PGRES_TUPLES_OK) {
-#if HAVE_PQRESULTERRORFIELD
-               char * sqlstate = PQresultErrorField(S->result, PG_DIAG_SQLSTATE);
-               pdo_pgsql_error_stmt(stmt, status, (const char *)sqlstate);
-#else
-               pdo_pgsql_error_stmt(stmt, status, NULL);
-#endif
-
+               pdo_pgsql_error_stmt(stmt, status, pdo_pgsql_sqlstate(S->result));
                return 0;
        }
 
@@ -151,12 +145,7 @@ static int pgsql_stmt_fetch(pdo_stmt_t *stmt,
                status = PQresultStatus(S->result);
 
                if (status != PGRES_COMMAND_OK && status != PGRES_TUPLES_OK) {
-#if HAVE_PQRESULTERRORFIELD
-                       char * sqlstate = PQresultErrorField(S->result, PG_DIAG_SQLSTATE);
-                       pdo_pgsql_error_stmt(stmt, status, (const char *)sqlstate);
-#else
-                       pdo_pgsql_error_stmt(stmt, status, NULL);
-#endif
+                       pdo_pgsql_error_stmt(stmt, status, pdo_pgsql_sqlstate(S->result));
                        return 0;
                }
 
index 54a06011a76ed250e85d77b30c0b621f4e7defb4..565638f70588f37d637e73093874f9f534d8116b 100644 (file)
@@ -22,6 +22,7 @@
 #define PHP_PDO_PGSQL_INT_H
 
 #include <libpq-fe.h>
+#include <php.h>
 
 #define PHP_PDO_PGSQL_CONNECTION_FAILURE_SQLSTATE "08006"
 
@@ -71,6 +72,12 @@ extern int _pdo_pgsql_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, int errcode, const
 
 extern struct pdo_stmt_methods pgsql_stmt_methods;
 
+#ifdef HAVE_PQRESULTERRORFIELD
+#define pdo_pgsql_sqlstate(r) PQresultErrorField(r, PG_DIAG_SQLSTATE)
+#else
+#define pdo_pgsql_sqlstate(r) (const char *)NULL
+#endif
+
 #endif /* PHP_PDO_PGSQL_INT_H */
 
 /*