-
=============
0.9 Changelog
=============
.. include:: changelog_07.rst
:start-line: 5
-.. changelog::
+.. _unreleased_changelog::
:version: 0.9.11
.. change::
:ref:`relationship_custom_operator`
-
.. change::
:tags: bug, sqlite
-
-
=============
1.1 Changelog
=============
.. include:: changelog_07.rst
:start-line: 5
+
.. changelog::
:version: 1.1.15
:include_notes_from: unreleased_11
processing, as normally takes effect to handle both user-defined
type level conversions as well as dialect-required conversions, such
as those required for JSON datatypes. Additionally, clarified that
- the keys in the set_ dictionary should match the "key" of the column,
- if distinct from the column name. A warning is emitted
+ the keys in the ``set_`` dictionary should match the "key" of the
+ column, if distinct from the column name. A warning is emitted
for remaining column names that don't match column keys; for
compatibility reasons, these are emitted as they were previously.
:tickets: 3878
Fixed 1.1 regression where "import *" would not work for
- sqlalchemy.sql.expression, due to mis-spelled "any_" and "all_"
+ sqlalchemy.sql.expression, due to mis-spelled ``any_`` and ``all_``
functions.
.. change:: 3880
NCHAR, TEXT, NTEXT, DECIMAL, NUMERIC, FLOAT, DATETIME,\
DATETIME2, DATETIMEOFFSET, DATE, TIME, SMALLDATETIME, \
BINARY, VARBINARY, BIT, REAL, IMAGE, TIMESTAMP,\
- MONEY, SMALLMONEY, UNIQUEIDENTIFIER, SQL_VARIANT, dialect
+ MONEY, SMALLMONEY, UNIQUEIDENTIFIER, SQL_VARIANT, XML, dialect
__all__ = (
'NCHAR', 'TEXT', 'NTEXT', 'DECIMAL', 'NUMERIC', 'FLOAT', 'DATETIME',
'DATETIME2', 'DATETIMEOFFSET', 'DATE', 'TIME', 'SMALLDATETIME',
'BINARY', 'VARBINARY', 'BIT', 'REAL', 'IMAGE', 'TIMESTAMP',
- 'MONEY', 'SMALLMONEY', 'UNIQUEIDENTIFIER', 'SQL_VARIANT', 'dialect'
+ 'MONEY', 'SMALLMONEY', 'UNIQUEIDENTIFIER', 'SQL_VARIANT', 'XML', 'dialect'
)
required, but only one of these can be specified.
:param constraint:
- The name of a unique or exclusion constraint on the table,
- or the constraint object itself if it has a .name attribute.
+ The name of a unique or exclusion constraint on the table,
+ or the constraint object itself if it has a .name attribute.
:param index_elements:
- A sequence consisting of string column names, :class:`.Column`
- objects, or other column expression objects that will be used
- to infer a target index.
+ A sequence consisting of string column names, :class:`.Column`
+ objects, or other column expression objects that will be used
+ to infer a target index.
:param index_where:
- Additional WHERE criterion that can be used to infer a
- conditional target index.
+ Additional WHERE criterion that can be used to infer a
+ conditional target index.
:param set_:
- Required argument. A dictionary or other mapping object
- with column names as keys and expressions or literals as values,
- specifying the ``SET`` actions to take.
- If the target :class:`.Column` specifies a ".key" attribute distinct
- from the column name, that key should be used.
-
- .. warning:: This dictionary does **not** take into account
- Python-specified default UPDATE values or generation functions,
- e.g. those specified using :paramref:`.Column.onupdate`.
- These values will not be exercised for an ON CONFLICT style of
- UPDATE, unless they are manually specified in the
- :paramref:`.Insert.on_conflict_do_update.set_` dictionary.
+ Required argument. A dictionary or other mapping object
+ with column names as keys and expressions or literals as values,
+ specifying the ``SET`` actions to take.
+ If the target :class:`.Column` specifies a ".key" attribute distinct
+ from the column name, that key should be used.
+
+ .. warning:: This dictionary does **not** take into account
+ Python-specified default UPDATE values or generation functions,
+ e.g. those specified using :paramref:`.Column.onupdate`.
+ These values will not be exercised for an ON CONFLICT style of
+ UPDATE, unless they are manually specified in the
+ :paramref:`.Insert.on_conflict_do_update.set_` dictionary.
:param where:
- Optional argument. If present, can be a literal SQL
- string or an acceptable expression for a ``WHERE`` clause
- that restricts the rows affected by ``DO UPDATE SET``. Rows
- not meeting the ``WHERE`` condition will not be updated
- (effectively a ``DO NOTHING`` for those rows).
+ Optional argument. If present, can be a literal SQL
+ string or an acceptable expression for a ``WHERE`` clause
+ that restricts the rows affected by ``DO UPDATE SET``. Rows
+ not meeting the ``WHERE`` condition will not be updated
+ (effectively a ``DO NOTHING`` for those rows).
+
+ .. versionadded:: 1.1
- .. versionadded:: 1.1
.. seealso::
are optional, but only one of these can be specified.
:param constraint:
- The name of a unique or exclusion constraint on the table,
- or the constraint object itself if it has a .name attribute.
+ The name of a unique or exclusion constraint on the table,
+ or the constraint object itself if it has a .name attribute.
:param index_elements:
- A sequence consisting of string column names, :class:`.Column`
- objects, or other column expression objects that will be used
- to infer a target index.
+ A sequence consisting of string column names, :class:`.Column`
+ objects, or other column expression objects that will be used
+ to infer a target index.
:param index_where:
- Additional WHERE criterion that can be used to infer a
- conditional target index.
+ Additional WHERE criterion that can be used to infer a
+ conditional target index.
- .. versionadded:: 1.1
+ .. versionadded:: 1.1
.. seealso::
# This module is part of SQLAlchemy and is released under
# the MIT License: http://www.opensource.org/licenses/mit-license.php
-"""
+r"""
.. dialect:: postgresql+psycopg2
:name: psycopg2
:dbapi: psycopg2
- :connectstring: postgresql+psycopg2://user:password@host:port/dbname\
-[?key=value&key=value...]
+ :connectstring: postgresql+psycopg2://user:password@host:port/dbname[?key=value&key=value...]
:url: http://pypi.python.org/pypi/psycopg2/
psycopg2 Connect Arguments
Note that the :paramref:`.Connection.execution_options.stream_results`
execution option is a more targeted
way of enabling this mode on a per-execution basis.
+
* ``use_native_unicode``: Enable the usage of Psycopg2 "native unicode" mode
per connection. True by default.
create_engine("postgresql+psycopg2://user:password@/dbname?\
host=/var/lib/postgresql")
-See also:
+.. seealso::
-`PQconnectdbParams <http://www.postgresql.org/docs/9.1/static/\
-libpq-connect.html#LIBPQ-PQCONNECTDBPARAMS>`_
+ `PQconnectdbParams <http://www.postgresql.org/docs/9.1/static/libpq-connect.html#LIBPQ-PQCONNECTDBPARAMS>`_
.. _psycopg2_execution_options:
The default string storage format is::
- "%(year)04d-%(month)02d-%(day)02d %(hour)02d:%(min)02d:\
-%(second)02d.%(microsecond)06d"
+ "%(year)04d-%(month)02d-%(day)02d %(hour)02d:%(min)02d:%(second)02d.%(microsecond)06d"
e.g.::
Otherwise, if positional groups are used, the datetime() constructor
is called with positional arguments via
``*map(int, match_obj.groups(0))``.
+
"""
_storage_format = (
.. seealso::
- :meth:`.Session.rollback`
+ :meth:`.Session.rollback`
- :meth:`.Session.commit`
+ :meth:`.Session.commit`
- :meth:`.Session.begin`
+ :meth:`.Session.begin`
- :meth:`.Session.begin_nested`
+ :meth:`.Session.begin_nested`
- :attr:`.Session.is_active`
+ :attr:`.Session.is_active`
- :meth:`.SessionEvents.after_transaction_create`
+ :meth:`.SessionEvents.after_transaction_create`
- :meth:`.SessionEvents.after_transaction_end`
+ :meth:`.SessionEvents.after_transaction_end`
- :meth:`.SessionEvents.after_commit`
+ :meth:`.SessionEvents.after_commit`
- :meth:`.SessionEvents.after_rollback`
+ :meth:`.SessionEvents.after_rollback`
- :meth:`.SessionEvents.after_soft_rollback`
+ :meth:`.SessionEvents.after_soft_rollback`
"""