diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-08-17 16:39:24 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-08-17 16:43:31 -0400 |
commit | d0291319eeb3c610fc331f0af6fcb5ee2422c180 (patch) | |
tree | adf829a0d64d0b9be731a05cfd45dc28500420ac | |
parent | 072a1f716ee9c71f0d294f96828a98dad29cd73b (diff) | |
download | sqlalchemy-ticket_3514.tar.gz |
- changelogsticket_3514
-rw-r--r-- | doc/build/changelog/changelog_11.rst | 80 | ||||
-rw-r--r-- | doc/build/changelog/migration_11.rst | 6 |
2 files changed, 85 insertions, 1 deletions
diff --git a/doc/build/changelog/changelog_11.rst b/doc/build/changelog/changelog_11.rst index 9e8ef8086..0f974dc8c 100644 --- a/doc/build/changelog/changelog_11.rst +++ b/doc/build/changelog/changelog_11.rst @@ -22,6 +22,82 @@ :version: 1.1.0b1 .. change:: + :tags: bug, postgresql + :tickets: 3499 + + The "hashable" flag on special datatypes such as :class:`.postgresql.ARRAY`, + :class:`.postgresql.JSON` and :class:`.postgresql.HSTORE` is now + set to False, which allows these types to be fetchable in ORM + queries that include entities within the row. + + .. seealso:: + + :ref:`change_3499` + + :ref:`change_3499_postgresql` + + .. change:: + :tags: bug, postgresql + :tickets: 3487 + + The Postgresql :class:`.postgresql.ARRAY` type now supports multidimensional + indexed access, e.g. expressions such as ``somecol[5][6]`` without + any need for explicit casts or type coercions, provided + that the :paramref:`.postgresql.ARRAY.dimensions` parameter is set to the + desired number of dimensions. + + .. seealso:: + + :ref:`change_3503` + + .. change:: + :tags: bug, postgresql + :tickets: 3503 + + The return type for the :class:`.postgresql.JSON` and :class:`.postgresql.JSONB` + when using indexed access has been fixed to work like Postgresql itself, + and returns an expression that itself is of type :class:`.postgresql.JSON` + or :class:`.postgresql.JSONB`. Previously, the accessor would return + :class:`.NullType` which disallowed subsequent JSON-like operators to be + used. + + .. seealso:: + + :ref:`change_3503` + + .. change:: + :tags: bug, postgresql + :tickets: 3503 + + The :class:`.postgresql.JSON`, :class:`.postgresql.JSONB` and + :class:`.postgresql.HSTORE` datatypes now allow full control over the + return type from an indexed textual access operation, either ``column[someindex].astext`` + for a JSON type or ``column[someindex]`` for an HSTORE type, + via the :paramref:`.postgresql.JSON.astext_type` and + :paramref:`.postgresql.HSTORE.text_type` parameters. + + .. seealso:: + + :ref:`change_3503` + + + .. change:: + :tags: bug, postgresql + :tickets: 3503 + + The :attr:`.postgresql.JSON.Comparator.astext` modifier no longer + calls upon :meth:`.ColumnElement.cast` implicitly, as PG's JSON/JSONB + types allow cross-casting between each other as well. Code that + makes use of :meth:`.ColumnElement.cast` on JSON indexed access, + e.g. ``col[someindex].cast(Integer)``, will need to be changed + to call :attr:`.postgresql.JSON.Comparator.astext` explicitly. + + .. seealso:: + + :ref:`change_3503_cast` + + + .. change:: :tags: bug, orm, postgresql :tickets: 3514 @@ -46,6 +122,10 @@ that the JSON NULL value should be used for a value regardless of other settings. + .. seealso:: + + :ref:`change_3514_jsonnull` + .. change:: :tags: bug, sql :tickets: 2528 diff --git a/doc/build/changelog/migration_11.rst b/doc/build/changelog/migration_11.rst index c5ac891d6..c40d5a9c1 100644 --- a/doc/build/changelog/migration_11.rst +++ b/doc/build/changelog/migration_11.rst @@ -220,7 +220,7 @@ This includes: Previously, the indexed access to ``col[5]`` would return an expression of type :class:`.Integer` where we could no longer perform indexed access - for the remaining dimensions. + for the remaining dimensions, unless we used :func:`.cast` or :func:`.type_coerce`. * The :class:`~.postgresql.JSON` and :class:`~.postgresql.JSONB` types now mirror what Postgresql itself does for indexed access. This means that all indexed access for @@ -343,6 +343,10 @@ to:: session.add_all([obj1, obj2]) session.commit() +.. seealso:: + + :ref:`change_3514` + :ticket:`3514` Dialect Improvements and Changes - MySQL |