From 2e4d3e65e36df97ee4a7f443ccb02807be28fad6 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 30 May 2014 12:27:42 -0400 Subject: [PATCH] - changelog + docs for pg8000 transaction isolation level --- doc/build/changelog/changelog_09.rst | 8 +++++++ lib/sqlalchemy/dialects/postgresql/base.py | 11 +++++++-- lib/sqlalchemy/dialects/postgresql/pg8000.py | 24 +++++++++++++++++++ .../dialects/postgresql/psycopg2.py | 6 +++++ 4 files changed, 47 insertions(+), 2 deletions(-) diff --git a/doc/build/changelog/changelog_09.rst b/doc/build/changelog/changelog_09.rst index 9eb43a3671..3e1e062264 100644 --- a/doc/build/changelog/changelog_09.rst +++ b/doc/build/changelog/changelog_09.rst @@ -14,6 +14,14 @@ .. changelog:: :version: 0.9.5 + .. change:: + :tags: feature, postgresql + :versions: 1.0.0 + :pullreq: github:88 + + Added support for AUTOCOMMIT isolation level when using the pg8000 + DBAPI. Pull request courtesy Tony Locke. + .. change:: :tags: bug, postgresql :tickets: 3021 diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index e2accfedb2..42ec19c206 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -73,8 +73,15 @@ Valid values for ``isolation_level`` include: * ``REPEATABLE READ`` * ``SERIALIZABLE`` -The :mod:`~sqlalchemy.dialects.postgresql.psycopg2` dialect also offers the special level ``AUTOCOMMIT``. See -:ref:`psycopg2_isolation_level` for details. +The :mod:`~sqlalchemy.dialects.postgresql.psycopg2` and +:mod:`~sqlalchemy.dialects.postgresql.pg8000` dialects also offer the +special level ``AUTOCOMMIT``. + +.. seealso:: + + :ref:`psycopg2_isolation_level` + + :ref:`pg8000_isolation_level` .. _postgresql_schema_reflection: diff --git a/lib/sqlalchemy/dialects/postgresql/pg8000.py b/lib/sqlalchemy/dialects/postgresql/pg8000.py index edb1afc390..8ed7c9423d 100644 --- a/lib/sqlalchemy/dialects/postgresql/pg8000.py +++ b/lib/sqlalchemy/dialects/postgresql/pg8000.py @@ -25,6 +25,30 @@ in postgresql.conf). Set the "encoding" parameter on create_engine(), to the same as the client encoding, usually "utf-8". +.. _pg8000_isolation_level: + +pg8000 Transaction Isolation Level +------------------------------------- + +The pg8000 dialect offers the same isolation level settings as that +of the :ref:`psycopg2 ` dialect: + +* ``READ COMMITTED`` +* ``READ UNCOMMITTED`` +* ``REPEATABLE READ`` +* ``SERIALIZABLE`` +* ``AUTOCOMMIT`` + +.. versionadded:: 0.9.5 support for AUTOCOMMIT isolation level when using + pg8000. + +.. seealso:: + + :ref:`postgresql_isolation_level` + + :ref:`psycopg2_isolation_level` + + """ from ... import util, exc import decimal diff --git a/lib/sqlalchemy/dialects/postgresql/psycopg2.py b/lib/sqlalchemy/dialects/postgresql/psycopg2.py index 6867650c5c..25fafa59c6 100644 --- a/lib/sqlalchemy/dialects/postgresql/psycopg2.py +++ b/lib/sqlalchemy/dialects/postgresql/psycopg2.py @@ -144,6 +144,12 @@ The psycopg2 dialect supports these constants for isolation level: .. versionadded:: 0.8.2 support for AUTOCOMMIT isolation level when using psycopg2. +.. seealso:: + + :ref:`postgresql_isolation_level` + + :ref:`pg8000_isolation_level` + NOTICE logging --------------- -- 2.47.3