From: Mike Bayer Date: Sun, 16 Jun 2013 02:58:04 +0000 (-0400) Subject: - changelog X-Git-Tag: rel_0_8_2~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7e6112d0f973f98659397de598cf47ae2043061;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - changelog - docs Conflicts: doc/build/changelog/changelog_09.rst --- diff --git a/doc/build/changelog/changelog_08.rst b/doc/build/changelog/changelog_08.rst index ffb2a24d42..1eed675eb3 100644 --- a/doc/build/changelog/changelog_08.rst +++ b/doc/build/changelog/changelog_08.rst @@ -6,6 +6,14 @@ .. changelog:: :version: 0.8.2 + .. change:: + :tags: feature, postgresql + :tickets: 2072 + + Added support for "AUTOCOMMIT" isolation when using the psycopg2 + DBAPI. The keyword is available via the ``isolation_level`` + execution option. Patch courtesy Roman Podolyaka. + .. change:: :tags: bug, orm :tickets: 2759 diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index 1acdb57b90..49f097c580 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -47,7 +47,7 @@ Transaction Isolation Level :func:`.create_engine` accepts an ``isolation_level`` parameter which results in the command ``SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL `` being invoked for every new connection. Valid values for this -parameter are ``READ COMMITTED``, ``READ UNCOMMITTED``, ``REPEATABLE READ``, +parameter include ``READ COMMITTED``, ``READ UNCOMMITTED``, ``REPEATABLE READ``, and ``SERIALIZABLE``:: engine = create_engine( @@ -57,7 +57,8 @@ and ``SERIALIZABLE``:: When using the psycopg2 dialect, a psycopg2-specific method of setting transaction isolation level is used, but the API of ``isolation_level`` -remains the same - see :ref:`psycopg2_isolation`. +remains the same. The psycopg2 dialect also includes support +for ``AUTOCOMMIT`` isolation - see :ref:`psycopg2_isolation`. Remote / Cross-Schema Table Introspection diff --git a/lib/sqlalchemy/dialects/postgresql/psycopg2.py b/lib/sqlalchemy/dialects/postgresql/psycopg2.py index 2d475ccda0..188fb3c11a 100644 --- a/lib/sqlalchemy/dialects/postgresql/psycopg2.py +++ b/lib/sqlalchemy/dialects/postgresql/psycopg2.py @@ -61,7 +61,11 @@ The following DBAPI-specific options are respected when used with * isolation_level - Set the transaction isolation level for the lifespan of a :class:`.Connection` (can only be set on a connection, not a statement or query). This includes the options ``SERIALIZABLE``, ``READ COMMITTED``, - ``READ UNCOMMITTED`` and ``REPEATABLE READ``. + ``READ UNCOMMITTED``, ``REPEATABLE READ``, and ``AUTOCOMMIT``. + + .. versionadded:: 0.8.2 support for AUTOCOMMIT isolation level when using + psycopg2. + * stream_results - Enable or disable usage of server side cursors. If ``None`` or not set, the ``server_side_cursors`` option of the :class:`.Engine` is used.