mirror of
https://github.com/psycopg/psycopg2.git
synced 2025-02-07 12:50:32 +03:00
PostgreSQL database adapter for the Python programming language
* psycopg/pqpath.c (pq_execute_command_locked): add an error argument to hold an error when no PGresult is returned by PQexec, rather than using pq_set_critical(). (pq_complete_error): new function that converts the error returned by pq_execute_command_locked() to a Python exception. (pq_begin_locked): add error argument. (pq_commit): use pq_complete_error(). (pq_abort): use pq_complete_error(). (pq_abort_locked): always call pq_set_critical() on error, and clear the error message from pq_execute_command_locked(). (pq_execute): use pq_complete_error() to handle the error from pq_begin_locked(). * psycopg/pqpath.c (pq_begin): remove unused function. * psycopg/connection_type.c (psyco_conn_commit): if conn_commit() raises an error, just return NULL, since it is now setting an exception itself. (psyco_conn_rollback): same here. * psycopg/connection_int.c (conn_commit): don't drop GIL and lock connection before calling pq_commit(). (conn_rollback): same here. (conn_close): use pq_abort_locked(). (conn_switch_isolation_level): same here. (conn_set_client_encoding): same here. * psycopg/pqpath.h: add prototype for pq_abort_locked(). * psycopg/pqpath.c (pq_commit): convert function to run with GIL held, and handle errors appropriately. (pq_abort): same here. (pq_abort_locked): new function to abort a locked connection. 2007-12-22 James Henstridge <james@jamesh.id.au> * psycopg/pqpath.c (pq_raise): add a "pgres" argument so we can generate nice errors not related to a particular cursor. (pq_execute): use pq_begin_locked() rather than pq_begin(). Use pq_raise() to handle any errors from it. * psycopg/pqpath.c (pq_execute_command_locked): helper function used to execute a command-style query on a locked connection. (pq_begin_locked): a variant of pq_begin() that uses pq_execute_command_locked(). (pq_begin): rewrite to use pq_begin_locked(). |
||
---|---|---|
debian | ||
doc | ||
examples | ||
lib | ||
psycopg | ||
psycopg2da | ||
sandbox | ||
scripts | ||
tests | ||
ZPsycopgDA | ||
AUTHORS | ||
ChangeLog | ||
INSTALL | ||
LICENSE | ||
Makefile | ||
MANIFEST.in | ||
NEWS | ||
psycopg2.mdp | ||
psycopg2.mds | ||
psycopg2.usertasks | ||
README | ||
setup.cfg | ||
setup.py |
psycopg - Python-PostgreSQL Database Adapter ******************************************** psycopg is a PostgreSQL database adapter for the Python programming language. This is version 2, a complete rewrite of the original code to provide new-style classes for connection and cursor objects and other sweet candies. Like the original, psycopg 2 was written with the aim of being very small and fast, and stable as a rock. psycopg is different from the other database adapter because it was designed for heavily multi-threaded applications that create and destroy lots of cursors and make a conspicuous number of concurrent INSERTs or UPDATEs. psycopg 2 also provide full asycronous operations for the really brave programmer. There are confirmed reports of psycopg 1.x compiling and running on Linux and FreeBSD on i386, Solaris, MacOS X and win32 architectures. psycopg 2 does not introduce build-wise incompatible changes so it should be able to compile on all architectures just as its predecessor did. Now go read the INSTALL file. More information about psycopg extensions to the DBAPI-2.0 is available in the files located in the doc/ direcory. psycopg is free software ("free as in freedom" but I like beer too.) Licensing information is available in the LICENSE file. Contributors ------------ A short list of contributors to psycopg2 follows (if you feel you belong to this list and you can't find yourself here just drop me a mail): * Kudos to piro for all the documentation work. * Peter Fein contributed a logging connection/cursor class that even if it was not used directly heavily influenced the implementation currently in psycopg2.extras.