|
882 | 882 | :released: May 28, 2018 |
883 | 883 |
|
884 | 884 | .. change:: |
885 | | - :tags: bug, orm |
886 | | - :tickets: 4256 |
| 885 | + :tags: bug, orm |
| 886 | + :tickets: 4256 |
887 | 887 |
|
888 | | - Fixed regression in 1.2.7 caused by :ticket:`4228`, which itself was fixing |
889 | | - a 1.2-level regression, where the ``query_cls`` callable passed to a |
890 | | - :class:`.Session` was assumed to be a subclass of :class:`.Query` with |
891 | | - class method availability, as opposed to an arbitrary callable. In |
892 | | - particular, the dogpile caching example illustrates ``query_cls`` as a |
893 | | - function and not a :class:`.Query` subclass. |
| 888 | + Fixed regression in 1.2.7 caused by :ticket:`4228`, which itself was fixing |
| 889 | + a 1.2-level regression, where the ``query_cls`` callable passed to a |
| 890 | + :class:`.Session` was assumed to be a subclass of :class:`.Query` with |
| 891 | + class method availability, as opposed to an arbitrary callable. In |
| 892 | + particular, the dogpile caching example illustrates ``query_cls`` as a |
| 893 | + function and not a :class:`.Query` subclass. |
894 | 894 |
|
895 | 895 | .. change:: |
896 | 896 | :tags: bug, engine |
|
928 | 928 |
|
929 | 929 |
|
930 | 930 | .. change:: |
931 | | - :tags: bug, ext |
932 | | - :tickets: 4247 |
| 931 | + :tags: bug, ext |
| 932 | + :tickets: 4247 |
933 | 933 |
|
934 | | - The horizontal sharding extension now makes use of the identity token |
935 | | - added to ORM identity keys as part of :ticket:`4137`, when an object |
936 | | - refresh or column-based deferred load or unexpiration operation occurs. |
937 | | - Since we know the "shard" that the object originated from, we make |
938 | | - use of this value when refreshing, thereby avoiding queries against |
939 | | - other shards that don't match this object's identity in any case. |
| 934 | + The horizontal sharding extension now makes use of the identity token |
| 935 | + added to ORM identity keys as part of :ticket:`4137`, when an object |
| 936 | + refresh or column-based deferred load or unexpiration operation occurs. |
| 937 | + Since we know the "shard" that the object originated from, we make |
| 938 | + use of this value when refreshing, thereby avoiding queries against |
| 939 | + other shards that don't match this object's identity in any case. |
940 | 940 |
|
941 | 941 | .. change:: |
942 | 942 | :tags: bug, sql |
|
1009 | 1009 | of these issues as part of issue :ticket:`4258`. |
1010 | 1010 |
|
1011 | 1011 | .. change:: |
1012 | | - :tags: bug, ext |
1013 | | - :tickets: 4266 |
| 1012 | + :tags: bug, ext |
| 1013 | + :tickets: 4266 |
1014 | 1014 |
|
1015 | | - Fixed a race condition which could occur if automap |
1016 | | - :meth:`.AutomapBase.prepare` were used within a multi-threaded context |
1017 | | - against other threads which may call :func:`.configure_mappers` as a |
1018 | | - result of use of other mappers. The unfinished mapping work of automap |
1019 | | - is particularly sensitive to being pulled in by a |
1020 | | - :func:`.configure_mappers` step leading to errors. |
| 1015 | + Fixed a race condition which could occur if automap |
| 1016 | + :meth:`.AutomapBase.prepare` were used within a multi-threaded context |
| 1017 | + against other threads which may call :func:`.configure_mappers` as a |
| 1018 | + result of use of other mappers. The unfinished mapping work of automap |
| 1019 | + is particularly sensitive to being pulled in by a |
| 1020 | + :func:`.configure_mappers` step leading to errors. |
1021 | 1021 |
|
1022 | 1022 | .. change:: |
1023 | 1023 | :tags: bug, orm |
|
1029 | 1029 | the post criteria feature is now used by the lazy loader. |
1030 | 1030 |
|
1031 | 1031 | .. change:: |
1032 | | - :tags: bug, tests |
1033 | | - :tickets: 4249 |
| 1032 | + :tags: bug, tests |
| 1033 | + :tickets: 4249 |
1034 | 1034 |
|
1035 | | - Fixed a bug in the test suite where if an external dialect returned |
1036 | | - ``None`` for ``server_version_info``, the exclusion logic would raise an |
1037 | | - ``AttributeError``. |
| 1035 | + Fixed a bug in the test suite where if an external dialect returned |
| 1036 | + ``None`` for ``server_version_info``, the exclusion logic would raise an |
| 1037 | + ``AttributeError``. |
1038 | 1038 |
|
1039 | 1039 | .. change:: |
1040 | 1040 | :tags: bug, orm |
|
1954 | 1954 | index implicitly added by Oracle onto the primary key columns. |
1955 | 1955 |
|
1956 | 1956 | .. change:: |
1957 | | - :tags: bug, orm |
1958 | | - :tickets: 4071 |
| 1957 | + :tags: bug, orm |
| 1958 | + :tickets: 4071 |
1959 | 1959 |
|
1960 | | - Removed the warnings that are emitted when the LRU caches employed |
1961 | | - by the mapper as well as loader strategies reach their threshold; the |
1962 | | - purpose of this warning was at first a guard against excess cache keys |
1963 | | - being generated but became basically a check on the "creating many |
1964 | | - engines" antipattern. While this is still an antipattern, the presence |
1965 | | - of test suites which both create an engine per test as well as raise |
1966 | | - on all warnings will be an inconvenience; it should not be critical |
1967 | | - that such test suites change their architecture just for this warning |
1968 | | - (though engine-per-test suite is always better). |
| 1960 | + Removed the warnings that are emitted when the LRU caches employed |
| 1961 | + by the mapper as well as loader strategies reach their threshold; the |
| 1962 | + purpose of this warning was at first a guard against excess cache keys |
| 1963 | + being generated but became basically a check on the "creating many |
| 1964 | + engines" antipattern. While this is still an antipattern, the presence |
| 1965 | + of test suites which both create an engine per test as well as raise |
| 1966 | + on all warnings will be an inconvenience; it should not be critical |
| 1967 | + that such test suites change their architecture just for this warning |
| 1968 | + (though engine-per-test suite is always better). |
1969 | 1969 |
|
1970 | 1970 | .. change:: |
1971 | 1971 | :tags: bug, orm |
|
2093 | 2093 | Internal refinements to the :class:`.Enum`, :class:`.Interval`, and |
2094 | 2094 | :class:`.Boolean` types, which now extend a common mixin |
2095 | 2095 | :class:`.Emulated` that indicates a type that provides Python-side |
2096 | | - emulation of a DB native type, switching out to the DB native type when a |
2097 | | - supporting backend is in use. The PostgreSQL :class:`.INTERVAL` type |
2098 | | - when used directly will now include the correct type coercion rules for |
2099 | | - SQL expressions that also take effect for :class:`.sqltypes.Interval` |
2100 | | - (such as adding a date to an interval yields a datetime). |
| 2096 | + emulation of a DB native type, switching out to the DB native type when |
| 2097 | + a supporting backend is in use. The PostgreSQL |
| 2098 | + :class:`.postgresql.INTERVAL` type when used directly will now include |
| 2099 | + the correct type coercion rules for SQL expressions that also take |
| 2100 | + effect for :class:`.sqltypes.Interval` (such as adding a date to an |
| 2101 | + interval yields a datetime). |
2101 | 2102 |
|
2102 | 2103 |
|
2103 | 2104 | .. change:: |
|
0 commit comments