From: Mike Bayer Date: Mon, 3 Jun 2013 17:53:42 +0000 (-0400) Subject: - fdb is now official, [ticket:2504] X-Git-Tag: rel_0_9_0b1~302^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=82c11cc94b41323caeecc9990d1d87ed9fed4b7c;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - fdb is now official, [ticket:2504] - restore the rollback cleanup handler, pg8000 is mostly obsolete as a dialect and the firebird drivers need it --- diff --git a/doc/build/changelog/changelog_09.rst b/doc/build/changelog/changelog_09.rst index baddf7e2a9..124946b111 100644 --- a/doc/build/changelog/changelog_09.rst +++ b/doc/build/changelog/changelog_09.rst @@ -6,6 +6,15 @@ .. changelog:: :version: 0.9.0 + .. change:: + :tags: feature, firebird + :tickets: 2504 + + The ``fdb`` dialect is now the default dialect when + specified without a dialect qualifier, i.e. ``firebird://``, + per the Firebird project publishing ``fdb`` as their + official Python driver. + .. change:: :tags: feature, general :tickets: 2671 diff --git a/doc/build/changelog/migration_09.rst b/doc/build/changelog/migration_09.rst index 969bfb6245..3d7b303241 100644 --- a/doc/build/changelog/migration_09.rst +++ b/doc/build/changelog/migration_09.rst @@ -124,4 +124,16 @@ to 0.9 without issue. :ticket:`2736` +Dialect Changes +=============== + +Firebird ``fdb`` is now the default Firebird dialect. +----------------------------------------------------- + +The ``fdb`` dialect is now used if an engine is created without a dialect +specifier, i.e. ``firebird://``. ``fdb`` is a ``kinterbasdb`` compatible +DBAPI which per the Firebird project is now their official Python driver. + +:ticket:`2504` + diff --git a/doc/build/dialects/firebird.rst b/doc/build/dialects/firebird.rst index d5b6b2ffdd..d6e9726af7 100644 --- a/doc/build/dialects/firebird.rst +++ b/doc/build/dialects/firebird.rst @@ -5,12 +5,12 @@ Firebird .. automodule:: sqlalchemy.dialects.firebird.base -kinterbasdb ------------ - -.. automodule:: sqlalchemy.dialects.firebird.kinterbasdb - fdb --- .. automodule:: sqlalchemy.dialects.firebird.fdb + +kinterbasdb +----------- + +.. automodule:: sqlalchemy.dialects.firebird.kinterbasdb diff --git a/lib/sqlalchemy/dialects/firebird/__init__.py b/lib/sqlalchemy/dialects/firebird/__init__.py index 0f4853bfb7..e57457a398 100644 --- a/lib/sqlalchemy/dialects/firebird/__init__.py +++ b/lib/sqlalchemy/dialects/firebird/__init__.py @@ -6,7 +6,7 @@ from sqlalchemy.dialects.firebird import base, kinterbasdb, fdb -base.dialect = kinterbasdb.dialect +base.dialect = fdb.dialect from sqlalchemy.dialects.firebird.base import \ SMALLINT, BIGINT, FLOAT, FLOAT, DATE, TIME, \ diff --git a/lib/sqlalchemy/dialects/firebird/fdb.py b/lib/sqlalchemy/dialects/firebird/fdb.py index 292f15c726..8d0bd3d782 100644 --- a/lib/sqlalchemy/dialects/firebird/fdb.py +++ b/lib/sqlalchemy/dialects/firebird/fdb.py @@ -15,11 +15,11 @@ .. versionadded:: 0.8 - Support for the fdb Firebird driver. -Status ------- - -The fdb dialect is new and not yet tested (can't get fdb to build). + .. versionchanged:: 0.9 - The fdb dialect is now the default dialect + under the ``firebird://`` URL space, as ``fdb`` is now the official + Python driver for Firebird. +The dialect currently accepts the same arguments as the Kinterbasdb driver. """ diff --git a/lib/sqlalchemy/testing/engines.py b/lib/sqlalchemy/testing/engines.py index efc0103f21..d8c1709e74 100644 --- a/lib/sqlalchemy/testing/engines.py +++ b/lib/sqlalchemy/testing/engines.py @@ -47,13 +47,13 @@ class ConnectionKiller(object): self._safe(rec._close) def _after_test_ctx(self): - pass # this can cause a deadlock with pg8000 - pg8000 acquires # prepared statment lock inside of rollback() - if async gc # is collecting in finalize_fairy, deadlock. - # not sure if this should be if pypy/jython only - #for conn in self.conns: - # self._safe(conn.rollback) + # not sure if this should be if pypy/jython only. + # note that firebird/fdb definitely needs this though + for conn in self.conns: + self._safe(conn.rollback) def _stop_test_ctx(self): if config.options.low_connections: