Exposed connection status.

This commit is contained in:
Federico Di Gregorio 2006-09-01 08:20:11 +00:00
parent 53d10a3ddf
commit 8eb118c63f
3 changed files with 18 additions and 2 deletions

View File

@ -1,5 +1,8 @@
2006-09-01 Federico Di Gregorio <fog@initd.org> 2006-09-01 Federico Di Gregorio <fog@initd.org>
* psycopg/connection_type.c: added .status attribute to expose
the internal status.
* psycopg/pqpath.c: applied patch from intgr (#117) to fix * psycopg/pqpath.c: applied patch from intgr (#117) to fix
segfault on null queries. segfault on null queries.

View File

@ -43,14 +43,24 @@ from _psycopg import string_types, binary_types, new_type, register_type
from _psycopg import ISQLQuote from _psycopg import ISQLQuote
"""Isolation level values.""" """Isolation level values."""
ISOLATION_LEVEL_AUTOCOMMIT = 0 ISOLATION_LEVEL_AUTOCOMMIT = 0
ISOLATION_LEVEL_READ_COMMITTED = 1 ISOLATION_LEVEL_READ_COMMITTED = 1
ISOLATION_LEVEL_SERIALIZABLE = 2 ISOLATION_LEVEL_SERIALIZABLE = 2
# PostgreSQL maps the the other standard values to already defined levels # PostgreSQL maps the the other standard values to already defined levels
ISOLATION_LEVEL_REPEATABLE_READ = ISOLATION_LEVEL_SERIALIZABLE ISOLATION_LEVEL_REPEATABLE_READ = ISOLATION_LEVEL_SERIALIZABLE
ISOLATION_LEVEL_READ_UNCOMMITTED = ISOLATION_LEVEL_READ_COMMITTED ISOLATION_LEVEL_READ_UNCOMMITTED = ISOLATION_LEVEL_READ_COMMITTED
"""Transaction status values."""
STATUS_SETUP = 0
STATUS_READY = 1
STATUS_BEGIN = 2
STATUS_SYNC = 3
STATUS_ASYNC = 4
# This is a usefull mnemonic to check if the connection is in a transaction
STATUS_IN_TRANSACTION = STATUS_BEGIN
def register_adapter(typ, callable): def register_adapter(typ, callable):
"""Register 'callable' as an ISQLQuote adapter for type 'typ'.""" """Register 'callable' as an ISQLQuote adapter for type 'typ'."""

View File

@ -260,6 +260,9 @@ static struct PyMemberDef connectionObject_members[] = {
{"notifies", T_OBJECT, offsetof(connectionObject, notifies), RO}, {"notifies", T_OBJECT, offsetof(connectionObject, notifies), RO},
{"dsn", T_STRING, offsetof(connectionObject, dsn), RO, {"dsn", T_STRING, offsetof(connectionObject, dsn), RO,
"The current connection string."}, "The current connection string."},
{"status", T_LONG,
offsetof(connectionObject, status), RO,
"The current transaction status."},
#endif #endif
{NULL} {NULL}
}; };