summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-08-17 16:39:24 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2015-08-17 16:43:31 -0400
commitd0291319eeb3c610fc331f0af6fcb5ee2422c180 (patch)
treeadf829a0d64d0b9be731a05cfd45dc28500420ac
parent072a1f716ee9c71f0d294f96828a98dad29cd73b (diff)
downloadsqlalchemy-ticket_3514.tar.gz
- changelogsticket_3514
-rw-r--r--doc/build/changelog/changelog_11.rst80
-rw-r--r--doc/build/changelog/migration_11.rst6
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