]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- [feature] The Query can now load entity/scalar-mixed
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 16 Oct 2012 00:07:13 +0000 (20:07 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 16 Oct 2012 00:07:13 +0000 (20:07 -0400)
commit2484ef34c27f3342e62bd6285bb3668e2c913090
treee7e329fb3e06e903c793f6944a1facd72b0bd4ef
parentaf3c8a75c8e9eba593f6568187226548f1b8735d
  - [feature] The Query can now load entity/scalar-mixed
    "tuple" rows that contain
    types which aren't hashable, by setting the flag
    "hashable=False" on the corresponding TypeEngine object
    in use.  Custom types that return unhashable types
    (typically lists) can set this flag to False.
    [ticket:2592]
  - [bug] Applying a column expression to a select
    statement using a label with or without other
    modifying constructs will no longer "target" that
    expression to the underlying Column; this affects
    ORM operations that rely upon Column targeting
    in order to retrieve results.  That is, a query
    like query(User.id, User.id.label('foo')) will now
    track the value of each "User.id" expression separately
    instead of munging them together.  It is not expected
    that any users will be impacted by this; however,
    a usage that uses select() in conjunction with
    query.from_statement() and attempts to load fully
    composed ORM entities may not function as expected
    if the select() named Column objects with arbitrary
    .label() names, as these will no longer target to
    the Column objects mapped by that entity.
    [ticket:2591]
CHANGES
lib/sqlalchemy/engine/result.py
lib/sqlalchemy/orm/query.py
lib/sqlalchemy/sql/compiler.py
lib/sqlalchemy/types.py
test/orm/test_query.py
test/sql/test_compiler.py
test/sql/test_query.py
test/sql/test_type_expressions.py