PostgreSQL database adapter for the Python programming language
Go to file
James Henstridge d190d5918a 2007-12-23 James Henstridge <james@jamesh.id.au>
* 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().
2008-01-10 06:14:20 +00:00
debian Debian release 2.0.5.1-2. 2006-10-03 00:23:57 +00:00
doc Added a cursor subclass example. 2006-01-12 17:41:00 +00:00
examples Various fixes, now all examples work. 2007-04-13 14:07:11 +00:00
lib Added name parameters to .cursor() calls in extras. 2007-09-01 09:32:42 +00:00
psycopg 2007-12-23 James Henstridge <james@jamesh.id.au> 2008-01-10 06:14:20 +00:00
psycopg2da psycopg2da: better pattern matching for Retry exceptions; it is now compatible with postgresql 8.0, 8.1 and 8.2 exception messages. 2007-03-25 03:39:23 +00:00
sandbox Added support for NULL in arrays (closes: #154) 2007-01-19 14:08:06 +00:00
scripts Added aync.txt to distribution. 2005-11-29 12:01:46 +00:00
tests Added 'make check' target, running all the available tests. 2007-11-11 10:40:12 +00:00
ZPsycopgDA DA version patch. 2007-12-21 00:45:01 +00:00
AUTHORS Undo of wrong commit of 1.1.x source code over 2.x. 2004-10-29 16:15:45 +00:00
ChangeLog 2007-12-23 James Henstridge <james@jamesh.id.au> 2008-01-10 06:14:20 +00:00
INSTALL Aggressive threading on fetch (and a new bug!) 2007-09-19 13:39:48 +00:00
LICENSE Fixed problem with "fractionary" time zones (Closes: #78). 2005-12-11 07:50:27 +00:00
Makefile Added 'make check' target, running all the available tests. 2007-11-11 10:40:12 +00:00
MANIFEST.in Fixed both Python 2.5 and 64 bit problems. 2007-04-10 06:36:18 +00:00
NEWS Patchset copy_expert 1/5. 2007-05-29 08:13:40 +00:00
psycopg2.mdp DA version patch. 2007-12-21 00:45:01 +00:00
psycopg2.mds Aggressive threading on fetch (and a new bug!) 2007-09-19 13:39:48 +00:00
psycopg2.usertasks Aggressive threading on fetch (and a new bug!) 2007-09-19 13:39:48 +00:00
README Fixing SVN transition. 2006-03-30 02:20:11 +00:00
setup.cfg Aggressive threading on fetch (and a new bug!) 2007-09-19 13:39:48 +00:00
setup.py Various fixes, now all examples work. 2007-04-13 14:07:11 +00:00

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.