summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2013-06-03 13:53:42 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2013-06-03 13:53:42 -0400
commit82c11cc94b41323caeecc9990d1d87ed9fed4b7c (patch)
tree78364e4994d33850ef18365f65ca883d0ae6e53e
parentc2a158c137ee07a146f02e5ee89ec42e486c6a37 (diff)
downloadsqlalchemy-82c11cc94b41323caeecc9990d1d87ed9fed4b7c.tar.gz
- fdb is now official, [ticket:2504]
- restore the rollback cleanup handler, pg8000 is mostly obsolete as a dialect and the firebird drivers need it
-rw-r--r--doc/build/changelog/changelog_09.rst9
-rw-r--r--doc/build/changelog/migration_09.rst12
-rw-r--r--doc/build/dialects/firebird.rst10
-rw-r--r--lib/sqlalchemy/dialects/firebird/__init__.py2
-rw-r--r--lib/sqlalchemy/dialects/firebird/fdb.py8
-rw-r--r--lib/sqlalchemy/testing/engines.py8
6 files changed, 35 insertions, 14 deletions
diff --git a/doc/build/changelog/changelog_09.rst b/doc/build/changelog/changelog_09.rst
index baddf7e2a..124946b11 100644
--- a/doc/build/changelog/changelog_09.rst
+++ b/doc/build/changelog/changelog_09.rst
@@ -7,6 +7,15 @@
: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 969bfb624..3d7b30324 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 d5b6b2ffd..d6e9726af 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 0f4853bfb..e57457a39 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 292f15c72..8d0bd3d78 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 efc0103f2..d8c1709e7 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: