[Python-modules-commits] [sqlalchemy] 07/14: Import sqlalchemy_1.1.1+ds1.orig.tar.gz

Piotr Ożarowski piotr at moszumanska.debian.org
Tue Oct 11 15:02:44 UTC 2016


This is an automated email from the git hooks/post-receive script.

piotr pushed a commit to branch master
in repository sqlalchemy.

commit b5e94cbae6483e20873aaa86dbb2bbe7f7ebecb5
Author: Piotr Ożarowski <piotr at debian.org>
Date:   Tue Oct 11 16:36:24 2016 +0200

    Import sqlalchemy_1.1.1+ds1.orig.tar.gz
---
 PKG-INFO                                           |    2 +-
 doc/build/changelog/changelog_01.rst               |    2 +-
 doc/build/changelog/changelog_06.rst               |    2 +-
 doc/build/changelog/changelog_09.rst               |    4 +-
 doc/build/changelog/changelog_10.rst               |   72 +-
 doc/build/changelog/changelog_11.rst               | 1499 +++++++++++
 doc/build/changelog/index.rst                      |    4 +-
 doc/build/changelog/migration_09.rst               |    2 +-
 doc/build/changelog/migration_10.rst               |   20 +-
 doc/build/changelog/migration_11.rst               | 2833 ++++++++++++++++++++
 doc/build/conf.py                                  |    6 +-
 doc/build/core/connections.rst                     |   66 +
 doc/build/core/defaults.rst                        |    5 -
 doc/build/core/selectable.rst                      |   16 +
 doc/build/core/sqlelement.rst                      |   12 +
 doc/build/core/tutorial.rst                        |  266 +-
 doc/build/core/type_api.rst                        |    4 +-
 doc/build/core/type_basics.rst                     |   21 +-
 doc/build/dialects/mysql.rst                       |    2 +
 doc/build/dialects/postgresql.rst                  |   38 +-
 doc/build/glossary.rst                             |   25 +-
 doc/build/index.rst                                |    5 +-
 doc/build/intro.rst                                |   67 +-
 doc/build/orm/collections.rst                      |   36 +-
 doc/build/orm/extensions/baked.rst                 |   11 +-
 doc/build/orm/extensions/declarative/mixins.rst    |   11 +-
 doc/build/orm/extensions/index.rst                 |    1 +
 doc/build/orm/extensions/indexable.rst             |   13 +
 doc/build/orm/extensions/mutable.rst               |    7 +
 doc/build/orm/loading_relationships.rst            |   10 +-
 doc/build/orm/persistence_techniques.rst           |  106 +
 doc/build/orm/relationship_persistence.rst         |    7 +
 doc/build/orm/session_events.rst                   |  237 +-
 doc/build/orm/session_state_management.rst         |  117 +-
 doc/build/orm/tutorial.rst                         |   61 +-
 examples/custom_attributes/__init__.py             |    2 +-
 .../custom_attributes/active_column_defaults.py    |  108 +
 lib/sqlalchemy/__init__.py                         |    9 +-
 lib/sqlalchemy/cextension/processors.c             |   14 +-
 lib/sqlalchemy/cextension/resultproxy.c            |   19 +-
 lib/sqlalchemy/connectors/pyodbc.py                |    4 +-
 lib/sqlalchemy/dialects/__init__.py                |   11 +
 lib/sqlalchemy/dialects/firebird/base.py           |    2 +-
 lib/sqlalchemy/dialects/mssql/base.py              |  277 +-
 lib/sqlalchemy/dialects/mssql/mxodbc.py            |   27 +
 lib/sqlalchemy/dialects/mssql/pymssql.py           |    1 +
 lib/sqlalchemy/dialects/mssql/pyodbc.py            |   22 +-
 lib/sqlalchemy/dialects/mysql/__init__.py          |    6 +-
 lib/sqlalchemy/dialects/mysql/base.py              | 1602 +----------
 lib/sqlalchemy/dialects/mysql/enumerated.py        |  301 +++
 lib/sqlalchemy/dialects/mysql/json.py              |   79 +
 lib/sqlalchemy/dialects/mysql/mysqlconnector.py    |   13 +
 lib/sqlalchemy/dialects/mysql/mysqldb.py           |   12 +
 lib/sqlalchemy/dialects/mysql/reflection.py        |  449 ++++
 lib/sqlalchemy/dialects/mysql/types.py             |  766 ++++++
 lib/sqlalchemy/dialects/oracle/base.py             |   67 +-
 lib/sqlalchemy/dialects/oracle/cx_oracle.py        |   16 +
 lib/sqlalchemy/dialects/postgres.py                |   18 -
 lib/sqlalchemy/dialects/postgresql/__init__.py     |   21 +-
 lib/sqlalchemy/dialects/postgresql/array.py        |  314 +++
 lib/sqlalchemy/dialects/postgresql/base.py         | 1021 ++++---
 lib/sqlalchemy/dialects/postgresql/dml.py          |  211 ++
 .../dialects/postgresql/{constraints.py => ext.py} |   76 +-
 lib/sqlalchemy/dialects/postgresql/hstore.py       |  286 +-
 lib/sqlalchemy/dialects/postgresql/json.py         |  383 ++-
 lib/sqlalchemy/dialects/postgresql/pg8000.py       |    3 +-
 lib/sqlalchemy/dialects/postgresql/psycopg2.py     |    3 +-
 lib/sqlalchemy/dialects/postgresql/pygresql.py     |  243 ++
 lib/sqlalchemy/dialects/sqlite/base.py             |  137 +-
 lib/sqlalchemy/dialects/sybase/base.py             |    8 +-
 lib/sqlalchemy/engine/__init__.py                  |    3 +-
 lib/sqlalchemy/engine/base.py                      |  127 +-
 lib/sqlalchemy/engine/default.py                   |  112 +-
 lib/sqlalchemy/engine/interfaces.py                |  136 +-
 lib/sqlalchemy/engine/reflection.py                |   46 +-
 lib/sqlalchemy/engine/result.py                    |  450 +++-
 lib/sqlalchemy/engine/strategies.py                |   25 +-
 lib/sqlalchemy/engine/url.py                       |   10 +-
 lib/sqlalchemy/events.py                           |   50 +
 lib/sqlalchemy/exc.py                              |   14 +
 lib/sqlalchemy/ext/automap.py                      |   10 +
 lib/sqlalchemy/ext/baked.py                        |   15 +-
 lib/sqlalchemy/ext/compiler.py                     |   17 +-
 lib/sqlalchemy/ext/declarative/api.py              |   28 +-
 lib/sqlalchemy/ext/hybrid.py                       |   43 +-
 lib/sqlalchemy/ext/indexable.py                    |  347 +++
 lib/sqlalchemy/ext/mutable.py                      |  184 ++
 lib/sqlalchemy/orm/__init__.py                     |    1 +
 lib/sqlalchemy/orm/attributes.py                   |   85 +-
 lib/sqlalchemy/orm/collections.py                  |   72 +-
 lib/sqlalchemy/orm/descriptor_props.py             |    2 +-
 lib/sqlalchemy/orm/dynamic.py                      |    7 +-
 lib/sqlalchemy/orm/events.py                       |  390 ++-
 lib/sqlalchemy/orm/identity.py                     |   39 +-
 lib/sqlalchemy/orm/interfaces.py                   |   16 +-
 lib/sqlalchemy/orm/loading.py                      |   24 +-
 lib/sqlalchemy/orm/mapper.py                       |  104 +-
 lib/sqlalchemy/orm/persistence.py                  |  188 +-
 lib/sqlalchemy/orm/properties.py                   |    9 +-
 lib/sqlalchemy/orm/query.py                        |  259 +-
 lib/sqlalchemy/orm/relationships.py                |   78 +-
 lib/sqlalchemy/orm/session.py                      |  456 ++--
 lib/sqlalchemy/orm/state.py                        |  134 +-
 lib/sqlalchemy/orm/strategies.py                   |   95 +-
 lib/sqlalchemy/orm/strategy_options.py             |  104 +-
 lib/sqlalchemy/orm/unitofwork.py                   |   13 +
 lib/sqlalchemy/orm/util.py                         |   35 +-
 lib/sqlalchemy/pool.py                             |  144 +-
 lib/sqlalchemy/processors.py                       |    4 +-
 lib/sqlalchemy/sql/__init__.py                     |    6 +
 lib/sqlalchemy/sql/compiler.py                     |  528 ++--
 lib/sqlalchemy/sql/crud.py                         |  173 +-
 lib/sqlalchemy/sql/ddl.py                          |   21 +-
 lib/sqlalchemy/sql/default_comparator.py           |   34 +-
 lib/sqlalchemy/sql/dml.py                          |   11 +-
 lib/sqlalchemy/sql/elements.py                     |  635 ++++-
 lib/sqlalchemy/sql/expression.py                   |   27 +-
 lib/sqlalchemy/sql/functions.py                    |  215 +-
 lib/sqlalchemy/sql/operators.py                    |  109 +-
 lib/sqlalchemy/sql/schema.py                       |  273 +-
 lib/sqlalchemy/sql/selectable.py                   |  544 +++-
 lib/sqlalchemy/sql/sqltypes.py                     |  812 +++++-
 lib/sqlalchemy/sql/type_api.py                     |   95 +-
 lib/sqlalchemy/sql/util.py                         |  164 +-
 lib/sqlalchemy/testing/__init__.py                 |    2 +-
 lib/sqlalchemy/testing/assertions.py               |   34 +-
 lib/sqlalchemy/testing/assertsql.py                |    9 +-
 lib/sqlalchemy/testing/config.py                   |    7 +-
 lib/sqlalchemy/testing/distutils_run.py            |   11 -
 lib/sqlalchemy/testing/exclusions.py               |   22 +-
 lib/sqlalchemy/testing/plugin/plugin_base.py       |    8 +
 lib/sqlalchemy/testing/plugin/pytestplugin.py      |    5 +
 lib/sqlalchemy/testing/provision.py                |    2 +-
 lib/sqlalchemy/testing/requirements.py             |   83 +
 lib/sqlalchemy/testing/schema.py                   |    5 +-
 lib/sqlalchemy/testing/suite/test_reflection.py    |   52 +
 lib/sqlalchemy/testing/suite/test_select.py        |  124 +-
 lib/sqlalchemy/testing/suite/test_types.py         |  261 +-
 lib/sqlalchemy/types.py                            |    7 +-
 lib/sqlalchemy/util/__init__.py                    |    2 +-
 lib/sqlalchemy/util/langhelpers.py                 |   26 +-
 setup.cfg                                          |    7 +-
 setup.py                                           |  185 +-
 test/aaa_profiling/test_compiler.py                |    4 +-
 test/aaa_profiling/test_memusage.py                |    8 +-
 test/base/test_tutorials.py                        |    3 +-
 test/base/test_utils.py                            |   69 +
 test/conftest.py                                   |    6 +
 test/dialect/mssql/test_compiler.py                |   43 +-
 test/dialect/mssql/test_query.py                   |   20 +-
 test/dialect/mssql/test_reflection.py              |   40 +-
 test/dialect/mssql/test_types.py                   |   52 +-
 test/dialect/mysql/test_compiler.py                |   70 +-
 test/dialect/mysql/test_dialect.py                 |   25 +
 test/dialect/mysql/test_query.py                   |   54 +
 test/dialect/mysql/test_reflection.py              |   37 +-
 test/dialect/mysql/test_types.py                   |   68 +-
 test/dialect/postgresql/test_compiler.py           |  483 +++-
 test/dialect/postgresql/test_dialect.py            |   10 +
 test/dialect/postgresql/test_on_conflict.py        |  397 +++
 test/dialect/postgresql/test_query.py              |  118 +-
 test/dialect/postgresql/test_reflection.py         |   58 +-
 test/dialect/postgresql/test_types.py              |  723 ++++-
 test/dialect/test_oracle.py                        |   58 +-
 test/dialect/test_sqlite.py                        |  236 +-
 test/dialect/test_sybase.py                        |   14 +-
 test/engine/test_execute.py                        |  214 +-
 test/engine/test_logging.py                        |  130 +-
 test/engine/test_parseconnect.py                   |   46 +-
 test/engine/test_pool.py                           |  135 +
 test/engine/test_processors.py                     |   79 +
 test/engine/test_reconnect.py                      |   95 +-
 test/engine/test_reflection.py                     |   60 +-
 test/engine/test_transaction.py                    |    7 +
 test/ext/declarative/test_basic.py                 |   19 +-
 test/ext/declarative/test_inheritance.py           |   52 +-
 test/ext/declarative/test_mixin.py                 |    2 +-
 test/ext/declarative/test_reflection.py            |    4 +-
 test/ext/test_automap.py                           |   37 +-
 test/ext/test_baked.py                             |    8 +-
 test/ext/test_compiler.py                          |   51 +-
 test/ext/test_hybrid.py                            |  328 ++-
 test/ext/test_indexable.py                         |  374 +++
 test/ext/test_mutable.py                           |  413 ++-
 test/orm/inheritance/_poly_fixtures.py             |    1 -
 test/orm/inheritance/test_basic.py                 |  319 ++-
 test/orm/inheritance/test_concrete.py              |   39 +
 test/orm/inheritance/test_poly_linked_list.py      |   12 +-
 test/orm/inheritance/test_poly_persistence.py      |    2 +-
 test/orm/inheritance/test_polymorphic_rel.py       |  134 +-
 test/orm/inheritance/test_relationship.py          |   88 +-
 test/orm/inheritance/test_single.py                |   15 +
 test/orm/test_association.py                       |   11 +-
 test/orm/test_bind.py                              |   18 +
 test/orm/test_bulk.py                              |   32 +-
 test/orm/test_cascade.py                           |   82 +-
 test/orm/test_composites.py                        |    3 +-
 test/orm/test_deferred.py                          |   27 +-
 test/orm/test_dynamic.py                           |   30 +-
 test/orm/test_eager_relations.py                   |  203 +-
 test/orm/test_events.py                            |  565 +++-
 test/orm/test_expire.py                            |    4 +-
 test/orm/test_froms.py                             |   12 +-
 test/orm/test_hasparent.py                         |    4 +-
 test/orm/test_joins.py                             |   25 +-
 test/orm/test_lazy_relations.py                    |  175 +-
 test/orm/test_load_on_fks.py                       |   41 +-
 test/orm/test_lockmode.py                          |   45 +-
 test/orm/test_mapper.py                            |  204 +-
 test/orm/test_merge.py                             |  199 +-
 test/orm/test_naturalpks.py                        |   37 +
 test/orm/test_onetoone.py                          |    1 -
 test/orm/test_options.py                           |  128 +-
 test/orm/test_query.py                             |  445 ++-
 test/orm/test_relationships.py                     |   22 +-
 test/orm/test_session.py                           |  105 +-
 test/orm/test_subquery_relations.py                |    5 +-
 test/orm/test_transaction.py                       |   76 +-
 test/orm/test_unitofwork.py                        |   97 +-
 test/orm/test_unitofworkv2.py                      |  220 +-
 test/orm/test_utils.py                             |   24 +-
 test/orm/test_validators.py                        |   39 +-
 test/orm/test_versioning.py                        |   32 +
 test/requirements.py                               |  123 +-
 test/sql/test_compiler.py                          |  455 +++-
 test/sql/test_constraints.py                       |  342 ---
 test/sql/test_cte.py                               |  193 +-
 test/sql/test_defaults.py                          |  147 +-
 test/sql/test_functions.py                         |  129 +-
 test/sql/test_insert.py                            |  126 +-
 test/sql/test_inspect.py                           |   10 +
 test/sql/test_join_rewriting.py                    |    5 +
 test/sql/test_lateral.py                           |  134 +
 test/sql/test_metadata.py                          |  567 +++-
 test/sql/test_operators.py                         |  616 ++++-
 test/sql/test_resultset.py                         |  262 +-
 test/sql/test_selectable.py                        |   74 +-
 test/sql/test_tablesample.py                       |   54 +
 test/sql/test_type_expressions.py                  |    7 +-
 test/sql/test_types.py                             |  639 ++++-
 test/sql/test_utils.py                             |  107 +
 tox.ini                                            |   87 +-
 242 files changed, 27157 insertions(+), 5587 deletions(-)

diff --git a/PKG-INFO b/PKG-INFO
index 240f27a..844be3f 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: SQLAlchemy
-Version: 1.0.15
+Version: 1.1.1
 Summary: Database Abstraction Library
 Home-page: http://www.sqlalchemy.org
 Author: Mike Bayer
diff --git a/doc/build/changelog/changelog_01.rst b/doc/build/changelog/changelog_01.rst
index a8ce578..b0d95d4 100644
--- a/doc/build/changelog/changelog_01.rst
+++ b/doc/build/changelog/changelog_01.rst
@@ -223,7 +223,7 @@
       added 'version_id' keyword argument to mapper. this keyword should reference a
       Column object with type Integer, preferably non-nullable, which will be used on
       the mapped table to track version numbers. this number is incremented on each
-      save operation and is specifed in the UPDATE/DELETE conditions so that it
+      save operation and is specified in the UPDATE/DELETE conditions so that it
       factors into the returned row count, which results in a ConcurrencyError if the
       value received is not the expected count.
 
diff --git a/doc/build/changelog/changelog_06.rst b/doc/build/changelog/changelog_06.rst
index 927aae2..168dac9 100644
--- a/doc/build/changelog/changelog_06.rst
+++ b/doc/build/changelog/changelog_06.rst
@@ -1465,7 +1465,7 @@
       changed to StaleDataError, and descriptive
       error messages have been revised to reflect
       exactly what the issue is.   Both names will
-      remain available for the forseeable future
+      remain available for the foreseeable future
       for schemes that may be specifying
       ConcurrentModificationError in an "except:"
       clause.
diff --git a/doc/build/changelog/changelog_09.rst b/doc/build/changelog/changelog_09.rst
index 3ac0ab0..0084275 100644
--- a/doc/build/changelog/changelog_09.rst
+++ b/doc/build/changelog/changelog_09.rst
@@ -1881,7 +1881,7 @@
         Fixed an 0.9 regression where ORM instance or mapper events applied
         to a base class such as a declarative base with the propagate=True
         flag would fail to apply to existing mapped classes which also
-        used inheritance due to an assertion.  Addtionally, repaired an
+        used inheritance due to an assertion.  Additionally, repaired an
         attribute error which could occur during removal of such an event,
         depending on how it was first assigned.
 
@@ -2706,7 +2706,7 @@
         adaptation which goes on has been made more robust, such that if a descriptor
         returns another instrumented attribute, rather than a compound SQL
         expression element, the operation will still proceed.
-        Addtionally, the "adapted" operator will retain its class; previously,
+        Additionally, the "adapted" operator will retain its class; previously,
         a change in class from ``InstrumentedAttribute`` to ``QueryableAttribute``
         (a superclass) would interact with Python's operator system such that
         an expression like ``aliased(MyClass.x) > MyClass.x`` would reverse itself
diff --git a/doc/build/changelog/changelog_10.rst b/doc/build/changelog/changelog_10.rst
index b5f6dfa..8fd6b1d 100644
--- a/doc/build/changelog/changelog_10.rst
+++ b/doc/build/changelog/changelog_10.rst
@@ -16,6 +16,68 @@
         :start-line: 5
 
 .. changelog::
+    :version: 1.0.16
+
+    .. change::
+        :tags: bug, mssql
+        :tickets: 3810
+        :versions: 1.1.0
+
+        Changed the query used to get "default schema name", from one that
+        queries the database principals table to using the
+        "schema_name()" function, as issues have been reported that the
+        former system was unavailable on the Azure Data Warehouse edition.
+        It is hoped that this will finally work across all SQL Server
+        versions and authentication styles.
+
+    .. change::
+        :tags: bug, mssql
+        :tickets: 3814
+        :versions: 1.1.0
+
+        Updated the server version info scheme for pyodbc to use SQL Server
+        SERVERPROPERTY(), rather than relying upon pyodbc.SQL_DBMS_VER, which
+        continues to be unreliable particularly with FreeTDS.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 3800
+        :versions: 1.1.0
+
+        Fixed bug where joined eager loading would fail for a polymorphically-
+        loaded mapper, where the polymorphic_on was set to an un-mapped
+        expression such as a CASE expression.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 3798
+        :versions: 1.1.0
+
+        Fixed bug where the ArgumentError raised for an invalid bind
+        sent to a Session via :meth:`.Session.bind_mapper`,
+        :meth:`.Session.bind_table`,
+        or the constructor would fail to be correctly raised.
+
+    .. change::
+        :tags: bug, mssql
+        :tickes: 3791
+        :versions: 1.1.0
+
+        Added error code 20017 "unexpected EOF from the server" to the list of
+        disconnect exceptions that result in a connection pool reset.  Pull
+        request courtesy Ken Robbins.
+
+    .. change::
+        :tags: bug, orm.declarative
+        :tickets: 3797
+        :versions: 1.1.0
+
+        Fixed bug where setting up a single-table inh subclass of a joined-table
+        subclass which included an extra column would corrupt the foreign keys
+        collection of the mapped table, thereby interfering with the
+        initialization of relationships.
+
+.. changelog::
     :version: 1.0.15
     :released: September 1, 2016
 
@@ -81,7 +143,7 @@
         :versions: 1.1.0b3
 
         Fixed bug in :paramref:`.Select.with_for_update.of`, where the Oracle
-        "rownum" approach to LIMIT/OFFSET would fail to accomodate for the
+        "rownum" approach to LIMIT/OFFSET would fail to accommodate for the
         expressions inside the "OF" clause, which must be stated at the topmost
         level referring to expression within the subquery.  The expressions are
         now added to the subquery if needed.
@@ -236,7 +298,7 @@
         :tickets: 3690
 
         Fixed bug where when using ``case_sensitive=False`` with an
-        :class:`.Engine`, the result set would fail to correctly accomodate
+        :class:`.Engine`, the result set would fail to correctly accommodate
         for duplicate column names in the result set, causing an error
         when the statement is executed in 1.0, and preventing the
         "ambiguous column" exception from functioning in 1.1.
@@ -1240,7 +1302,7 @@
         pool of only a single connection were used, this means the pool would
         be fully checked out until that stack trace were freed.  This mostly
         impacts very specific debugging scenarios and is unlikely to have been
-        noticable in any production application.  The fix applies an
+        noticeable in any production application.  The fix applies an
         explicit checkin of the record before re-raising the caught exception.
 
 
@@ -1386,7 +1448,7 @@
 
         Fixed bug where the truncation of long labels in SQL could produce
         a label that overlapped another label that is not truncated; this
-        because the length threshhold for truncation was greater than
+        because the length threshold for truncation was greater than
         the portion of the label that remains after truncation.  These
         two values have now been made the same; label_length - 6.
         The effect here is that shorter column labels will be "truncated"
@@ -1944,7 +2006,7 @@
         The Postgresql :class:`.postgresql.ENUM` type will emit a
         DROP TYPE instruction when a plain ``table.drop()`` is called,
         assuming the object is not associated directly with a
-        :class:`.MetaData` object.   In order to accomodate the use case of
+        :class:`.MetaData` object.   In order to accommodate the use case of
         an enumerated type shared between multiple tables, the type should
         be associated directly with the :class:`.MetaData` object; in this
         case the type will only be created at the metadata level, or if
diff --git a/doc/build/changelog/changelog_11.rst b/doc/build/changelog/changelog_11.rst
new file mode 100644
index 0000000..a8d73bb
--- /dev/null
+++ b/doc/build/changelog/changelog_11.rst
@@ -0,0 +1,1499 @@
+
+
+==============
+1.1 Changelog
+==============
+
+.. changelog_imports::
+
+    .. include:: changelog_10.rst
+        :start-line: 5
+
+    .. include:: changelog_09.rst
+        :start-line: 5
+
+    .. include:: changelog_08.rst
+        :start-line: 5
+
+    .. include:: changelog_07.rst
+        :start-line: 5
+
+.. changelog::
+    :version: 1.1.1
+    :released: October 7, 2016
+
+    .. change::
+        :tags: bug, mssql
+        :tickets: 3820
+
+        The "SELECT SERVERPROPERTY"
+        query added in :ticket:`3810` and :ticket:`3814` is failing on unknown
+        combinations of Pyodbc and SQL Server.  While failure of this function
+        was anticipated, the exception catch was not broad enough so it now
+        catches all forms of pyodbc.Error.
+
+    .. change::
+        :tags: bug, core
+        :tickets: 3216
+
+        Changed the CompileError raised when various primary key missing
+        situations are detected to a warning.  The statement is again
+        passed to the database where it will fail and the DBAPI error (usually
+        IntegrityError) raises as usual.
+
+        .. seealso::
+
+            :ref:`change_3216`
+
+.. changelog::
+    :version: 1.1.0
+    :released: October 5, 2016
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 3805
+
+        Execution options can now be propagated from within a
+        statement at compile time to the outermost statement, so that
+        if an embedded element wants to set "autocommit" to be True for example,
+        it can propagate this to the enclosing statement.  Currently, this
+        feature is enabled for a DML-oriented CTE embedded inside of a SELECT
+        statement, e.g. INSERT/UPDATE/DELETE inside of SELECT.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 3802
+
+        ORM attributes can now be assigned any object that is has a
+        ``__clause_element__()`` attribute, which will result in inline
+        SQL the way any :class:`.ClauseElement` class does.  This covers other
+        mapped attributes not otherwise transformed by further expression
+        constructs.
+
+    .. change::
+        :tags: feature, orm
+        :tickets: 3812
+
+        Enhanced the new "raise" lazy loader strategy to also include a
+        "raise_on_sql" variant, available both via :paramref:`.orm.relationship.lazy`
+        as well as :func:`.orm.raiseload`.   This variant only raises if the
+        lazy load would actually emit SQL, vs. raising if the lazy loader
+        mechanism is invoked at all.
+
+    .. change::
+        :tags: bug, postgresql
+        :tickets: 3813
+
+        An adjustment to ON CONFLICT such that the "inserted_primary_key"
+        logic is able to accommodate the case where there's no INSERT or
+        UPDATE and there's no net change.  The value comes out as None
+        in this case, rather than failing on an exception.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 3811
+
+        Made an adjustment to the bug fix first introduced in [ticket:3431]
+        that involves an object appearing in multiple contexts in a single
+        result set, such that an eager loader that would set the related
+        object value to be None will still fire off, thus satisfying the
+        load of that attribute.  Previously, the adjustment only honored
+        a non-None value arriving for an eagerly loaded attribute in a
+        secondary row.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 3808
+
+        Fixed bug in new :meth:`.SessionEvents.persistent_to_deleted` event
+        where the target object could be garbage collected before the event
+        is fired off.
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 3809
+
+        A string sent as a column default via the
+        :paramref:`.Column.server_default` parameter is now escaped for quotes.
+
+        .. seealso::
+
+            :ref:`change_3809`
+
+    .. change::
+        :tags: bug, postgresql
+        :tickets: 3807
+
+        Fixed issue in new PG "on conflict" construct where columns including
+        those of the "excluded" namespace would not be table-qualified
+        in the WHERE clauses in the statement.
+
+     .. change::
+        :tags: bug, sql, postgresql
+        :tickets: 3806
+
+        Added compiler-level flags used by Postgresql to place additional
+        parenthesis than would normally be generated by precedence rules
+        around operations involving JSON, HSTORE indexing operators as well as
+        within their operands since it has been observed that Postgresql's
+        precedence rules for at least the HSTORE indexing operator is not
+        consistent between 9.4 and 9.5.
+
+    .. change::
+        :tags: bug, sql, mysql
+        :tickets: 3803
+
+        The ``BaseException`` exception class is now intercepted by the
+        exception-handling routines of :class:`.Connection`, and includes
+        handling by the :meth:`~.ConnectionEvents.handle_error`
+        event.  The :class:`.Connection` is now **invalidated** by default in
+        the case of a system level exception that is not a subclass of
+        ``Exception``, including ``KeyboardInterrupt`` and the greenlet
+        ``GreenletExit`` class, to prevent further operations from occurring
+        upon a database connection that is in an unknown and possibly
+        corrupted state.  The MySQL drivers are most targeted by this change
+        however the change is across all DBAPIs.
+
+        .. seealso::
+
+            :ref:`change_3803`
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 3799
+
+        The "eq" and "ne" operators are no longer part of the list of
+        "associative" operators, while they remain considered to be
+        "commutative".  This allows an expression like ``(x == y) == z``
+        to be maintained at the SQL level with parenthesis.  Pull request
+        courtesy John Passaro.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 3767
+
+        The primaryjoin of a :func:`.relationship` construct can now include
+        a :func:`.bindparam` object that includes a callable function to
+        generate values.  Previously, the lazy loader strategy would
+        be incompatible with this use, and additionally would fail to correctly
+        detect if the "use_get" criteria should be used if the primary key
+        were involved with the bound parameter.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 3801
+
+        An UPDATE emitted from the ORM flush process can now accommodate a
+        SQL expression element for a column within the primary key of an
+        object, if the target database supports RETURNING in order to provide
+        the new value, or if the PK value is set "to itself" for the purposes
+        of bumping some other trigger / onupdate on the column.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 3788
+
+        Fixed bug where the "simple many-to-one" condition that allows  lazy
+        loading to use get() from identity map would fail to be  invoked if the
+        primaryjoin of the relationship had multiple clauses separated by AND
+        which were not in the same order as that of the primary key columns
+        being compared in each clause. This ordering
+        difference occurs for a composite foreign key where the table-bound
+        columns on the referencing side were not in the same order in the .c
+        collection as the primary key columns on the referenced side....which
+        in turn occurs a lot if one is using declarative mixins and/or
+        declared_attr to set up columns.
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 3789
+
+        Stringify of expression with unnamed :class:`.Column` objects, as
+        occurs in lots of situations including ORM error reporting,
+        will now render the name in string context as "<name unknown>"
+        rather than raising a compile error.
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 3786
+
+        Raise a more descriptive exception / message when ClauseElement
+        or non-SQLAlchemy objects that are not "executable" are erroneously
+        passed to ``.execute()``; a new exception ObjectNotExecutableError
+        is raised consistently in all cases.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 3776
+
+        An exception is raised when two ``@validates`` decorators on a mapping
+        make use of the same name.  Only one validator of a certain name
+        at a time is supported, there's no mechanism to chain these together,
+        as the order of the validators at the level of function decorator
+        can't be made deterministic.
+
+        .. seealso::
+
+            :ref:`change_3776`
+
+    .. change::
+        :tags: bug, orm
+
+        Mapper errors raised during :func:`.configure_mappers` now explicitly
+        include the name of the originating mapper in the exception message
+        to help in those situations where the wrapped exception does not
+        itself include the source mapper.  Pull request courtesy
+        John Perkins.
+
+    .. change::
+        :tags: bug, mysql
+        :tickets: 3766
+
+        Fixed bug where the "literal_binds" flag would not be propagated
+        to a CAST expression under MySQL.
+
+    .. change::
+        :tags: bug, sql, postgresql, mysql
+        :tickets: 3765
+
+        Fixed regression in JSON datatypes where the "literal processor" for
+        a JSON index value would not be invoked.  The native String and Integer
+        datatypes are now called upon from within the JSONIndexType
+        and JSONPathType.  This is applied to the generic, Postgresql, and
+        MySQL JSON types and also has a dependency on :ticket:`3766`.
+
+    .. change::
+        :tags: change, orm
+
+        Passing False to :meth:`.Query.order_by` in order to cancel
+        all order by's is deprecated; there is no longer any difference
+        between calling this method with False or with None.
+
+    .. change::
+        :tags: feature, orm
+
+        The :meth:`.Query.group_by` method now resets the group by collection
+        if an argument of ``None`` is passed, in the same way that
+        :meth:`.Query.order_by` has worked for a long time.  Pull request
+        courtesy Iuri Diniz.
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 3763
+
+        Fixed bug where :class:`.Index` would fail to extract columns from
+        compound SQL expressions if those SQL expressions were wrapped inside
+        of an ORM-style ``__clause_element__()`` construct.  This bug
+        exists in 1.0.x as well, however in 1.1 is more noticeable as
+        hybrid_property @expression now returns a wrapped element.
+
+    .. change::
+        :tags: change, orm, declarative
+
+        Constructing a declarative base class that inherits from another class
+        will also inherit its docstring. This means
+        :func:`~.ext.declarative.as_declarative` acts more like a normal class
+        decorator.
+
+.. changelog::
+    :version: 1.1.0b3
+    :released: July 26, 2016
+
+    .. change::
+        :tags: change, orm
+        :tickets: 3749
+
+        Removed a warning that dates back to 0.4 which emits when a same-named
+        relationship is placed on two mappers that inherits via joined or
+        single table inheritance.   The warning does not apply to the
+        current unit of work implementation.
+
+        .. seealso::
+
+            :ref:`change_3749`
+
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 3745
+
+        Fixed bug in new CTE feature for update/insert/delete stated
+        as a CTE inside of an enclosing statement (typically SELECT) whereby
+        oninsert and onupdate values weren't called upon for the embedded
+        statement.
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 3744
+
+        Fixed bug in new CTE feature for update/insert/delete whereby
+        an anoymous (e.g. no name passed) :class:`.CTE` construct around
+        the statement would fail.
+
+    .. change::
+        :tags: bug, ext
+
+        sqlalchemy.ext.indexable will intercept IndexError as well
+        as KeyError when raising as AttributeError.
+
+    .. change::
+        :tags: feature, ext
+
+        Added a "default" parameter to the new sqlalchemy.ext.indexable
+        extension.
+
+.. changelog::
+    :version: 1.1.0b2
+    :released: July 1, 2016
+
+    .. change::
+        :tags: bug, ext, postgresql
+        :tickets: 3732
+
+        Made a slight behavioral change in the ``sqlalchemy.ext.compiler``
+        extension, whereby the existing compilation schemes for an established
+        construct would be removed if that construct was itself didn't already
+        have its own dedicated ``__visit_name__``.  This was a
+        rare occurrence in 1.0, however in 1.1 :class:`.postgresql.ARRAY`
+        subclasses :class:`.sqltypes.ARRAY` and has this behavior.
+        As a result, setting up a compilation handler for another dialect
+        such as SQLite would render the main :class:`.postgresql.ARRAY`
+        object no longer compilable.
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 3730
+
+        The processing performed by the :class:`.Boolean` datatype for backends
+        that only feature integer types has been made consistent between the
+        pure Python and C-extension versions, in that the C-extension version
+        will accept any integer value from the database as a boolean, not just
+        zero and one; additionally, non-boolean integer values being sent to
+        the database are coerced to exactly zero or one, instead of being
+        passed as the original integer value.
+
+        .. seealso::
+
+            :ref:`change_3730`
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 3725
+
+        Rolled back the validation rules a bit in :class:`.Enum` to allow
+        unknown string values to pass through, unless the flag
+        ``validate_string=True`` is passed to the Enum; any other kind of object is
+        still of course rejected.  While the immediate use
+        is to allow comparisons to enums with LIKE, the fact that this
+        use exists indicates there may be more unknown-string-comparison use
+        cases than we expected, which hints that perhaps there are some
+        unknown string-INSERT cases too.
+
+    .. change::
+        :tags: bug, mysql
+        :tickets: 3726
+
+        Dialed back the "order the primary key columns per auto-increment"
+        described in :ref:`change_mysql_3216` a bit, so that if the
+        :class:`.PrimaryKeyConstraint` is explicitly defined, the order
+        of columns is maintained exactly, allowing control of this behavior
+        when necessary.
+
+.. changelog::
+    :version: 1.1.0b1
+    :released: June 16, 2016
+
+    .. change::
+        :tags: feature, sql
+        :tickets: 3718
+
+        Added TABLESAMPLE support via the new :meth:`.FromClause.tablesample`
+        method and standalone function.  Pull request courtesy Ilja Everilä.
+
+        .. seealso::
+
+            :ref:`change_3718`
+
+    .. change::
+        :tags: feature, orm, ext
+
+        A new ORM extension :ref:`indexable_toplevel` is added, which allows
+        construction of Python attributes which refer to specific elements
+        of "indexed" structures such as arrays and JSON fields.  Pull request
+        courtesy Jeong YunWon.
+
+        .. seealso::
+
+            :ref:`feature_indexable`
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 3724
+
+        :meth:`.FromClause.count` is deprecated.  This function makes use of
+        an arbitrary column in the table and is not reliable; for Core use,
+        ``func.count()`` should be preferred.
+
+    .. change::
+        :tags: feature, postgresql
+        :tickets: 3529
+
+        Added support for PostgreSQL's INSERT..ON CONFLICT using a new
+        PostgreSQL-specific :class:`.postgresql.dml.Insert` object.
+        Pull request and extensive efforts here by Robin Thomas.
+
+        .. seealso::
+
+            :ref:`change_3529`
+
+    .. change::
+        :tags: feature, postgresql
+        :pullreq: bitbucket:84
+
+        The DDL for DROP INDEX will emit "CONCURRENTLY" if the
+        ``postgresql_concurrently`` flag is set upon the
+        :class:`.Index` and if the database in use is detected as
+        PostgreSQL version 9.2 or greater.   For CREATE INDEX, database
+        version detection is also added which will omit the clause if
+        PG version is less than 8.2.  Pull request courtesy Iuri de Silvio.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 3708
+
+        Fixed an issue where a many-to-one change of an object from one
+        parent to another could work inconsistently when combined with
+        an un-flushed modification of the foreign key attribute.  The attribute
+        move now considers the database-committed value of the foreign key
+        in order to locate the "previous" parent of the object being
+        moved.   This allows events to fire off correctly including
+        backref events.  Previously, these events would not always fire.
+        Applications which may have relied on the previously broken
+        behavior may be affected.
+
+        .. seealso::
+
+            :ref:`change_3708`
+
+    .. change::
+        :tags: feature, sql
+        :tickets: 3049
+
+        Added support for ranges in window functions, using the
+        :paramref:`.expression.over.range_` and
+        :paramref:`.expression.over.rows` parameters.
+
+        .. seealso::
+
+            :ref:`change_3049`
+
+    .. change::
+        :tags: feature, orm
+
+        Added new flag :paramref:`.Session.bulk_insert_mappings.render_nulls`
+        which allows an ORM bulk INSERT to occur with NULL values rendered;
+        this bypasses server side defaults, however allows all statements
+        to be formed with the same set of columns, allowing them to be
+        batched.  Pull request courtesy Tobias Sauerwein.
+
+    .. change::
+        :tags: feature, postgresql
+        :tickets: 3588
+
+        Added new parameter :paramref:`.PGInspector.get_view_names.include`,
+        allowing specification for what kinds of views should be returned.
+        Currently "plain" and "materialized" views are included.  Pull
+        request courtesy Sebastian Bank.
+
+    .. change::
+        :tags: feature, mssql
+
+        The ``mssql_clustered`` flag available on :class:`.UniqueConstraint`,
+        :class:`.PrimaryKeyConstraint`, :class:`.Index` now defaults to
+        ``None``, and can be set to False which will render the NONCLUSTERED
+        keyword in particular for a primary key, allowing a different index to
+        be used as "clustered". Pull request courtesy Saulius Žemaitaitis.
+
+    .. change::
+        :tags: feature, orm
+        :tickets: 1311
+
+        Added new event :meth:`.AttributeEvents.init_scalar`, as well
+        as a new example suite illustrating its use.  This event can be used
+        to provide a Core-generated default value to a Python-side attribute
+        before the object is persisted.
+
+        .. seealso::
+
+            :ref:`change_1311`
+
+    .. change::
+        :tags: feature, postgresql
+        :tickets: 3720
+
+        Added ``postgresql_tablespace`` as an argument to :class:`.Index`
+        to allow specification of TABLESPACE for an index in PostgreSQL.
+        Complements the same-named parameter on :class:`.Table`.  Pull
+        request courtesy Benjamin Bertrand.
+
+    .. change::
+        :tags: orm, feature
+        :pullreq: github:237
+
+        Added :paramref:`.AutomapBase.prepare.schema` to the
+        :meth:`.AutomapBase.prepare` method, to indicate which schema
+        tables should be reflected from if not the default schema.
+        Pull request courtesy Josh Marlow.
+
+    .. change::
+        :tags: feature, sqlite
+        :pullreq: github:244
+
+        The SQLite dialect now reflects ON UPDATE and ON DELETE phrases
+        within foreign key constraints.  Pull request courtesy
+        Michal Petrucha.
+
+    .. change::
+        :tags: bug, mssql
+        :pullreq: bitbucket:58
+
+        Adjustments to the mxODBC dialect to make use of the ``BinaryNull``
+        symbol when appropriate in conjunction with the ``VARBINARY``
+        data type.  Pull request courtesy Sheila Allen.
+
+    .. change::
+        :tags: feature, sql
+        :pullreq: bitbucket:80
... 43730 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/sqlalchemy.git



More information about the Python-modules-commits mailing list