github sqlalchemy/sqlalchemy rel_1_2_11


Released: August 20, 2018

  • [bug] [py3k] Started importing "collections" from "" under Python 3.3 and
    greater for Python 3.8 compatibility. Pull request courtesy Nathaniel

  • 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.

  • [bug] [sql] 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 implicitly 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 compilation of the statement.

    References: #4320

  • [bug] [oracle] 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

  • [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

  • [bug] [sql] 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

  • [bug] [sql] 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

    References: #4313

latest releases: rel_1_3_20, rel_1_3_19, rel_1_3_18...
14 months ago