Dialects
========
-The *dialect* is the system SQLAlchemy uses to communicate with various types of DBAPIs and databases.
-A compatibility chart of supported backends can be found at :ref:`supported_dbapis`.
+The **dialect** is the system SQLAlchemy uses to communicate with various types of DBAPIs and databases.
+A compatibility chart of supported backends can be found at :ref:`supported_dbapis`. The sections that
+follow contain reference documentation and notes specific to the usage of each backend, as well as notes
+for the various DBAPIs.
-This section contains all notes and documentation specific to the usage of various backends.
-
-Supported Databases
--------------------
-
-These backends are fully operational with
-current versions of SQLAlchemy.
+Note that not all backends are fully ported and tested with
+current versions of SQLAlchemy. The compatibility chart
+should be consulted to check for current support level.
.. toctree::
:maxdepth: 1
:glob:
firebird
+ informix
+ maxdb
+ access
mssql
mysql
oracle
sqlite
sybase
-Unsupported Databases
----------------------
-
-These backends are untested and may not be completely
-ported to current versions of SQLAlchemy.
-
-.. toctree::
- :maxdepth: 1
- :glob:
-
- access
- informix
- maxdb
this time automatically render the "cast" syntax required for the
freestanding functions "current_timestamp" and "current_date" to return
datetime/date types natively. Unfortunately, pysqlite
-does not provide the standard DBAPI types in `cursor.description`,
+does not provide the standard DBAPI types in ``cursor.description``,
leaving SQLAlchemy with no way to detect these types on the fly
without expensive per-row type checks.
-Usage of PARSE_DECLTYPES can be forced if one configures
-"native_datetime=True" on create_engine()::
+Keeping in mind that pysqlite's parsing option is not recommended,
+nor should be necessary, for use with SQLAlchemy, usage of PARSE_DECLTYPES
+can be forced if one configures "native_datetime=True" on create_engine()::
engine = create_engine('sqlite://',
connect_args={'detect_types': sqlite3.PARSE_DECLTYPES|sqlite3.PARSE_COLNAMES},