summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Henstridge <james@jamesh.id.au>2008-01-19 02:16:57 +0000
committerJames Henstridge <james@jamesh.id.au>2008-01-19 02:16:57 +0000
commit11b017fcbe54a0e25be34c1b960d1eba3e484fc5 (patch)
treefe037225859284788be4ef623d6f1d9a7d0324a2
parente744242fe103f22bf266fd1b81ffd706df5cec24 (diff)
downloadpsycopg2-11b017fcbe54a0e25be34c1b960d1eba3e484fc5.tar.gz
* psycopg/pqpath.c (pq_raise): remove unused arguments to
function, and simplify. (pq_resolve_critical): make function static, since it isn't being used outside of pqpath.c any more.
-rw-r--r--ChangeLog7
-rw-r--r--psycopg/pqpath.c50
-rw-r--r--psycopg/pqpath.h1
3 files changed, 21 insertions, 37 deletions
diff --git a/ChangeLog b/ChangeLog
index 1678b26..f2775eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-01-19 James Henstridge <james@jamesh.id.au>
+
+ * psycopg/pqpath.c (pq_raise): remove unused arguments to
+ function, and simplify.
+ (pq_resolve_critical): make function static, since it isn't being
+ used outside of pqpath.c any more.
+
2008-01-17 James Henstridge <james@jamesh.id.au>
* ZPsycopgDA/DA.py (Connection.__init__): Default the encoding to
diff --git a/psycopg/pqpath.c b/psycopg/pqpath.c
index 02f7be5..27c29f7 100644
--- a/psycopg/pqpath.c
+++ b/psycopg/pqpath.c
@@ -145,15 +145,13 @@ exception_from_sqlstate(const char *sqlstate)
This function should be called while holding the GIL. */
static void
-pq_raise(connectionObject *conn, cursorObject *curs, PGresult *pgres,
- PyObject *exc, const char *msg)
+pq_raise(connectionObject *conn, cursorObject *curs, PGresult *pgres)
{
PyObject *pgc = (PyObject*)curs;
-
+ PyObject *exc = NULL;
const char *err = NULL;
const char *err2 = NULL;
const char *code = NULL;
- char *buf = NULL;
if ((conn == NULL && curs == NULL) || (curs != NULL && conn == NULL)) {
PyErr_SetString(Error, "psycopg went psycotic and raised a null error");
@@ -182,10 +180,9 @@ pq_raise(connectionObject *conn, cursorObject *curs, PGresult *pgres,
return;
}
- /* if exc is NULL, analyze the message and try to deduce the right
- exception kind (only if we got the SQLSTATE from the pgres,
- obviously) */
- if (exc == NULL && code != NULL) {
+ /* Analyze the message and try to deduce the right exception kind
+ (only if we got the SQLSTATE from the pgres, obviously) */
+ if (code != NULL) {
exc = exception_from_sqlstate(code);
}
@@ -207,26 +204,7 @@ pq_raise(connectionObject *conn, cursorObject *curs, PGresult *pgres,
/* try to remove the initial "ERROR: " part from the postgresql error */
err2 = strip_severity(err);
- /* if msg is not NULL, add it to the error message, after a '\n' */
- if (msg && code) {
- size_t len = strlen(code) + strlen(err) + strlen(msg) + 5;
- if ((buf = PyMem_Malloc(len))) {
- snprintf(buf, len, "[%s] %s\n%s", code, err2, msg);
- psyco_set_error(exc, pgc, buf, err, code);
- }
- }
- else if (msg) {
- size_t len = strlen(err) + strlen(msg) + 2;
- if ((buf = PyMem_Malloc(len))) {
- snprintf(buf, len, "%s\n%s", err2, msg);
- psyco_set_error(exc, pgc, buf, err, code);
- }
- }
- else {
- psyco_set_error(exc, pgc, err2, err, code);
- }
-
- if (buf != NULL) PyMem_Free(buf);
+ psyco_set_error(exc, pgc, err2, err, code);
}
/* pq_set_critical, pq_resolve_critical - manage critical errors
@@ -265,7 +243,7 @@ pq_clear_critical(connectionObject *conn)
}
}
-PyObject *
+static PyObject *
pq_resolve_critical(connectionObject *conn, int close)
{
Dprintf("pq_resolve_critical: resolving %s", conn->critical);
@@ -363,7 +341,7 @@ pq_complete_error(connectionObject *conn, PGresult **pgres, char **error)
Dprintf("pq_complete_error: pgconn = %p, pgres = %p, error = %s",
conn->pgconn, *pgres, *error ? *error : "(null)");
if (*pgres != NULL)
- pq_raise(conn, NULL, *pgres, NULL, NULL);
+ pq_raise(conn, NULL, *pgres);
else if (*error != NULL) {
PyErr_SetString(OperationalError, *error);
free(*error);
@@ -865,7 +843,7 @@ _pq_copy_in_v3(cursorObject *curs)
IFCLEARPGRES(curs->pgres);
while ((curs->pgres = PQgetResult(curs->conn->pgconn)) != NULL) {
if (PQresultStatus(curs->pgres) == PGRES_FATAL_ERROR)
- pq_raise(curs->conn, curs, NULL, NULL, NULL);
+ pq_raise(curs->conn, curs, NULL);
IFCLEARPGRES(curs->pgres);
}
@@ -899,7 +877,7 @@ _pq_copy_in(cursorObject *curs)
IFCLEARPGRES(curs->pgres);
while ((curs->pgres = PQgetResult(curs->conn->pgconn)) != NULL) {
if (PQresultStatus(curs->pgres) == PGRES_FATAL_ERROR)
- pq_raise(curs->conn, curs, NULL, NULL, NULL);
+ pq_raise(curs->conn, curs, NULL);
IFCLEARPGRES(curs->pgres);
}
@@ -936,7 +914,7 @@ _pq_copy_out_v3(cursorObject *curs)
}
if (len == -2) {
- pq_raise(curs->conn, NULL, NULL, NULL, NULL);
+ pq_raise(curs->conn, curs, NULL);
return -1;
}
@@ -944,7 +922,7 @@ _pq_copy_out_v3(cursorObject *curs)
IFCLEARPGRES(curs->pgres);
while ((curs->pgres = PQgetResult(curs->conn->pgconn)) != NULL) {
if (PQresultStatus(curs->pgres) == PGRES_FATAL_ERROR)
- pq_raise(curs->conn, curs, NULL, NULL, NULL);
+ pq_raise(curs->conn, curs, NULL);
IFCLEARPGRES(curs->pgres);
}
return 1;
@@ -995,7 +973,7 @@ _pq_copy_out(cursorObject *curs)
IFCLEARPGRES(curs->pgres);
while ((curs->pgres = PQgetResult(curs->conn->pgconn)) != NULL) {
if (PQresultStatus(curs->pgres) == PGRES_FATAL_ERROR)
- pq_raise(curs->conn, curs, NULL, NULL, NULL);
+ pq_raise(curs->conn, curs, NULL);
IFCLEARPGRES(curs->pgres);
}
@@ -1130,7 +1108,7 @@ pq_fetch(cursorObject *curs)
default:
Dprintf("pq_fetch: uh-oh, something FAILED");
- pq_raise(curs->conn, curs, NULL, NULL, NULL);
+ pq_raise(curs->conn, curs, NULL);
IFCLEARPGRES(curs->pgres);
ex = -1;
break;
diff --git a/psycopg/pqpath.h b/psycopg/pqpath.h
index e3cee11..9bb011c 100644
--- a/psycopg/pqpath.h
+++ b/psycopg/pqpath.h
@@ -39,7 +39,6 @@ extern int pq_abort(connectionObject *conn);
extern int pq_is_busy(connectionObject *conn);
extern void pq_set_critical(connectionObject *conn, const char *msg);
-extern PyObject *pq_resolve_critical(connectionObject *conn, int close);
extern int pq_execute_command_locked(connectionObject *conn,
const char *query,