X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=fabe41dc0d4e10e2e8ee6935e2c4e1b162a7c020;hb=d8cf3aa31fb3d6ff7813f021fcc002663725fc41;hp=2abdb6eff6317a060d3e712bd4eab367e2800a85;hpb=9e36e3eca459d22d7c768f945c891eacbc4349c0;p=dbsrgits%2FDBIx-Class.git diff --git a/Changes b/Changes index 2abdb6e..fabe41d 100644 --- a/Changes +++ b/Changes @@ -12,17 +12,23 @@ Revision history for DBIx::Class all seems out of place, please file a report at once - The unique constraint info (including the primary key columns) is no longer shared between related (class and schema-level) ResultSource - instances + instances. If your app stops working with no obvious pointers, set + DBIC_ASSERT_NO_ERRONEOUS_METAINSTANCE_USE=1 to obtain extra info - Neither exception_action() nor $SIG{__DIE__} handlers are invoked on recoverable errors. This ensures that the retry logic is fully insulated from changes in control flow, as the handlers are only invoked when an error is leaving the DBIC internals to be handled by the caller (n.b. https://github.com/PerlDancer/Dancer2/issues/1125) (also fixes the previously rejected RT#63874) + - Overrides of ResultSourceProxy-provided methods are no longer skipped + silently: a one-per-callsite warning is issued any time this tricky + situation is encoutered https://is.gd/dbic_rsrcproxy_methodattr - $result->related_resultset() no longer passes extra arguments to an underlying search_rs(), as by design these arguments would be used only on the first call to ->related_resultset(), and ignored afterwards. Instead an exception (detailing the fix) is thrown. + - Change func_rs() and as_subselect_rs() to properly ignore list + context (i.e. wantarray). Both were implemented broken from day 1 :/ - Increased checking for the correctness of the is_nullable attribute within the prefetch result parser may highlight previously unknown mismatches between your codebase and data source @@ -30,8 +36,18 @@ Revision history for DBIx::Class arrayref) now emits a deprecation warning - Calling the getter $rsrc->from("argument") now throws an exception instead of silently discarding the argument + - search() calls with an empty select list are deprecated. While DBIC + will still issue a SELECT * ..., it now warns given there is nothing + higher up in the stack prepared to interpret the result * New Features + - DBIC now performs a range of sanity checks on the entire hierarchy + of Schema/Result/ResultSet classes loudly alerting the end user to + potential extremely hard-to-diagnose pitfalls ( RT#93976, also fully + addresses https://blog.afoolishmanifesto.com/posts/mros-and-you/ ) + - A new low-level API for relationship resolution is available as an + official method ( $rsrc->resolve_relationship_condition ). This is + mainly of interest to builders of reflection tools - InflateColumn::DateTime now accepts the ecosystem-standard option 'time_zone', in addition to the DBIC-only 'timezone' (GH#28) - Massively optimised literal SQL snippet scanner - fixes all known @@ -42,8 +58,13 @@ Revision history for DBIx::Class specific DateTime::Format dependencies * Fixes + - Fix regresion (0.082800) of certain calls being presented stale + result source metadata (RT#107462) - Fix incorrect SQL generated with invalid {rows} on complex resultset operations, generally more robust handling of rows/offset attrs + - Fix silent failure to retrieve a primary key (RT#80283) or worse: + returning an incorrect value (RT#115381) in case a rdbms-side autoinc + column is declared as PK with the is_auto_increment attribute unset - Fix incorrect $storage state on unexpected RDBMS disconnects and other failure events, preventing clean reconnection (RT#110429) - Make sure exception objects stringifying to '' are properly handled @@ -54,13 +75,22 @@ Revision history for DBIx::Class - Fix corner case of stringify-only overloaded objects being used in create()/populate() - Fix spurious warning on MSSQL cursor invalidation retries (RT#102166) + - Fix incorrect ::Storage->_ping() behavior under Sybase (RT#114214) + - Fix some corner cases of non-fatal failures during relationship + resolution showing up as hard errors - Fix several corner cases with Many2Many over custom relationships + - Fix intermittent failure to infer the CASCADE attributes of relations + during deployment_statements()/deploy() + - Fix corner cases of C3 composition being broken on OLD_MRO (5.8.x) + only: https://github.com/frioux/DBIx-Class-Helpers/issues/61 * Misc - Add explicit test for pathological example of asymmetric IC::DT setup working with copy() in t/icdt/engine_specific/sybase.t (GH#84) - Fix t/54taint.t failing on local::lib's with upgraded Carp on 5.8.* - Fix invalid variable names in ResultSource::View examples + - Fix missing ORDER BY leading to failures of t/prefetch/grouped.t + under upcoming libsqlite (RT#117271) - Skip tests in a way more intelligent and speedy manner when optional dependencies are missing - Make the Optional::Dependencies error messages cpanm-friendly