]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- fdb is now official, [ticket:2504]
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 3 Jun 2013 17:53:42 +0000 (13:53 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 3 Jun 2013 17:53:42 +0000 (13:53 -0400)
- restore the rollback cleanup handler, pg8000 is mostly obsolete
as a dialect and the firebird drivers need it

doc/build/changelog/changelog_09.rst
doc/build/changelog/migration_09.rst
doc/build/dialects/firebird.rst
lib/sqlalchemy/dialects/firebird/__init__.py
lib/sqlalchemy/dialects/firebird/fdb.py
lib/sqlalchemy/testing/engines.py

index baddf7e2a99fff97f62a77c3221937f4859a5750..124946b1116ba32f9a4ce61fade393ad7b42ce01 100644 (file)
@@ -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
index 969bfb62457bdadae245e3dd5d43bf7d6dfda407..3d7b303241501eb38b93b28949a26379f019d59d 100644 (file)
@@ -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`
+
 
index d5b6b2ffdd6ebb66fec6039f46b3a9d558c63640..d6e9726af71e63e42a631b480362201c906fefe6 100644 (file)
@@ -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
index 0f4853bfb748f8e1c2a3fe64e975325521af7cc3..e57457a3988d25d18ab98760147cd047a94729d2 100644 (file)
@@ -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, \
index 292f15c72679e3d90edc43bcb0ddc216b23e3333..8d0bd3d782e29f6e0f54808c391f998eb86ee4bd 100644 (file)
 
     .. 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.
 
 """
 
index efc0103f219ddf16bdbf51889066354b5817d54a..d8c1709e74d609c8be48463e491b69184329da2f 100644 (file)
@@ -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: