- version update to 1.2.17 https://docs.sqlalchemy.org/en/latest/changelog/changelog_12.html OBS-URL: https://build.opensuse.org/request/show/677929 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-SQLAlchemy?expand=0&rev=130
1788 lines
84 KiB
Plaintext
1788 lines
84 KiB
Plaintext
-------------------------------------------------------------------
|
||
Thu Feb 21 08:35:33 UTC 2019 - Adrian Schröter <adrian@suse.de>
|
||
|
||
- version update to 1.2.17
|
||
https://docs.sqlalchemy.org/en/latest/changelog/changelog_12.html
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Feb 9 14:00:31 UTC 2019 - Adrian Schröter <adrian@suse.de>
|
||
|
||
- update to version 1.2.16:
|
||
Bugfix releases, find details at
|
||
https://docs.sqlalchemy.org/en/latest/changelog/changelog_12.html#change-1.2.16
|
||
https://docs.sqlalchemy.org/en/latest/changelog/changelog_12.html#change-1.2.15
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Dec 4 12:54:53 UTC 2018 - Matej Cepl <mcepl@suse.com>
|
||
|
||
- Remove superfluous devel dependency for noarch package
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Nov 12 06:16:33 UTC 2018 - Arun Persaud <arun@gmx.de>
|
||
|
||
- update to version 1.2.14:
|
||
* orm
|
||
+ [orm] [bug] Fixed bug in Session.bulk_update_mappings() where
|
||
alternate mapped attribute names would result in the primary key
|
||
column of the UPDATE statement being included in the SET clause,
|
||
as well as the WHERE clause; while usually harmless, for SQL
|
||
Server this can raise an error due to the IDENTITY column. This
|
||
is a continuation of the same bug that was fixed in #3849, where
|
||
testing was insufficient to catch this additional flaw.
|
||
References: #4357
|
||
+ [orm] [bug] Fixed a minor performance issue which could in some
|
||
cases add unnecessary overhead to result fetching, involving the
|
||
use of ORM columns and entities that include those same columns
|
||
at the same time within a query. The issue has to do with hash /
|
||
eq overhead when referring to the column in different ways.
|
||
References: #4347
|
||
* mysql
|
||
+ [mysql] [bug] Fixed regression caused by #4344 released in
|
||
1.2.13, where the fix for MySQL 8.0’s case sensitivity problem
|
||
with referenced column names when reflecting foreign key
|
||
referents is worked around using the information_schema.columns
|
||
view. The workaround was failing on OSX /
|
||
lower_case_table_names=2 which produces non-matching casing for
|
||
the information_schema.columns vs. that of SHOW CREATE TABLE, so
|
||
in case-insensitive SQL modes case-insensitive matching is now
|
||
used. References: #4361
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Nov 1 22:48:27 UTC 2018 - Arun Persaud <arun@gmx.de>
|
||
|
||
- update to version 1.2.13:
|
||
* orm
|
||
+ [orm] [bug] Fixed bug where “dynamic” loader needs to explicitly
|
||
set the “secondary” table in the FROM clause of the query, to
|
||
suit the case where the secondary is a join object that is
|
||
otherwise not pulled into the query from its columns alone.
|
||
References: #4349
|
||
* orm declarative
|
||
+ [bug] [declarative] [orm] Fixed regression caused by #4326 in
|
||
version 1.2.12 where using declared_attr with a mixin in
|
||
conjunction with orm.synonym() would fail to map the synonym
|
||
properly to an inherited subclass. References: #4350
|
||
+ [bug] [declarative] [orm] The column conflict resolution
|
||
technique discussed at Resolving Column Conflicts is now
|
||
functional for a Column that is also a primary key
|
||
column. Previously, a check for primary key columns declared on
|
||
a single-inheritance subclass would occur before the column copy
|
||
were allowed to pass. References: #4352
|
||
* sql
|
||
+ [sql] [feature] Refactored SQLCompiler to expose a
|
||
SQLCompiler.group_by_clause() method similar to the
|
||
SQLCompiler.order_by_clause() and SQLCompiler.limit_clause()
|
||
methods, which can be overridden by dialects to customize how
|
||
GROUP BY renders. Pull request courtesy Samuel Chou.
|
||
+ [sql] [bug] Fixed bug where the Enum.create_constraint flag on
|
||
the Enum datatype would not be propagated to copies of the type,
|
||
which affects use cases such as declarative mixins and abstract
|
||
bases. References: #4341
|
||
* postgresql
|
||
+ [postgresql] [bug] Added support for the aggregate_order_by
|
||
function to receive multiple ORDER BY elements, previously only
|
||
a single element was accepted. References: #4337
|
||
* mysql
|
||
+ [mysql] [bug] Added word function to the list of reserved words
|
||
for MySQL, which is now a keyword in MySQL 8.0 References: #4348
|
||
+ [mysql] [bug] Added a workaround for a MySQL bug #88718
|
||
introduced in the 8.0 series, where the reflection of a foreign
|
||
key constraint is not reporting the correct case sensitivity for
|
||
the referred column, leading to errors during use of the
|
||
reflected constraint such as when using the automap
|
||
extension. The workaround emits an additional query to the
|
||
information_schema tables in order to retrieve the correct case
|
||
sensitive name. References: #4344
|
||
* misc
|
||
+ [misc] [bug] Fixed issue where part of the utility language
|
||
helper internals was passing the wrong kind of argument to the
|
||
Python __import__ builtin as the list of modules to be
|
||
imported. The issue produced no symptoms within the core library
|
||
but could cause issues with external applications that redefine
|
||
the __import__ builtin or otherwise instrument it. Pull request
|
||
courtesy Joe Urciuoli.
|
||
+ [misc] [bug] [py3k] Fixed additional warnings generated by
|
||
Python 3.7 due to changes in the organization of the Python
|
||
collections and collections.abc packages. Previous collections
|
||
warnings were fixed in version 1.2.11. Pull request courtesy
|
||
xtreak. References: #4339
|
||
+ [bug] [ext] Added missing .index() method to list-based
|
||
association collections in the association proxy extension.
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Sep 22 05:28:52 UTC 2018 - Arun Persaud <arun@gmx.de>
|
||
|
||
- update to version 1.2.12:
|
||
* orm
|
||
+ [orm] [bug] Added a check within the weakref cleanup for the
|
||
InstanceState object to check for the presence of the dict
|
||
builtin, in an effort to reduce error messages generated when
|
||
these cleanups occur during interpreter shutdown. Pull request
|
||
courtesy Romuald Brunet.
|
||
+ [orm] [bug] Fixed bug where use of Lateral construct in
|
||
conjunction with Query.join() as well as
|
||
Query.select_entity_from() would not apply clause adaption to
|
||
the right side of the join. “lateral” introduces the use case of
|
||
the right side of a join being correlatable. Previously,
|
||
adaptation of this clause wasn’t considered. Note that in 1.2
|
||
only, a selectable introduced by Query.subquery() is still not
|
||
adapted due to #4304; the selectable needs to be produced by the
|
||
select() function to be the right side of the “lateral” join.
|
||
References: #4334
|
||
+ [orm] [bug] Fixed 1.2 regression caused by #3472 where the
|
||
handling of an “updated_at” style column within the context of a
|
||
post-update operation would also occur for a row that is to be
|
||
deleted following the update, meaning both that a column with a
|
||
Python-side value generator would show the now-deleted value
|
||
that was emitted for the UPDATE before the DELETE (which was not
|
||
the previous behavor), as well as that a SQL- emitted value
|
||
generator would have the attribute expired, meaning the previous
|
||
value would be unreachable due to the row having been deleted
|
||
and the object detached from the session.The “postfetch” logic
|
||
that was added as part of #3472 is now skipped entirely for an
|
||
object that ultimately is to be deleted. References: #4327
|
||
* orm declarative
|
||
+ [bug] [declarative] [orm] Fixed bug where the declarative scan
|
||
for attributes would receive the expression proxy delivered by a
|
||
hybrid attribute at the class level, and not the hybrid
|
||
attribute itself, when receiving the descriptor via the
|
||
@declared_attr callable on a subclass of an already-mapped
|
||
class. This would lead to an attribute that did not report
|
||
itself as a hybrid when viewed within
|
||
Mapper.all_orm_descriptors. References: #4326
|
||
* postgresql
|
||
+ [postgresql] [bug] Fixed bug in PostgreSQL dialect where
|
||
compiler keyword arguments such as literal_binds=True were not
|
||
being propagated to a DISTINCT ON expression. References: #4325
|
||
+ [postgresql] [bug] Fixed the postgresql.array_agg() function,
|
||
which is a slightly altered version of the usual
|
||
functions.array_agg() function, to also accept an incoming
|
||
“type” argument without forcing an ARRAY around it, essentially
|
||
the same thing that was fixed for the generic function in 1.1 in
|
||
#4107. References: #4324
|
||
+ [postgresql] [bug] Fixed bug in PostgreSQL ENUM reflection where
|
||
a case-sensitive, quoted name would be reported by the query
|
||
including quotes, which would not match a target column during
|
||
table reflection as the quotes needed to be stripped off.
|
||
References: #4323
|
||
* oracle
|
||
+ [oracle] [bug] Fixed issue for cx_Oracle 7.0 where the behavior
|
||
of Oracle param.getvalue() now returns a list, rather than a
|
||
single scalar value, breaking autoincrement logic throughout the
|
||
Core and ORM. The dml_ret_array_val compatibility flag is used
|
||
for cx_Oracle 6.3 and 6.4 to establish compatible behavior with
|
||
7.0 and forward, for cx_Oracle 6.2.1 and prior a version number
|
||
check falls back to the old logic. References: #4335
|
||
* misc
|
||
+ [bug] [ext] Fixed issue where BakedQuery did not include the
|
||
specific query class used by the Session as part of the cache
|
||
key, leading to incompatibilities when using custom query
|
||
classes, in particular the ShardedQuery which has some different
|
||
argument signatures. References: #4328
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Aug 25 18:12:02 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 1.2.11:
|
||
* orm declarative
|
||
+ [bug] [declarative] [orm] Fixed issue in previously untested use
|
||
case, allowing a declarative mapped class to inherit from a
|
||
classically-mapped class outside of the declarative base,
|
||
including that it accommodates for unmapped intermediate
|
||
classes. An unmapped intermediate class may specify
|
||
__abstract__, which is now interpreted correctly, or the
|
||
intermediate class can remain unmarked, and the classically
|
||
mapped base class will be detected within the hierarchy
|
||
regardless. In order to anticipate existing scenarios which may
|
||
be mixing in classical mappings into existing declarative
|
||
hierarchies, an error is now raised if multiple mapped bases are
|
||
detected for a given class. References: #4321
|
||
* sql
|
||
+ [sql] [bug] Fixed issue that is closely related to #3639 where
|
||
an expression rendered in a boolean context on a non-native
|
||
boolean backend would be compared to 1/0 even though it is
|
||
already an implcitly boolean expression, when
|
||
ColumnElement.self_group() were used. While this does not affect
|
||
the user-friendly backends (MySQL, SQLite) it was not handled by
|
||
Oracle (and possibly SQL Server). Whether or not the expression
|
||
is implicitly boolean on any database is now determined up front
|
||
as an additional check to not generate the integer comparison
|
||
within the compliation of the statement. References: #4320
|
||
+ [sql] [bug] Added missing window function parameters
|
||
WithinGroup.over.range_ and WithinGroup.over.rows parameters to
|
||
the WithinGroup.over() and FunctionFilter.over() methods, to
|
||
correspond to the range/rows feature added to the “over” method
|
||
of SQL functions as part of #3049 in version 1.1. References:
|
||
#4322
|
||
+ [sql] [bug] Fixed bug where the multi-table support for UPDATE
|
||
and DELETE statements did not consider the additional FROM
|
||
elements as targets for correlation, when a correlated SELECT
|
||
were also combined with the statement. This change now includes
|
||
that a SELECT statement in the WHERE clause for such a statement
|
||
will try to auto-correlate back to these additional tables in
|
||
the parent UPDATE/DELETE or unconditionally correlate if
|
||
Select.correlate() is used. Note that auto-correlation raises an
|
||
error if the SELECT statement would have no FROM clauses as a
|
||
result, which can now occur if the parent UPDATE/DELETE
|
||
specifies the same tables in its additional set of tables;
|
||
specify Select.correlate() explicitly to resolve. References:
|
||
#4313
|
||
* oracle
|
||
+ [oracle] [bug] For cx_Oracle, Integer datatypes will now be
|
||
bound to “int”, per advice from the cx_Oracle
|
||
developers. Previously, using cx_Oracle.NUMBER caused a loss in
|
||
precision within the cx_Oracle 6.x series. References: #4309
|
||
* misc
|
||
+ [bug] [py3k] Started importing “collections” from
|
||
“collections.abc” under Python 3.3 and greater for Python 3.8
|
||
compatibility. Pull request courtesy Nathaniel Knight.
|
||
+ Fixed issue where the “schema” name used for a SQLite database
|
||
within table reflection would not quote the schema name
|
||
correctly. Pull request courtesy Phillip Cloud.
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Jul 14 01:56:32 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 1.2.10:
|
||
* orm
|
||
+ [orm] [bug] Fixed bug in Bundle construct where placing two
|
||
columns of the same name would be de-duplicated, when the Bundle
|
||
were used as part of the rendered SQL, such as in the ORDER BY
|
||
or GROUP BY of the statement. References: #4295
|
||
+ [orm] [bug] Fixed regression in 1.2.9 due to #4287 where using a
|
||
Load option in conjunction with a string wildcard would result
|
||
in a TypeError. References: #4298
|
||
* sql
|
||
+ [sql] [bug] Fixed bug where a Sequence would be dropped
|
||
explicitly before any Table that refers to it, which breaks in
|
||
the case when the sequence is also involved in a server-side
|
||
default for that table, when using MetaData.drop_all(). The step
|
||
which processes sequences to be dropped via non server-side
|
||
column default functions is now invoked after the table itself
|
||
is dropped. References: #4300
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Jul 1 02:17:55 UTC 2018 - arun@gmx.de
|
||
|
||
- removed patch fix_test_reflection.patch (included upstream)
|
||
|
||
- update to version 1.2.9:
|
||
* orm
|
||
+ [orm] [bug] Fixed issue where chaining multiple join elements
|
||
inside of Query.join() might not correctly adapt to the previous
|
||
left-hand side, when chaining joined inheritance classes that
|
||
share the same base class.
|
||
References: #3505
|
||
+ [orm] [bug] Fixed bug in cache key generation for baked queries
|
||
which could cause a too-short cache key to be generated for the
|
||
case of eager loads across subclasses. This could in turn cause
|
||
the eagerload query to be cached in place of a non-eagerload
|
||
query, or vice versa, for a polymorhic “selectin” load, or
|
||
possibly for lazy loads or selectin loads as well.
|
||
References: #4287
|
||
+ [orm] [bug] Fixed bug in new polymorphic selectin loading where
|
||
the BakedQuery used internally would be mutated by the given
|
||
loader options, which would both inappropriately mutate the
|
||
subclass query as well as carry over the effect to subsequent
|
||
queries.
|
||
References: #4286
|
||
+ [orm] [bug] Fixed regression caused by #4256 (itself a
|
||
regression fix for #4228) which breaks an undocumented behavior
|
||
which converted for a non-sequence of entities passed directly
|
||
to the Query constructor into a single-element sequence. While
|
||
this behavior was never supported or documented, it’s already in
|
||
use so has been added as a behavioral contract to Query.
|
||
References: #4269
|
||
+ [orm] [bug] Fixed an issue that was both a performance
|
||
regression in 1.2 as well as an incorrect result regarding the
|
||
“baked” lazy loader, involving the generation of cache keys from
|
||
the original Query object’s loader options. If the loader
|
||
options were built up in a “branched” style using common base
|
||
elements for multiple options, the same options would be
|
||
rendered into the cache key repeatedly, causing both a
|
||
performance issue as well as generating the wrong cache
|
||
key. This is fixed, along with a performance improvement when
|
||
such “branched” options are applied via Query.options() to
|
||
prevent the same option objects from being applied repeatedly.
|
||
References: #4270
|
||
* sql
|
||
+ [sql] [bug] Fixed regression in 1.2 due to #4147 where a Table
|
||
that has had some of its indexed columns redefined with new
|
||
ones, as would occur when overriding columns during reflection
|
||
or when using Table.extend_existing, such that the
|
||
Table.tometadata() method would fail when attempting to copy
|
||
those indexes as they still referred to the replaced column. The
|
||
copy logic now accommodates for this condition.
|
||
References: #4279
|
||
* mysql
|
||
+ [mysql] [bug] Fixed percent-sign doubling in
|
||
mysql-connector-python dialect, which does not require
|
||
de-doubling of percent signs. Additionally, the mysql-
|
||
connector-python driver is inconsistent in how it passes the
|
||
column names in cursor.description, so a workaround decoder has
|
||
been added to conditionally decode these
|
||
randomly-sometimes-bytes values to unicode only if needed. Also
|
||
improved test support for mysql-connector-python, however it
|
||
should be noted that this driver still has issues with unicode
|
||
that continue to be unresolved as of yet.
|
||
+ [mysql] [bug] Fixed bug in index reflection where on MySQL 8.0
|
||
an index that includes ASC or DESC in an indexed column
|
||
specfication would not be correctly reflected, as MySQL 8.0
|
||
introduces support for returning this information in a table
|
||
definition string.
|
||
References: #4293
|
||
+ [mysql] [bug] Fixed bug in MySQLdb dialect and variants such as
|
||
PyMySQL where an additional “unicode returns” check upon
|
||
connection makes explicit use of the “utf8” character set, which
|
||
in MySQL 8.0 emits a warning that utf8mb4 should be used. This
|
||
is now replaced with a utf8mb4 equivalent. Documentation is also
|
||
updated for the MySQL dialect to specify utf8mb4 in all
|
||
examples. Additional changes have been made to the test suite to
|
||
use utf8mb3 charsets and databases (there seem to be collation
|
||
issues in some edge cases with utf8mb4), and to support
|
||
configuration default changes made in MySQL 8.0 such as
|
||
explicit_defaults_for_timestamp as well as new errors raised for
|
||
invalid MyISAM indexes.
|
||
References: #4283
|
||
+ [mysql] [bug] The Update construct now accommodates a Join
|
||
object as supported by MySQL for UPDATE..FROM. As the construct
|
||
already accepted an alias object for a similar purpose, the
|
||
feature of UPDATE against a non-table was already implied so
|
||
this has been added.
|
||
References: #3645
|
||
* sqlite
|
||
+ [sqlite] [bug] Fixed issue in test suite where SQLite 3.24 added
|
||
a new reserved word that conflicted with a usage in
|
||
TypeReflectionTest. Pull request courtesy Nils Philippsen.
|
||
* mssql
|
||
+ [mssql] [bug] Fixed bug in MSSQL reflection where when two
|
||
same-named tables in different schemas had same-named primary
|
||
key constraints, foreign key constraints referring to one of the
|
||
tables would have their columns doubled, causing errors. Pull
|
||
request courtesy Sean Dunn.
|
||
References: #4228
|
||
+ [mssql] [bug] [py3k] Fixed issue within the SQL Server dialect
|
||
under Python 3 where when running against a non-standard SQL
|
||
server database that does not contain either the
|
||
“sys.dm_exec_sessions” or “sys.dm_pdw_nodes_exec_sessions”
|
||
views, leading to a failure to fetch the isolation level, the
|
||
error raise would fail due to an UnboundLocalError.
|
||
References: #4273
|
||
* oracle
|
||
+ [oracle] [feature] Added a new event currently used only by the
|
||
cx_Oracle dialect, DialectEvents.setiputsizes(). The event
|
||
passes a dictionary of BindParameter objects to DBAPI-specific
|
||
type objects that will be passed, after conversion to parameter
|
||
names, to the cx_Oracle cursor.setinputsizes() method. This
|
||
allows both visibility into the setinputsizes process as well as
|
||
the ability to alter the behavior of what datatypes are passed
|
||
to this method.
|
||
See als Fine grained control over cx_Oracle data binding and performance with setinputsizes
|
||
References: #4290
|
||
+ [oracle] [bug] [mysql] Fixed INSERT FROM SELECT with CTEs for
|
||
the Oracle and MySQL dialects, where the CTE was being placed
|
||
above the entire statement as is typical with other databases,
|
||
however Oracle and MariaDB 10.2 wants the CTE underneath the
|
||
“INSERT” segment. Note that the Oracle and MySQL dialects don’t
|
||
yet work when a CTE is applied to a subquery inside of an UPDATE
|
||
or DELETE statement, as the CTE is still applied to the top
|
||
rather than inside the subquery.
|
||
References: #4275
|
||
* misc
|
||
+ [feature] [ext] Added new attribute Query.lazy_loaded_from which
|
||
is populated with an InstanceState that is using this Query in
|
||
order to lazy load a relationship. The rationale for this is
|
||
that it serves as a hint for the horizontal sharding feature to
|
||
use, such that the identity token of the state can be used as
|
||
the default identity token to use for the query within
|
||
id_chooser().
|
||
References: #4243
|
||
+ [bug] [py3k] Replaced the usage of inspect.formatargspec() with
|
||
a vendored version copied from the Python standard library, as
|
||
inspect.formatargspec() is deprecated and as of Python 3.7.0 is
|
||
emitting a warning.
|
||
References: #4291
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Jun 26 06:55:57 UTC 2018 - mimi.vx@gmail.com
|
||
|
||
- add upstream fix_test_reflection.patch to fix tests with new sqlite
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Jun 21 23:01:18 UTC 2018 - hpj@urpla.net
|
||
|
||
- update to version 1.2.8:
|
||
* orm
|
||
+ [orm] [bug] Fixed regression in 1.2.7 caused by #4228, which
|
||
itself was fixing a 1.2-level regression, where the query_cls
|
||
callable passed to a Session was assumed to be a subclass of
|
||
Query with class method availability, as opposed to an
|
||
arbitrary callable. In particular, the dogpile caching example
|
||
illustrates query_cls as a function and not a Query subclass.
|
||
References: #4256
|
||
+ [orm] [bug] Fixed a long-standing regression that occurred in
|
||
version 1.0, which prevented the use of a custom MapperOption
|
||
that alters the _params of a Query object for a lazy load,
|
||
since the lazy loader itself would overwrite those parameters.
|
||
This applies to the “temporal range” example on the wiki. Note
|
||
however that the Query.populate_existing() method is now
|
||
required in order to rewrite the mapper options associated with
|
||
an object already loaded in the identity map.
|
||
As part of this change, a custom defined MapperOption will now
|
||
cause lazy loaders related to the target object to use a non-
|
||
baked query by default unless the
|
||
MapperOption._generate_cache_key() method is implemented. In
|
||
particular, this repairs one regression which occured when
|
||
using the dogpile.cache “advanced” example, which was not
|
||
returning cached results and instead emitting SQL due to an
|
||
incompatibility with the baked query loader; with the change,
|
||
the RelationshipCache option included for many releases in the
|
||
dogpile example will disable the “baked” query altogether. Note
|
||
that the dogpile example is also modernized to avoid both of
|
||
these issues as part of issue #4258. References: #4128
|
||
+ [orm] [bug] Fixed bug where the new
|
||
baked.Result.with_post_criteria() method would not interact
|
||
with a subquery-eager loader correctly, in that the “post
|
||
criteria” would not be applied to embedded subquery
|
||
eager loaders. This is related to #4128 in that the post
|
||
criteria feature is now used by the lazy loader.
|
||
+ [orm] [bug] Updated the dogpile.caching example to include new
|
||
structures that accommodate for the “baked” query system, which
|
||
is used by default within lazy loaders and some eager
|
||
relationship loaders. The dogpile.caching “relationship_caching”
|
||
and “advanced” examples were also broken due to #4256. The
|
||
issue here is also worked-around by the fix in #4128.
|
||
References: #4258
|
||
* engine
|
||
+ [engine] [bug] Fixed connection pool issue whereby if a
|
||
disconnection error were raised during the connection pool’s
|
||
“reset on return” sequence in conjunction with an explicit
|
||
transaction opened against the enclosing Connection object
|
||
(such as from calling Session.close() without a rollback or
|
||
commit, or calling Connection.close() without first closing a
|
||
transaction declared with Connection.begin()), a double-checkin
|
||
would result, which could then lead towards concurrent
|
||
checkouts of the same connection. The double-checkin condition
|
||
is now prevented overall by an assertion, as well as the
|
||
specific double-checkin scenario has been fixed.
|
||
References: #4252
|
||
+ [engine] [bug] Fixed a reference leak issue where the values of
|
||
the parameter dictionary used in a statement execution would
|
||
remain referenced by the “compiled cache”, as a result of
|
||
storing the key view used by Python 3 dictionary keys(). Pull
|
||
request courtesy Olivier Grisel.
|
||
* sql
|
||
+ [sql] [bug] Fixed issue where the “ambiguous literal” error
|
||
message used when interpreting literal values as SQL expression
|
||
values would encounter a tuple value, and fail to format the
|
||
message properly. Pull request courtesy Miguel Ventura.
|
||
* mssql
|
||
+ [mssql] [bug] Fixed a 1.2 regression caused by #4061 where the
|
||
SQL Server “BIT” type would be considered to be “native
|
||
boolean”. The goal here was to avoid creating a CHECK
|
||
constraint on the column, however the bigger issue is that the
|
||
BIT value does not behave like a true/false constant and cannot
|
||
be interpreted as a standalone expression, e.g. “WHERE
|
||
<column>”. The SQL Server dialect now goes back to being non-
|
||
native boolean, but with an extra flag that still avoids
|
||
creating the CHECK constraint. References: #4250
|
||
* oracle
|
||
+ [oracle] [bug] The Oracle BINARY_FLOAT and BINARY_DOUBLE
|
||
datatypes now participate within cx_Oracle.setinputsizes(),
|
||
passing along NATIVE_FLOAT, so as to support the NaN value.
|
||
Additionally, oracle.BINARY_FLOAT, oracle.BINARY_DOUBLE and
|
||
oracle.DOUBLE_PRECISION now subclass Float, since these are
|
||
floating point datatypes, not decimal. These datatypes were
|
||
already defaulting the Float.asdecimal flag to False in line
|
||
with what Float already does. References: #4264
|
||
+ [oracle] [bug] Added reflection capabilities for the
|
||
oracle.BINARY_FLOAT, oracle.BINARY_DOUBLE datatypes.
|
||
+ [oracle] [bug] Altered the Oracle dialect such that when an
|
||
Integer type is in use, the cx_Oracle.NUMERIC type is set up
|
||
for setinputsizes(). In SQLAlchemy 1.1 and earlier,
|
||
cx_Oracle.NUMERIC was passed for all numeric types
|
||
unconditionally, and in 1.2 this was removed to allow for
|
||
better numeric precision. However, for integers, some
|
||
database/client setups will fail to coerce boolean values
|
||
True/False into integers which introduces regressive behavior
|
||
when using SQLAlchemy 1.2. Overall, the setinputsizes logic
|
||
seems like it will need a lot more flexibility going forward so
|
||
this is a start for that. References: #4259
|
||
* misc
|
||
+ [bug] [ext] The horizontal sharding extension now makes use of
|
||
the identity token added to ORM identity keys as part of #4137,
|
||
when an object refresh or column-based deferred load or
|
||
unexpiration operation occurs. Since we know the “shard” that
|
||
the object originated from, we make use of this value when
|
||
refreshing, thereby avoiding queries against other shards that
|
||
don’t match this object’s identity in any case.
|
||
References: #4247
|
||
+ [bug] [ext] Fixed a race condition which could occur if automap
|
||
AutomapBase.prepare() were used within a multi-threaded context
|
||
against other threads which may call configure_mappers() as a
|
||
result of use of other mappers. The unfinished mapping work of
|
||
automap is particularly sensitive to being pulled in by a
|
||
configure_mappers() step leading to errors. References: #4266
|
||
+ [bug] [tests] Fixed a bug in the test suite where if an
|
||
external dialect returned None for server_version_info, the
|
||
exclusion logic would raise an AttributeError.
|
||
References: #4249
|
||
|
||
-------------------------------------------------------------------
|
||
Sat Apr 21 16:35:48 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 1.2.7:
|
||
* orm
|
||
+ [orm] [bug] Fixed regression in 1.2 within sharded query feature
|
||
where the new “identity_token” element was not being correctly
|
||
considered within the scope of a lazy load operation, when
|
||
searching the identity map for a related many-to-one
|
||
element. The new behavior will allow for making use of the
|
||
“id_chooser” in order to determine the best identity key to
|
||
retrieve from the identity map. In order to achieve this, some
|
||
refactoring of 1.2’s “identity_token” approach has made some
|
||
slight changes to the implementation of ShardedQuery which
|
||
should be noted for other derivations of this class.
|
||
References: #4228
|
||
+ [orm] [bug] Fixed issue in single-inheritance loading where the
|
||
use of an aliased entity against a single-inheritance subclass
|
||
in conjunction with the Query.select_from() method would cause
|
||
the SQL to be rendered with the unaliased table mixed in to the
|
||
query, causing a cartesian product. In particular this was
|
||
affecting the new “selectin” loader when used against a
|
||
single-inheritance subclass. References: #4241
|
||
* sql
|
||
+ [sql] [bug] Fixed issue where the compilation of an INSERT
|
||
statement with the “literal_binds” option that also uses an
|
||
explicit sequence and “inline” generation, as on Postgresql and
|
||
Oracle, would fail to accommodate the extra keyword argument
|
||
within the sequence processing routine. References: #4231
|
||
* postgresql
|
||
+ [postgresql] [feature] Added new PG type postgresql.REGCLASS
|
||
which assists in casting table names to OID values. Pull request
|
||
courtesy Sebastian Bank. References: #4160
|
||
+ [postgresql] [bug] Fixed bug where the special “not equals”
|
||
operator for the Postgresql “range” datatypes such as DATERANGE
|
||
would fail to render “IS NOT NULL” when compared to the Python
|
||
None value. References: #4229
|
||
* mssql
|
||
+ [mssql] [bug] Fixed 1.2 regression caused by #4060 where the
|
||
query used to reflect SQL Server cross-schema foreign keys was
|
||
limiting the criteria incorrectly. References: #4234
|
||
* oracle
|
||
+ [oracle] [bug] The Oracle NUMBER datatype is reflected as
|
||
INTEGER if the precision is NULL and the scale is zero, as this
|
||
is how INTEGER values come back when reflected from Oracle’s
|
||
tables. Pull request courtesy Kent Bower.
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Apr 1 22:17:46 UTC 2018 - arun@gmx.de
|
||
|
||
- specfile:
|
||
* run spec-cleaner
|
||
|
||
- update to version 1.2.6:
|
||
* orm
|
||
+ [orm] [bug] Fixed bug where using Mutable.associate_with() or
|
||
Mutable.as_mutable() in conjunction with a class that has non-
|
||
primary mappers set up with alternatively-named attributes would
|
||
produce an attribute error. Since non-primary mappers are not
|
||
used for persistence, the mutable extension now excludes
|
||
non-primary mappers from its instrumentation steps. References:
|
||
#4215
|
||
* engine
|
||
+ [engine] [bug] Fixed bug in connection pool where a connection
|
||
could be present in the pool without all of its “connect” event
|
||
handlers called, if a previous “connect” handler threw an
|
||
exception; note that the dialects themselves have connect
|
||
handlers that emit SQL, such as those which set transaction
|
||
isolation, which can fail if the database is in a non-available
|
||
state, but still allows a connection. The connection is now
|
||
invalidated first if any of the connect handlers fail.
|
||
References: #4225
|
||
* sql
|
||
+ [sql] [bug] Fixed a regression that occurred from the previous
|
||
fix to #4204 in version 1.2.5, where a CTE that refers to itself
|
||
after the CTE.alias() method has been called would not refer to
|
||
iself correctly. References: #4204
|
||
* postgresql
|
||
+ [postgresql] [feature] Added support for “PARTITION BY” in
|
||
Postgresql table definitions, using
|
||
“postgresql_partition_by”. Pull request courtesy Vsevolod
|
||
Solovyov.
|
||
* mssql
|
||
+ [mssql] [bug] Adjusted the SQL Server version detection for
|
||
pyodbc to only allow for numeric tokens, filtering out
|
||
non-integers, since the dialect does tuple- numeric comparisons
|
||
with this value. This is normally true for all known SQL Server
|
||
/ pyodbc drivers in any case. References: #4227
|
||
* oracle
|
||
+ [oracle] [bug] The minimum cx_Oracle version supported is 5.2
|
||
(June 2015). Previously, the dialect asserted against version
|
||
5.0 but as of 1.2.2 we are using some symbols that did not
|
||
appear until 5.2. References: #4211
|
||
* misc
|
||
+ [bug] [declarative] Removed a warning that would be emitted when
|
||
calling upon __table_args__, __mapper_args__ as named with a
|
||
@declared_attr method, when called from a non-mapped declarative
|
||
mixin. Calling these directly is documented as the approach to
|
||
use when one is overidding one of these methods on a mapped
|
||
class. The warning still emits for regular attribute names.
|
||
References: #4221
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Mar 8 04:50:46 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 1.2.5:
|
||
* orm
|
||
+ [orm] [feature] Added new feature
|
||
Query.only_return_tuples(). Causes the Query object to return
|
||
keyed tuple objects unconditionally even if the query is against
|
||
a single entity. Pull request courtesy Eric Atkin.
|
||
+ [orm] [bug] Fixed bug in new “polymorphic selectin” loading when
|
||
a selection of polymorphic objects were to be partially loaded
|
||
from a relationship lazy loader, leading to an “empty IN”
|
||
condition within the load that raises an error for the “inline”
|
||
form of “IN”. References: #4199
|
||
+ [orm] [bug] Fixed 1.2 regression where a mapper option that
|
||
contains an AliasedClass object, as is typical when using the
|
||
QueryableAttribute.of_type() method, could not be pickled. 1.1’s
|
||
behavior was to omit the aliased class objects from the path, so
|
||
this behavior is restored. References: #4209
|
||
* sql
|
||
+ [sql] [bug] Fixed bug in :class:.`CTE` construct along the same
|
||
lines as that of #4204 where a CTE that was aliased would not
|
||
copy itself correctly during a “clone” operation as is frequent
|
||
within the ORM as well as when using the ClauseElement.params()
|
||
method. References: #4210
|
||
+ [sql] [bug] Fixed bug in CTE rendering where a CTE that was also
|
||
turned into an Alias would not render its “ctename AS aliasname”
|
||
clause appropriately if there were more than one reference to
|
||
the CTE in a FROM clause. References: #4204
|
||
+ [sql] [bug] Fixed bug in new “expanding IN parameter” feature
|
||
where the bind parameter processors for values wasn’t working at
|
||
all, tests failed to cover this pretty basic case which includes
|
||
that ENUM values weren’t working. References: #4198
|
||
* postgresql
|
||
+ [postgresql] [bug] [py3k] Fixed bug in Postgresql COLLATE /
|
||
ARRAY adjustment first introduced in #4006 where new behaviors
|
||
in Python 3.7 regular expressions caused the fix to fail. This
|
||
change is also backported to: 1.1.18 References: #4208
|
||
* mysql
|
||
+ [mysql] [bug] MySQL dialects now query the server version using
|
||
SELECT @@version explicitly to the server to ensure we are
|
||
getting the correct version information back. Proxy servers like
|
||
MaxScale interfere with the value that is passed to the DBAPI’s
|
||
connection.server_version value so this is no longer reliable.
|
||
This change is also backported to: 1.1.18 References: #4205
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Feb 23 23:48:41 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 1.2.4:
|
||
* orm
|
||
+ [orm] [bug] Fixed 1.2 regression in ORM versioning feature where
|
||
a mapping against a select() or alias() that also used a
|
||
versioning column against the underlying table would fail due to
|
||
the check added as part of #3673. References: #4193
|
||
* engine
|
||
+ [engine] [bug] Fixed regression caused in 1.2.3 due to fix from
|
||
#4181 where the changes to the event system involving Engine and
|
||
OptionEngine did not accommodate for event removals, which would
|
||
raise an AttributeError when invoked at the class level.
|
||
References: #4190
|
||
* sql
|
||
+ [sql] [bug] Fixed bug where CTE expressions would not have their
|
||
name or alias name quoted when the given name is case sensitive
|
||
or otherwise requires quoting. Pull request courtesy Eric Atkin.
|
||
References: #4197
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Feb 18 17:09:28 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 1.2.3:
|
||
* orm
|
||
+ [orm] [feature] Added new argument
|
||
attributes.set_attribute.inititator to the
|
||
attributes.set_attribute() function, allowing an event token
|
||
received from a listener function to be propagated to subsequent
|
||
set events.
|
||
+ [orm] [bug] Fixed issue in post_update feature where an UPDATE
|
||
is emitted when the parent object has been deleted but the
|
||
dependent object is not. This issue has existed for a long time
|
||
however since 1.2 now asserts rows matched for post_update, this
|
||
was raising an error. This change is also backported to: 1.1.16
|
||
References: #4187
|
||
+ [orm] [bug] Fixed regression caused by fix for issue #4116
|
||
affecting versions 1.2.2 as well as 1.1.15, which had the effect
|
||
of mis-calculation of the “owning class” of an AssociationProxy
|
||
as the NoneType class in some declarative mixin/inheritance
|
||
situations as well as if the association proxy were accessed off
|
||
of an un-mapped class. The “figure out the owner” logic has been
|
||
replaced by an in-depth routine that searches through the
|
||
complete mapper hierarchy assigned to the class or subclass to
|
||
determine the correct (we hope) match; will not assign the owner
|
||
if no match is found. An exception is now raised if the proxy is
|
||
used against an un-mapped instance. This change is also
|
||
backported to: 1.1.16 References: #4185
|
||
+ [orm] [bug] Fixed bug where the Bundle object did not correctly
|
||
report upon the primary Mapper object represened by the bundle,
|
||
if any. An immediate side effect of this issue was that the new
|
||
selectinload loader strategy wouldn’t work with the horizontal
|
||
sharding extension. References: #4175
|
||
+ [orm] [bug] Fixed bug in concrete inheritance mapping where
|
||
user-defined attributes such as hybrid properties that mirror
|
||
the names of mapped attributes from sibling classes would be
|
||
overwritten by the mapper as non-accessible at the instance
|
||
level. Additionally ensured that user-bound descriptors are not
|
||
implicitly invoked at the class level during the mapper
|
||
configuration stage. References: #4188
|
||
+ [orm] [bug] Fixed bug where the orm.reconstructor() event helper
|
||
would not be recognized if it were applied to the __init__()
|
||
method of the mapped class. References: #4178
|
||
* engine
|
||
+ [engine] [bug] Fixed bug where events associated with an Engine
|
||
at the class level would be doubled when the
|
||
Engine.execution_options() method were used. To achieve this,
|
||
the semi-private class OptionEngine no longer accepts events
|
||
directly at the class level and will raise an error; the class
|
||
only propagates class-level events from its parent
|
||
Engine. Instance-level events continue to work as before.
|
||
References: #4181
|
||
+ [engine] [bug] The URL object now allows query keys to be
|
||
specified multiple times where their values will be joined into
|
||
a list. This is to support the plugins feature documented at
|
||
CreateEnginePlugin which documents that “plugin” can be passed
|
||
multiple times. Additionally, the plugin names can be passed to
|
||
create_engine() outside of the URL using the new
|
||
create_engine.plugins parameter. References: #4170
|
||
* sql
|
||
+ [sql] [feature] Added support for Enum to persist the values of
|
||
the enumeration, rather than the keys, when using a Python
|
||
pep-435 style enumerated object. The user supplies a callable
|
||
function that will return the string values to be
|
||
persisted. This allows enumerations against non-string values to
|
||
be value-persistable as well. Pull request courtesy Jon Snyder.
|
||
References: #3906
|
||
+ [sql] [bug] Fixed bug where the Enum type wouldn’t handle enum
|
||
“aliases” correctly, when more than one key refers to the same
|
||
value. Pull request courtesy Daniel Knell. References: #4180
|
||
* postgresql
|
||
+ [postgresql] [bug] Added “SSL SYSCALL error: Operation timed
|
||
out” to the list of messages that trigger a “disconnect”
|
||
scenario for the psycopg2 driver. Pull request courtesy André
|
||
Cruz. This change is also backported to: 1.1.16
|
||
+ [postgresql] [bug] Added “TRUNCATE” to the list of keywords
|
||
accepted by the Postgresql dialect as an “autocommit”-triggering
|
||
keyword. Pull request courtesy Jacob Hayes. This change is also
|
||
backported to: 1.1.16
|
||
* sqlite
|
||
+ [sqlite] [bug] Fixed the import error raised when a platform has
|
||
neither pysqlite2 nor sqlite3 installed, such that the
|
||
sqlite3-related import error is raised, not the pysqlite2 one
|
||
which is not the actual failure mode. Pull request courtesy
|
||
Robin.
|
||
* oracle
|
||
+ [oracle] [feature] The ON DELETE options for foreign keys are
|
||
now part of Oracle reflection. Oracle does not support ON UPDATE
|
||
cascades. Pull request courtesy Miroslav Shubernetskiy.
|
||
+ [oracle] [bug] Fixed bug in cx_Oracle disconnect detection, used
|
||
by pre_ping and other features, where an error could be raised
|
||
as DatabaseError which includes a numeric error code; previously
|
||
we weren’t checking in this case for a disconnect code.
|
||
References: #4182
|
||
* misc
|
||
+ [bug] [pool] Fixed a fairly serious connection pool bug where a
|
||
connection that is acquired after being refreshed as a result of
|
||
a user-defined DisconnectionError or due to the 1.2-released
|
||
“pre_ping” feature would not be correctly reset if the
|
||
connection were returned to the pool by weakref cleanup
|
||
(e.g. the front-facing object is garbage collected); the weakref
|
||
would still refer to the previously invalidated DBAPI connection
|
||
which would have the reset operation erroneously called upon it
|
||
instead. This would lead to stack traces in the logs and a
|
||
connection being checked into the pool without being reset,
|
||
which can cause locking issues. This change is also backported
|
||
to: 1.1.16 References: #4184
|
||
+ [bug] [tests] A test added in 1.2 thought to confirm a Python
|
||
2.7 behavior turns out to be confirming the behavior only as of
|
||
Python 2.7.8. Python bug #8743 still impacts set comparison in
|
||
Python 2.7.7 and earlier, so the test in question involving
|
||
AssociationSet no longer runs for these older Python 2.7
|
||
versions. References: #3265
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Jan 28 18:53:04 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 1.2.2:
|
||
* orm
|
||
+ [orm] [bug] Fixed 1.2 regression regarding new bulk_replace
|
||
event where a backref would fail to remove an object from the
|
||
previous owner when a bulk-assignment assigned the object to a
|
||
new owner. References: #4171
|
||
* mysql
|
||
+ [mysql] [bug] Added more MySQL 8.0 reserved words to the MySQL
|
||
dialect for quoting purposes. Pull request courtesy Riccardo
|
||
Magliocchetti.
|
||
* mssql
|
||
+ [mssql] [bug] Added ODBC error code 10054 to the list of error
|
||
codes that count as a disconnect for ODBC / MSSQL server.
|
||
References: #4164
|
||
* oracle
|
||
+ [oracle] [bug] The cx_Oracle dialect now calls setinputsizes()
|
||
with cx_Oracle.NCHAR unconditionally when the NVARCHAR2
|
||
datatype, in SQLAlchemy corresponding to sqltypes.Unicode(), is
|
||
in use. Per cx_Oracle’s author this allows the correct
|
||
conversions to occur within the Oracle client regardless of the
|
||
setting for NLS_NCHAR_CHARACTERSET. References: #4163
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jan 17 04:05:43 UTC 2018 - arun@gmx.de
|
||
|
||
- update to version 1.2.1:
|
||
* orm
|
||
+ [orm] [bug] Fixed bug where an object that is expunged during a
|
||
rollback of a nested or subtransaction which also had its
|
||
primary key mutated would not be correctly removed from the
|
||
session, causing subsequent issues in using the session.
|
||
+ [orm] [bug] Fixed regression where pickle format of a Load /
|
||
_UnboundLoad object (e.g. loader options) changed and
|
||
__setstate__() was raising an UnboundLocalError for an object
|
||
received from the legacy format, even though an attempt was made
|
||
to do so. tests are now added to ensure this works.
|
||
+ [orm] [bug] Fixed regression caused by new lazyload caching
|
||
scheme in #3954 where a query that makes use of loader options
|
||
with of_type would cause lazy loads of unrelated paths to fail
|
||
with a TypeError.
|
||
+ [orm] [bug] Fixed bug in new “selectin” relationship loader
|
||
where the loader could try to load a non-existent relationship
|
||
when loading a collection of polymorphic objects, where only
|
||
some of the mappers include that relationship, typically when
|
||
PropComparator.of_type() is being used.
|
||
* sql
|
||
+ [sql] [bug] Fixed bug in Insert.values() where using the
|
||
“multi-values” format in combination with Column objects as keys
|
||
rather than strings would fail. Pull request courtesy Aubrey
|
||
Stark-Toller.
|
||
* mssql
|
||
+ [mssql] [bug] Fixed regression in 1.2 where newly repaired
|
||
quoting of collation names in #3785 breaks SQL Server, which
|
||
explicitly does not understand a quoted collation name. Whether
|
||
or not mixed-case collation names are quoted or not is now
|
||
deferred down to a dialect-level decision so that each dialect
|
||
can prepare these identifiers directly.
|
||
* oracle
|
||
+ [oracle] [bug] Fixed regression where the removal of most
|
||
setinputsizes rules from cx_Oracle dialect impacted the
|
||
TIMESTAMP datatype’s ability to retrieve fractional seconds.
|
||
+ [oracle] [bug] Fixed regression in Oracle imports where a
|
||
missing comma caused an undefined symbol to be present. Pull
|
||
request courtesy Miroslav Shubernetskiy.
|
||
* misc
|
||
+ [bug] [ext] Fixed regression in association proxy due to #3769
|
||
(allow for chained any() / has()) where contains() against an
|
||
association proxy chained in the form (o2m relationship,
|
||
associationproxy(m2o relationship, m2o relationship)) would
|
||
raise an error regarding the re-application of contains() on the
|
||
final link of the chain.
|
||
+ [bug] [tests] Removed an oracle-specific requirements rule from
|
||
the public test suite that was interfering with third party
|
||
dialect suites.
|
||
+ [bug] [tests] Added a new exclusion rule
|
||
group_by_complex_expression which disables tests that use “GROUP
|
||
BY <expr>”, which seems to be not viable for at least two third
|
||
party dialects.
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jan 3 03:57:00 UTC 2018 - arun@gmx.de
|
||
|
||
- specfile:
|
||
* updated test requirements
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Dec 31 05:58:02 UTC 2017 - arun@gmx.de
|
||
|
||
- update to version 1.2.0:
|
||
* See https://docs.sqlalchemy.org/en/latest/changelog/changelog_12.html
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Sep 25 16:11:55 UTC 2017 - arun@gmx.de
|
||
|
||
- update to version 1.1.14:
|
||
* orm
|
||
+ [orm] [bug] Fixed bug in Session.merge() following along similar
|
||
lines as that of #4030, where an internal check for a target
|
||
object in the identity map could lead to an error if it were to
|
||
be garbage collected immediately before the merge routine
|
||
actually retrieves the object. References: #4069
|
||
+ [orm] [bug] Fixed bug where an undefer_group() option would not
|
||
be recognized if it extended from a relationship that was
|
||
loading using joined eager loading. Additionally, as the bug led
|
||
to excess work being performed, Python function call counts are
|
||
also improved by 20% within the initial calculation of result
|
||
set columns, complementing the joined eager load improvements of
|
||
#3915. References: #4048
|
||
+ [orm] [bug] Fixed race condition in ORM identity map which would
|
||
cause objects to be inappropriately removed during a load
|
||
operation, causing duplicate object identities to occur,
|
||
particularly under joined eager loading which involves
|
||
deduplication of objects. The issue is specific to garbage
|
||
collection of weak references and is observed only under the
|
||
Pypy interpreter. References: #4068
|
||
+ [orm] [bug] Fixed bug in Session.merge() where objects in a
|
||
collection that had the primary key attribute set to None for a
|
||
key that is typically autoincrementing would be considered to be
|
||
a database-persisted key for part of the internal deduplication
|
||
process, causing only one object to actually be inserted in the
|
||
database. References: #4056
|
||
+ [orm] [bug] An InvalidRequestError is raised when a synonym() is
|
||
used against an attribute that is not against a MapperProperty,
|
||
such as an association proxy. Previously, a recursion overflow
|
||
would occur trying to locate non-existent attributes. References: #4067
|
||
* sql
|
||
+ [sql] [bug] Altered the range specification for window functions
|
||
to allow for two of the same PRECEDING or FOLLOWING keywords in
|
||
a range by allowing for the left side of the range to be
|
||
positive and for the right to be negative, e.g. (1, 3) is “1
|
||
FOLLOWING AND 3 FOLLOWING”. References: #4053
|
||
|
||
- changes from version 1.1.13:
|
||
* oracle
|
||
+ [oracle] [bug] [py2k] [performance] Fixed performance regression
|
||
caused by the fix for #3937 where cx_Oracle as of version 5.3
|
||
dropped the .UNICODE symbol from its namespace, which was
|
||
interpreted as cx_Oracle’s “WITH_UNICODE” mode being turned on
|
||
unconditionally, which invokes functions on the SQLAlchemy side
|
||
which convert all strings to unicode unconditionally and causing
|
||
a performance impact. In fact, per cx_Oracle’s author the
|
||
“WITH_UNICODE” mode has been removed entirely as of 5.1, so the
|
||
expensive unicode conversion functions are no longer necessary
|
||
and are disabled if cx_Oracle 5.1 or greater is detected under
|
||
Python 2. The warning against “WITH_UNICODE” mode that was
|
||
removed under #3937 is also restored.
|
||
This change is also backported to: 1.0.19
|
||
References: #4035
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Aug 8 19:39:50 UTC 2017 - tbechtold@suse.com
|
||
|
||
- update to 1.1.12:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.12
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Jul 7 18:06:52 UTC 2017 - tbechtold@suse.com
|
||
|
||
- Update to 1.1.11:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.11
|
||
- Update to 1.1.10:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.10
|
||
|
||
-------------------------------------------------------------------
|
||
Sat May 6 03:31:54 UTC 2017 - toddrme2178@gmail.com
|
||
|
||
- Don't provide python2-sqlalchemy, singlespec packages should use
|
||
correct name.
|
||
|
||
-------------------------------------------------------------------
|
||
Mon May 1 18:49:28 UTC 2017 - toddrme2178@gmail.com
|
||
|
||
- Add literal python-sqlalchemy provides.
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Apr 18 16:07:16 UTC 2017 - toddrme2178@gmail.com
|
||
|
||
- Update to 1.1.9:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.9
|
||
- Update to 1.1.8:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.8
|
||
- Update to 1.1.7:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.7
|
||
- Update to 1.1.6:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.6
|
||
- Update to 1.1.5:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.5
|
||
- Update to 1.1.4:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.4
|
||
- Update to 1.1.3:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.3
|
||
- Update to 1.1.2:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.2
|
||
- Update to 1.1.1:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.1
|
||
- Update to 1.1.0:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_11.html#change-1.1.0
|
||
- Update to 1.0.18:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.18
|
||
- Update to 1.0.17:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.17
|
||
- Update to 1.0.16:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.16
|
||
- Implement single-spec version.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Sep 15 23:15:10 UTC 2016 - toddrme2178@gmail.com
|
||
|
||
- Update to 1.0.15:
|
||
* See http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.15
|
||
http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.14
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Jun 6 11:51:07 UTC 2016 - dmueller@suse.com
|
||
|
||
- fix source url
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Jun 3 15:55:53 UTC 2016 - tbechtold@suse.com
|
||
|
||
- update to 1.0.13:
|
||
* see http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.12
|
||
and http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.13
|
||
Remove 0001-fix-sqlite3.10.0-test.patch. Applied upstream.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Feb 11 12:33:58 UTC 2016 - aplanas@suse.com
|
||
|
||
- Add 0001-fix-sqlite3.10.0-test.patch
|
||
Backport fix after SQLite3.10 upgrade
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Jan 11 09:35:59 UTC 2016 - bwiedemann@suse.com
|
||
|
||
- update to 1.0.11:
|
||
* see http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.11
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Oct 4 09:32:44 UTC 2015 - tbechtold@suse.com
|
||
|
||
- update to 1.0.8:
|
||
* see http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.8
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Jun 15 17:19:19 UTC 2015 - bruno@ioda-net.ch
|
||
|
||
- update to version 1.0.5:
|
||
* see http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.5
|
||
|
||
-------------------------------------------------------------------
|
||
Sun May 24 08:14:57 UTC 2015 - bruno@ioda-net.ch
|
||
|
||
- update to 1.0.4:
|
||
+ see http://docs.sqlalchemy.org/en/latest/changelog/changelog_10.html#change-1.0.4
|
||
+ see http://docs.sqlalchemy.org/en/latest/changelog/migration_10.html
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Apr 22 12:46:32 UTC 2015 - tbechtold@suse.com
|
||
|
||
- update to 0.9.9:
|
||
+ See http://docs.sqlalchemy.org/en/latest/changelog/changelog_09.html#change-0.9.9
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Jan 8 13:34:04 UTC 2015 - tbechtold@suse.com
|
||
|
||
- Update to version 0.9.8:
|
||
+ See http://docs.sqlalchemy.org/en/latest/changelog/changelog_09.html#change-0.9.8
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Sep 12 07:58:16 UTC 2014 - dmueller@suse.com
|
||
|
||
- update to 0.9.7:
|
||
+ See http://docs.sqlalchemy.org/en/latest/changelog/changelog_09.html#change-0.9.7
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jul 2 06:04:00 UTC 2014 - nevion@gmail.com
|
||
|
||
-update to 0.9.6:
|
||
+ See http://docs.sqlalchemy.org/en/rel_0_9/changelog/changelog_09.html#change-0.9.6
|
||
-Remove obsolete sqlalchemy-0.7-setup_test.patch
|
||
-Add python-pytest dependency
|
||
|
||
-------------------------------------------------------------------
|
||
Tue Apr 8 09:11:18 UTC 2014 - dmueller@suse.com
|
||
|
||
- update to 0.8.6:
|
||
+ See http://docs.sqlalchemy.org/en/rel_0_9/changelog/changelog_08.html#change-0.8.6
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Oct 30 16:27:24 UTC 2013 - speilicke@suse.com
|
||
|
||
- Update to version 0.8.3:
|
||
+ See http://docs.sqlalchemy.org/en/latest/changelog/changelog_08.html#change-0.8.3
|
||
- Drop outdated patches
|
||
+ SQLAlchemy-0.7.10-SLES-drop-failing-tests.patch
|
||
+ sqlalchemy-0.7-logging.patch
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Oct 24 11:15:08 UTC 2013 - speilicke@suse.com
|
||
|
||
- Require python-setuptools instead of distribute (upstreams merged)
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Aug 1 13:49:51 UTC 2013 - speilicke@suse.com
|
||
|
||
- Add SQLAlchemy-0.7.10-SLES-drop-failing-tests.patch: Cheat with
|
||
dropping tests to fix testsuite on SLE-11
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Jul 22 12:45:58 UTC 2013 - berendt@b1-systems.de
|
||
|
||
- fixing build requirement from python-sqlite to python-pysqlite
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Jul 15 20:05:02 UTC 2013 - hpj@urpla.net
|
||
|
||
- apply patch to fix TypeError, when running python setup.py test
|
||
|
||
-------------------------------------------------------------------
|
||
Sun Jul 14 22:20:29 UTC 2013 - hpj@urpla.net
|
||
|
||
- add python-sqlite build dep for the test rig
|
||
- apply a patch, that fixes TB of the test rig
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Mar 8 08:14:13 UTC 2013 - lars@linux-schulserver.de
|
||
|
||
- update to 0.7.10:
|
||
* orm
|
||
+ [bug] Fixed Session accounting bug whereby replacing
|
||
a deleted object in the identity map with another
|
||
object of the same primary key would raise a
|
||
"conflicting state" error on rollback(),
|
||
if the replaced primary key were established either
|
||
via non-unitofwork-established INSERT statement
|
||
or by primary key switch of another instance.
|
||
[ticket:2583]
|
||
* oracle
|
||
+ [bug] changed the list of cx_oracle types that are
|
||
excluded from the setinputsizes() step to only include
|
||
STRING and UNICODE; CLOB and NCLOB are removed. This
|
||
is to work around cx_oracle behavior which is broken
|
||
for the executemany() call. In 0.8, this same change
|
||
is applied however it is also configurable via the
|
||
exclude_setinputsizes argument. [ticket:2561]
|
||
* mysql
|
||
+ [feature] Added "raise_on_warnings" flag to OurSQL
|
||
dialect. [ticket:2523]
|
||
+ [feature] Added "read_timeout" flag to MySQLdb
|
||
dialect. [ticket:2554]
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jan 2 18:01:09 UTC 2013 - toddrme2178@gmail.com
|
||
|
||
- Fix building on SLES
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Dec 19 15:48:13 UTC 2012 - saschpe@suse.de
|
||
|
||
- The doc package is noarch
|
||
|
||
-------------------------------------------------------------------
|
||
Fri Nov 2 17:53:22 UTC 2012 - termim@gmail.com
|
||
|
||
- do not require python-pysqlite package.
|
||
- update to 0.7.9:
|
||
|
||
*orm
|
||
|
||
- [bug] Fixed bug mostly local to new AbstractConcreteBase helper
|
||
where the "type" attribute from the superclass would not be overridden
|
||
on the subclass to produce the "reserved for base" error message,
|
||
instead placing a do-nothing attribute there. This was inconsistent
|
||
vs. using ConcreteBase as well as all the behavior of classical
|
||
concrete mappings, where the "type" column from the polymorphic base
|
||
would be explicitly disabled on subclasses, unless overridden
|
||
explicitly.
|
||
|
||
- [bug] A warning is emitted when lazy='dynamic' is combined with
|
||
uselist=False. This is an exception raise in 0.8.
|
||
|
||
- [bug] Fixed bug whereby user error in related-object assignment could
|
||
cause recursion overflow if the assignment triggered a backref of the
|
||
same name as a bi-directional attribute on the incorrect class to the
|
||
same target. An informative error is raised now.
|
||
|
||
- [bug] Fixed bug where incorrect type information would be passed when
|
||
the ORM would bind the "version" column, when using the "version"
|
||
feature. Tests courtesy Daniel Miller. [ticket:2539]
|
||
|
||
- [bug] Extra logic has been added to the "flush" that occurs within
|
||
Session.commit(), such that the extra state added by an after_flush()
|
||
or after_flush_postexec() hook is also flushed in a subsequent flush,
|
||
before the "commit" completes. Subsequent calls to flush() will
|
||
continue until the after_flush hooks stop adding new state. An
|
||
"overflow" counter of 100 is also in place, in the event of a broken
|
||
after_flush() hook adding new content each time. [ticket:2566]
|
||
|
||
*engine
|
||
|
||
- [feature] Dramatic improvement in memory usage of the event system;
|
||
instance-level collections are no longer created for a particular type of
|
||
event until instance-level listeners are established for that
|
||
event. [ticket:2516]
|
||
|
||
- [bug] Fixed bug whereby a disconnect detect + dispose that occurs when
|
||
the QueuePool has threads waiting for connections would leave those
|
||
threads waiting for the duration of the timeout on the old pool (or
|
||
indefinitely if timeout was disabled). The fix now notifies those
|
||
waiters with a special exception case and has them move onto the new
|
||
pool. [ticket:2522]
|
||
|
||
- [bug] Added gaerdbms import to mysql/__init__.py, the absense of which
|
||
was preventing the new GAE dialect from being loaded. [ticket:2529]
|
||
|
||
- [bug] Fixed cextension bug whereby the "ambiguous column error" would
|
||
fail to function properly if the given index were a Column object and
|
||
not a string. Note there are still some column-targeting issues here
|
||
which are fixed in 0.8. [ticket:2553]
|
||
|
||
- [bug] Fixed the repr() of Enum to include the "name" and "native_enum"
|
||
flags. Helps Alembic autogenerate.
|
||
|
||
*sql
|
||
|
||
- [bug] Fixed the DropIndex construct to support an Index associated with
|
||
a Table in a remote schema. [ticket:2571]
|
||
|
||
- [bug] Fixed bug in over() construct whereby passing an empty list for
|
||
either partition_by or order_by, as opposed to None, would fail to
|
||
generate correctly. Courtesy Gunnlaugur Þór Briem. [ticket:2574]
|
||
|
||
- [bug] Fixed CTE bug whereby positional bound parameters present in the
|
||
CTEs themselves would corrupt the overall ordering of bound
|
||
parameters. This primarily affected SQL Server as the platform with
|
||
positional binds + CTE support. [ticket:2521]
|
||
|
||
- [bug] Fixed more un-intuitivenesses in CTEs which prevented referring
|
||
to a CTE in a union of itself without it being aliased. CTEs now render
|
||
uniquely on name, rendering the outermost CTE of a given name only -
|
||
all other references are rendered just as the name. This even includes
|
||
other CTE/SELECTs that refer to different versions of the same CTE
|
||
object, such as a SELECT or a UNION ALL of that SELECT. We are somewhat
|
||
loosening the usual link between object identity and lexical identity
|
||
in this case. A true name conflict between two unrelated CTEs now
|
||
raises an error.
|
||
|
||
- [bug] quoting is applied to the column names inside the WITH RECURSIVE
|
||
clause of a common table expression according to the quoting rules for
|
||
the originating Column. [ticket:2512]
|
||
|
||
- [bug] Fixed regression introduced in 0.7.6 whereby the FROM list of a
|
||
SELECT statement could be incorrect in certain "clone+replace"
|
||
scenarios. [ticket:2518]
|
||
|
||
- [bug] Fixed bug whereby usage of a UNION or similar inside of an
|
||
embedded subquery would interfere with result-column targeting, in the
|
||
case that a result-column had the same ultimate name as a name inside
|
||
the embedded UNION. [ticket:2552]
|
||
|
||
- [bug] Fixed a regression since 0.6 regarding result-row targeting. It
|
||
should be possible to use a select() statement with string based
|
||
columns in it, that is select(['id', 'name']).select_from('mytable'),
|
||
and have this statement be targetable by Column objects with those
|
||
names; this is the mechanism by which
|
||
query(MyClass).from_statement(some_statement) works. At some point the
|
||
specific case of using select(['id']), which is equivalent to
|
||
select([literal_column('id')]), stopped working here, so this has been
|
||
re-instated and of course tested. [ticket:2558]
|
||
|
||
- [bug] Added missing operators is_(), isnot() to the ColumnOperators
|
||
base, so that these long-available operators are present as methods
|
||
like all the other operators. [ticket:2544]
|
||
|
||
*postgresql
|
||
|
||
- [bug] Columns in reflected primary key constraint are now returned in
|
||
the order in which the constraint itself defines them, rather than how
|
||
the table orders them. Courtesy Gunnlaugur Þór Briem.. [ticket:2531]
|
||
|
||
- [bug] Added 'terminating connection' to the list of messages we use to
|
||
detect a disconnect with PG, which appears to be present in some
|
||
versions when the server is restarted. [ticket:2570]
|
||
|
||
*mysql
|
||
|
||
- [bug] Updated mysqlconnector interface to use updated "client flag" and
|
||
"charset" APIs, courtesy David McNelis.
|
||
|
||
*sqlite
|
||
|
||
- [feature] Added support for the localtimestamp() SQL function
|
||
implemented in SQLite, courtesy Richard Mitchell.
|
||
|
||
- [bug] Adjusted a very old bugfix which attempted to work around a
|
||
SQLite issue that itself was "fixed" as of sqlite 3.6.14, regarding
|
||
quotes surrounding a table name when using the "foreign_key_list"
|
||
pragma. The fix has been adjusted to not interfere with quotes that are
|
||
actually in the name of a column or table, to as much a degree as
|
||
possible; sqlite still doesn't return the correct result for
|
||
foreign_key_list() if the target table actually has quotes surrounding
|
||
its name, as part of its name (i.e. """mytable"""). [ticket:2568]
|
||
|
||
- [bug] Adjusted column default reflection code to convert non-string
|
||
values to string, to accommodate old SQLite versions that don't deliver
|
||
default info as a string. [ticket:2265]
|
||
|
||
*mssql
|
||
|
||
- [bug] Fixed compiler bug whereby using a correlated subquery within an
|
||
ORDER BY would fail to render correctly if the stament also used
|
||
LIMIT/OFFSET, due to mis-rendering within the ROW_NUMBER() OVER
|
||
clause. Fix courtesy sayap [ticket:2538]
|
||
|
||
- [bug] Fixed compiler bug whereby a given select() would be modified if
|
||
it had an "offset" attribute, causing the construct to not compile
|
||
correctly a second time. [ticket:2545]
|
||
|
||
- [bug] Fixed bug where reflection of primary key constraint would double
|
||
up columns if the same constraint/table existed in multiple schemas.
|
||
|
||
- update to 0.7.8:
|
||
|
||
*orm
|
||
|
||
- [feature] The 'objects' argument to flush() is no longer deprecated, as
|
||
some valid use cases have been identified.
|
||
|
||
- [bug] Fixed bug whereby subqueryload() from a polymorphic mapping to a
|
||
target would incur a new invocation of the query for each distinct
|
||
class encountered in the polymorphic result. [ticket:2480]
|
||
|
||
- [bug] Fixed bug in declarative whereby the precedence of columns in a
|
||
joined-table, composite column (typically for id) would fail to be
|
||
correct if the columns contained names distinct from their attribute
|
||
names. This would cause things like primaryjoin conditions made against
|
||
the entity attributes to be incorrect. Related to as this was supposed
|
||
to be part of that, this is. [ticket:2491, 1892]
|
||
|
||
- [bug] Fixed identity_key() function which was not accepting a scalar
|
||
argument for the identity. . [ticket:2508]
|
||
|
||
- [bug] Fixed bug whereby populate_existing option would not propagate to
|
||
subquery eager loaders. . [ticket:2497]
|
||
|
||
*engine
|
||
|
||
- [bug] Fixed memory leak in C version of result proxy whereby DBAPIs
|
||
which don't deliver pure Python tuples for result rows would fail to
|
||
decrement refcounts correctly. The most prominently affected DBAPI is
|
||
pyodbc. [ticket:2489]
|
||
|
||
- [bug] Fixed bug affecting Py3K whereby string positional parameters
|
||
passed to engine/connection execute() would fail to be interpreted
|
||
correctly, due to __iter__ being present on Py3K string.. [ticket:2503]
|
||
|
||
*sql
|
||
|
||
- [bug] added BIGINT to types.__all__, BIGINT, BINARY, VARBINARY to
|
||
sqlalchemy module namespace, plus test to ensure this breakage doesn't
|
||
occur again. [ticket:2499]
|
||
|
||
- [bug] Repaired common table expression rendering to function correctly
|
||
when the SELECT statement contains UNION or other compound expressions,
|
||
courtesy btbuilder. [ticket:2490]
|
||
|
||
- [bug] Fixed bug whereby append_column() wouldn't function correctly on
|
||
a cloned select() construct, courtesy Gunnlaugur Þór
|
||
Briem. [ticket:2482]
|
||
|
||
*postgresql
|
||
|
||
- [bug] removed unnecessary table clause when reflecting enums,. Courtesy
|
||
Gunnlaugur Þór Briem. [ticket:2510]
|
||
|
||
*mysql
|
||
|
||
- [feature] Added a new dialect for Google App Engine. Courtesy Richie
|
||
Foreman. [ticket:2484]
|
||
|
||
*oracle
|
||
|
||
- [bug] Added ROWID to oracle.*. [ticket:2483]
|
||
|
||
-------------------------------------------------------------------
|
||
Wed May 23 06:44:12 UTC 2012 - highwaystar.ru@gmail.com
|
||
|
||
- python3 package added
|
||
- removed BuildRequires update-desktop-files, because there is no
|
||
desktop files in package
|
||
- minor spec improvement
|
||
|
||
-------------------------------------------------------------------
|
||
Sun May 6 12:22:59 UTC 2012 - lars@linux-schulserver.de
|
||
|
||
- update to 0.7.7:
|
||
* orm
|
||
- [bug] Fixed issue in unit of work whereby setting a non-None
|
||
self-referential many-to-one relationship to None would fail
|
||
to persist the change if the former value was not already loaded.
|
||
[ticket:2477].
|
||
|
||
- [feature] Added prefix_with() method to Query, calls upon
|
||
select().prefix_with() to allow placement of MySQL SELECT
|
||
directives in statements. Courtesy Diana Clarke [ticket:2443]
|
||
|
||
- [bug] Fixed bug in 0.7.6 introduced by [ticket:2409] whereby
|
||
column_mapped_collection used against columns that were mapped as
|
||
joins or other indirect selectables would fail to function.
|
||
|
||
- [feature] Added new flag to @validates include_removes. When True,
|
||
collection remove and attribute del events will also be sent to
|
||
the validation function, which accepts an additional argument
|
||
"is_remove" when this flag is used.
|
||
|
||
- [bug] Fixed bug whereby polymorphic_on column that's not otherwise
|
||
mapped on the class would be incorrectly included in a merge()
|
||
operation, raising an error. [ticket:2449]
|
||
|
||
- [bug] Fixed bug in expression annotation mechanics which could
|
||
lead to incorrect rendering of SELECT statements with aliases
|
||
and joins, particularly when using column_property(). [ticket:2453]
|
||
|
||
- [bug] Fixed bug which would prevent OrderingList from being
|
||
pickleable [ticket:2454]. Courtesy Jeff Dairiki
|
||
|
||
- [bug] Fixed bug in relationship comparisons whereby calling
|
||
unimplemented methods like SomeClass.somerelationship.like()
|
||
would produce a recursion overflow, instead of NotImplementedError.
|
||
|
||
* sql
|
||
- [bug] Removed warning when Index is created with no columns;
|
||
while this might not be what the user intended, it is a valid use case
|
||
as an Index could be a placeholder for just an index of a certain name.
|
||
|
||
- [feature] Added new connection event dbapi_error(). Is called for
|
||
all DBAPI-level errors passing the original DBAPI exception before
|
||
SQLAlchemy modifies the state of the cursor. "with engine.begin()",
|
||
the newly acquired Connection is closed explicitly before propagating
|
||
the exception onward normally.
|
||
|
||
- [bug] Add BINARY, VARBINARY to types.__all__, [ticket:2474]
|
||
|
||
* mssql
|
||
- [feature] Added interim create_engine flag supports_unicode_binds
|
||
to PyODBC dialect, to force whether or not the dialect passes
|
||
Python unicode literals to PyODBC or not.
|
||
|
||
- [bug] Repaired the use_scope_identity create_engine() flag when
|
||
using the pyodbc dialect. Previously this flag would be ignored if
|
||
set to False. When set to False, you'll get "SELECT @@identity"
|
||
after each INSERT to get at the last inserted ID, for those tables
|
||
which have "implicit_returning" set to False.
|
||
|
||
- [bug] UPDATE..FROM syntax with SQL Server requires that the updated
|
||
table be present in the FROM clause when an alias of that table is
|
||
also present in the FROM clause. The updated table is now always present
|
||
in the FROM, when FROM is present in the first place. Courtesy sayap.
|
||
[ticket:2468]
|
||
|
||
* postgresql
|
||
- [feature] Added new for_update/with_lockmode() options for Postgresql:
|
||
for_update="read"/ with_lockmode("read"), for_update="read_nowait"/
|
||
with_lockmode("read_nowait"). These emit "FOR SHARE" and "FOR SHARE
|
||
NOWAIT", respectively. Courtesy Diana Clarke [ticket:2445]
|
||
|
||
- [bug] removed unnecessary table clause when reflecting domains, [ticket:2473]
|
||
|
||
* mysql
|
||
- [bug] Fixed bug whereby column name inside of "KEY" clause for autoincrement
|
||
composite column with InnoDB would double quote a name that's a reserved
|
||
word. Courtesy Jeff Dairiki. [ticket:2460]
|
||
|
||
- [bug] Fixed bug whereby get_view_names() for "information_schema" schema
|
||
would fail to retrieve views marked as "SYSTEM VIEW". courtesy Matthew Turland.
|
||
|
||
- [bug] Fixed bug whereby if cast() is used on a SQL expression whose type
|
||
is not supported by cast() and therefore CAST isn't rendered by the
|
||
dialect, the order of evaluation could change if the casted expression
|
||
required that it be grouped; grouping is now applied to those expressions.
|
||
|
||
* sqlite
|
||
- [feature] Added SQLite execution option "sqlite_raw_colnames=True", will
|
||
bypass attempts to remove "." from column names returned by SQLite
|
||
cursor.description. [ticket:2475]
|
||
|
||
-------------------------------------------------------------------
|
||
Mon Apr 30 09:13:02 UTC 2012 - cfarrell@suse.com
|
||
|
||
- Update to 0.7.6
|
||
* orm
|
||
- [bug] Fixed event registration bug
|
||
which would primarily show up as
|
||
events not being registered with
|
||
sessionmaker() instances created
|
||
after the event was associated
|
||
with the Session class. [ticket:2424]
|
||
|
||
- [bug] Fixed bug whereby a primaryjoin
|
||
condition with a "literal" in it would
|
||
raise an error on compile with certain
|
||
kinds of deeply nested expressions
|
||
which also needed to render the same
|
||
bound parameter name more than once.
|
||
[ticket:2425]
|
||
|
||
- [feature] Added "no_autoflush" context
|
||
manager to Session, used with with:
|
||
will temporarily disable autoflush.
|
||
|
||
- [feature] Added cte() method to Query,
|
||
invokes common table expression support
|
||
from the Core (see below). [ticket:1859]
|
||
|
||
- [bug] Removed the check for number of
|
||
rows affected when doing a multi-delete
|
||
against mapped objects. If an ON DELETE
|
||
CASCADE exists between two rows, we can't
|
||
get an accurate rowcount from the DBAPI;
|
||
this particular count is not supported
|
||
on most DBAPIs in any case, MySQLdb
|
||
is the notable case where it is.
|
||
[ticket:2403]
|
||
|
||
- [bug] Fixed bug whereby objects using
|
||
attribute_mapped_collection or
|
||
column_mapped_collection could not be
|
||
pickled. [ticket:2409]
|
||
|
||
- [bug] Fixed bug whereby MappedCollection
|
||
would not get the appropriate collection
|
||
instrumentation if it were only used
|
||
in a custom subclass that used
|
||
@collection.internally_instrumented.
|
||
[ticket:2406]
|
||
|
||
- [bug] Fixed bug whereby SQL adaption mechanics
|
||
would fail in a very nested scenario involving
|
||
joined-inheritance, joinedload(), limit(), and a
|
||
derived function in the columns clause.
|
||
[ticket:2419]
|
||
|
||
- [bug] Fixed the repr() for CascadeOptions to
|
||
include refresh-expire. Also reworked
|
||
CascadeOptions to be a <frozenset>.
|
||
[ticket:2417]
|
||
|
||
- [feature] Added the ability to query for
|
||
Table-bound column names when using
|
||
query(sometable).filter_by(colname=value).
|
||
[ticket:2400]
|
||
|
||
- [bug] Improved the "declarative reflection"
|
||
example to support single-table inheritance,
|
||
multiple calls to prepare(), tables that
|
||
are present in alternate schemas,
|
||
establishing only a subset of classes
|
||
as reflected.
|
||
|
||
- [bug] Scaled back the test applied within
|
||
flush() to check for UPDATE against partially
|
||
NULL PK within one table to only actually
|
||
happen if there's really an UPDATE to occur.
|
||
[ticket:2390]
|
||
|
||
- [bug] Fixed bug whereby if a method name
|
||
conflicted with a column name, a
|
||
TypeError would be raised when the mapper
|
||
tried to inspect the __get__() method
|
||
on the method object. [ticket:2352]
|
||
|
||
* sql
|
||
- [bug] Fixed memory leak in core which would
|
||
occur when C extensions were used with
|
||
particular types of result fetches,
|
||
in particular when orm query.count()
|
||
were called. [ticket:2427]
|
||
|
||
- [bug] Fixed issue whereby attribute-based
|
||
column access on a row would raise
|
||
AttributeError with non-C version,
|
||
NoSuchColumnError with C version. Now
|
||
raises AttributeError in both cases.
|
||
[ticket:2398]
|
||
|
||
- [feature] Added support for SQL standard
|
||
common table expressions (CTE), allowing
|
||
SELECT objects as the CTE source (DML
|
||
not yet supported). This is invoked via
|
||
the cte() method on any select() construct.
|
||
[ticket:1859]
|
||
|
||
- [bug] Added support for using the .key
|
||
of a Column as a string identifier in a
|
||
result set row. The .key is currently
|
||
listed as an "alternate" name for a column,
|
||
and is superseded by the name of a column
|
||
which has that key value as its regular name.
|
||
For the next major release
|
||
of SQLAlchemy we may reverse this precedence
|
||
so that .key takes precedence, but this
|
||
is not decided on yet. [ticket:2392]
|
||
|
||
- [bug] A warning is emitted when a not-present
|
||
column is stated in the values() clause
|
||
of an insert() or update() construct.
|
||
Will move to an exception in 0.8.
|
||
[ticket:2413]
|
||
|
||
- [bug] A significant change to how labeling
|
||
is applied to columns in SELECT statements
|
||
allows "truncated" labels, that is label names
|
||
that are generated in Python which exceed
|
||
the maximum identifier length (note this is
|
||
configurable via label_length on create_engine()),
|
||
to be properly referenced when rendered inside
|
||
of a subquery, as well as to be present
|
||
in a result set row using their original
|
||
in-Python names. [ticket:2396]
|
||
|
||
- [bug] Fixed bug in new "autoload_replace" flag
|
||
which would fail to preserve the primary
|
||
key constraint of the reflected table.
|
||
[ticket:2402]
|
||
|
||
- [bug] Index will raise when arguments passed
|
||
cannot be interpreted as columns or expressions.
|
||
Will warn when Index is created
|
||
with no columns at all. [ticket:2380]
|
||
|
||
* engine
|
||
- [feature] Added "no_parameters=True" execution
|
||
option for connections. If no parameters
|
||
are present, will pass the statement
|
||
as cursor.execute(statement), thereby invoking
|
||
the DBAPIs behavior when no parameter collection
|
||
is present; for psycopg2 and mysql-python, this
|
||
means not interpreting % signs in the string.
|
||
This only occurs with this option, and not
|
||
just if the param list is blank, as otherwise
|
||
this would produce inconsistent behavior
|
||
of SQL expressions that normally escape percent
|
||
signs (and while compiling, can't know ahead of
|
||
time if parameters will be present in
|
||
some cases). [ticket:2407]
|
||
|
||
- [bug] Added execution_options() call to
|
||
MockConnection (i.e., that used with
|
||
strategy="mock") which acts as a pass through
|
||
for arguments.
|
||
|
||
- [feature] Added pool_reset_on_return argument
|
||
to create_engine, allows control over
|
||
"connection return" behavior. Also added
|
||
new arguments 'rollback', 'commit', None
|
||
to pool.reset_on_return to allow more control
|
||
over connection return activity. [ticket:2378]
|
||
|
||
- [feature] Added some decent context managers
|
||
to Engine, Connection:
|
||
|
||
with engine.begin() as conn:
|
||
<work with conn in a transaction>
|
||
|
||
and:
|
||
|
||
with engine.connect() as conn:
|
||
<work with conn>
|
||
|
||
Both close out the connection when done,
|
||
commit or rollback transaction with errors
|
||
on engine.begin().
|
||
|
||
* sqlite
|
||
- [bug] Fixed bug in C extensions whereby
|
||
string format would not be applied to a
|
||
Numeric value returned as integer; this
|
||
affected primarily SQLite which does
|
||
not maintain numeric scale settings.
|
||
[ticket:2432]
|
||
|
||
* mssql
|
||
- [feature] Added support for MSSQL INSERT,
|
||
UPDATE, and DELETE table hints, using
|
||
new with_hint() method on UpdateBase.
|
||
[ticket:2430]
|
||
|
||
* mysql
|
||
- [feature] Added support for MySQL index and
|
||
primary key constraint types
|
||
(i.e. USING) via new mysql_using parameter
|
||
to Index and PrimaryKeyConstraint,
|
||
courtesy Diana Clarke. [ticket:2386]
|
||
|
||
- [feature] Added support for the "isolation_level"
|
||
parameter to all MySQL dialects. Thanks
|
||
to mu_mind for the patch here. [ticket:2394]
|
||
|
||
* oracle
|
||
- [feature] Added a new create_engine() flag
|
||
coerce_to_decimal=False, disables the precision
|
||
numeric handling which can add lots of overhead
|
||
by converting all numeric values to
|
||
Decimal. [ticket:2399]
|
||
|
||
- [bug] Added missing compilation support for
|
||
LONG [ticket:2401]
|
||
|
||
- [bug] Added 'LEVEL' to the list of reserved
|
||
words for Oracle. [ticket:2435]
|
||
|
||
* examples
|
||
- [bug] Altered _params_from_query() function
|
||
in Beaker example to pull bindparams from the
|
||
fully compiled statement, as a quick means
|
||
to get everything including subqueries in the
|
||
columns clause, etc.
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Feb 22 12:36:45 UTC 2012 - saschpe@suse.de
|
||
|
||
- Fixed SLE_11 build by disabling the testsuite for it
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Feb 9 09:39:26 UTC 2012 - rhafer@suse.de
|
||
|
||
- Update to 0.7.5:
|
||
* Fixed issue where modified session state established after a
|
||
failed flush would be committed as part of the subsequent
|
||
transaction that begins automatically after manual call to
|
||
rollback().
|
||
* Improved the API for add_column() such that if the same column
|
||
is added to its own table, an error is not raised and the
|
||
constraints don't get doubled up.
|
||
* Fixed issue where the "required" exception would not be raised
|
||
for bindparam() with required=True, if the statement were given
|
||
no parameters at all.
|
||
* for more details see the CHANGES file.
|
||
|
||
-------------------------------------------------------------------
|
||
Thu Nov 10 10:56:36 UTC 2011 - saschpe@suse.de
|
||
|
||
- Add depenendency on pysqlite
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Sep 21 11:51:17 UTC 2011 - saschpe@suse.de
|
||
|
||
- Update to version 0.7.2:
|
||
* A rework of "replacement traversal"
|
||
* Fixed bug where query.join() + aliased=True
|
||
* Fixed regression from 0.6 where Session.add()
|
||
against an object which contained None
|
||
- See CHANGES for more...
|
||
- Run testsuite
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jul 20 17:42:11 UTC 2011 - saschpe@gmx.de
|
||
|
||
- Let doc package require base package instead of recommends
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jul 20 17:23:11 UTC 2011 - saschpe@gmx.de
|
||
|
||
- Dropped unused BuildRequires for fdupes and python-sqlite2
|
||
|
||
-------------------------------------------------------------------
|
||
Wed Jul 20 16:59:39 UTC 2011 - saschpe@gmx.de
|
||
|
||
- Initial version, replaces python-sqlalchemy
|
||
* Much simpler spec file
|
||
* Packaged LICENSE, CHANGES and README files
|