github sqlalchemy/sqlalchemy rel_1_2_18


Released: February 15, 2019

  • [bug] [orm] Fixed a regression in 1.2 where a wildcard/load_only loader option would
    not work correctly against a loader path where of_type() were used to limit
    to a particular subclass. The fix only works for of_type() of a simple
    subclass so far, not a with_polymorphic entity which will be addressed in a
    separate issue; it is unlikely this latter case was working previously.

    References: #4468

  • [bug] [orm] Fixed fairly simple but critical issue where the
    SessionEvents.pending_to_persistent() event would be invoked for
    objects not just when they move from pending to persistent, but when they
    were also already persistent and just being updated, thus causing the event
    to be invoked for all objects on every update.

    References: #4489

  • [bug] [sql] Fixed issue where the JSON type had a read-only
    JSON.should_evaluate_none attribute, which would cause failures
    when making use of the TypeEngine.evaluates_none() method in
    conjunction with this type. Pull request courtesy Sanjana S.

    References: #4485

  • [bug] [mssql] Fixed bug where the SQL Server "IDENTITY_INSERT" logic that allows an INSERT
    to proceed with an explicit value on an IDENTITY column was not detecting
    the case where Insert.values() were used with a dictionary that
    contained a Column as key and a SQL expression as a value.

    References: #4499

  • [bug] [sqlite] Fixed bug in SQLite DDL where using an expression as a server side default
    required that it be contained within parenthesis to be accepted by the
    sqlite parser. Pull request courtesy Bartlomiej Biernacki.

    References: #4474

  • [bug] [mysql] Fixed a second regression caused by #4344 (the first was
    #4361), which works around MySQL issue 88718, where the lower
    casing function used was not correct for Python 2 with OSX/Windows casing
    conventions, which would then raise TypeError. Full coverage has been
    added to this logic so that every codepath is exercised in a mock style for
    all three casing conventions on all versions of Python. MySQL 8.0 has
    meanwhile fixed issue 88718 so the workaround is only applies to a
    particular span of MySQL 8.0 versions.

    References: #4492

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