1.1.4
Released: November 15, 2016
orm
-
[orm] [bug] Fixed bug in
Session.bulk_update_mappings()
where an alternate-named
primary key attribute would not track properly into the UPDATE statement.This change is also backported to: 1.0.16
References: #3849
-
[orm] [bug] Fixed bug in
Session.bulk_save()
where an UPDATE would
not function correctly in conjunction with a mapping that
implements a version id counter.This change is also backported to: 1.0.16
References: #3781
-
[orm] [bug] Fixed bug where the
Mapper.attrs
,
Mapper.all_orm_descriptors
and other derived attributes would
fail to refresh when mapper properties or other ORM constructs were
added to the mapper/class after these accessors were first called.This change is also backported to: 1.0.16
References: #3778
-
[orm] [bug] Fixed regression in collections due to #3457 whereby
deserialize during pickle or deepcopy would fail to establish all
attributes of an ORM collection, causing further mutation operations to
fail.References: #3852
-
[orm] [bug] Fixed long-standing bug where the "noload" relationship loading
strategy would cause backrefs and/or back_populates options to be
ignored.References: #3845
engine
- [engine] [bug] Removed long-broken "default_schema_name()" method from
Connection
. This method was left over from a very old
version and was non-working (e.g. would raise). Pull request
courtesy Benjamin Dopplinger.
sql
-
[sql] [bug] Fixed bug where newly added warning for primary key on insert w/o
autoincrement setting (seechange_3216
) would fail to emit
correctly when invoked upon a lower-casetable()
construct.References: #3842
postgresql
-
[postgresql] [bug] Fixed regression caused by the fix in #3807 (version 1.1.0)
where we ensured that the tablename was qualified in the WHERE clause
of the DO UPDATE portion of PostgreSQL's ON CONFLICT, however you
cannot put the table name in the WHERE clause in the actual ON
CONFLICT itself. This was an incorrect assumption, so that portion
of the change in #3807 is rolled back.
mysql
-
[mysql] [feature] Added support for server side cursors to the mysqlclient and
pymysql dialects. This feature is available via the
Connection.execution_options.stream_results
flag as well
as theserver_side_cursors=True
dialect argument in the
same way that it has been for psycopg2 on PostgreSQL. Pull request
courtesy Roman Podoliaka. -
[mysql] [bug] MySQL's native ENUM type supports any non-valid value being sent, and
in response will return a blank string. A hardcoded rule to check for
"is returning the blank string" has been added to the MySQL
implementation for ENUM so that this blank string is returned to the
application rather than being rejected as a non-valid value. Note that
if your MySQL enum is linking values to objects, you still get the
blank string back.References: #3841
sqlite
-
[sqlite] [bug] Added quotes to the PRAGMA directives in the pysqlcipher dialect
to support additional cipher arguments appropriately. Pull request
courtesy Kevin Jurczyk. -
[sqlite] [bug] [py3k] Added an optional import for the pysqlcipher3 DBAPI when using the
pysqlcipher dialect. This package will attempt to be imported
if the Python-2 only pysqlcipher DBAPI is non-present.
Pull request courtesy Kevin Jurczyk.
mssql
-
[mssql] [bug] Fixed bug in pyodbc dialect (as well as in the mostly non-working
adodbapi dialect) whereby a semicolon present in the password
or username fields could be interpreted as a separator for another
token; the values are now quoted when semicolons are present.This change is also backported to: 1.0.16
References: #3762