.. 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
: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`
+
.. automodule:: sqlalchemy.dialects.firebird.base
-kinterbasdb
------------
-
-.. automodule:: sqlalchemy.dialects.firebird.kinterbasdb
-
fdb
---
.. automodule:: sqlalchemy.dialects.firebird.fdb
+
+kinterbasdb
+-----------
+
+.. automodule:: sqlalchemy.dialects.firebird.kinterbasdb
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, \
.. 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.
"""
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: