Revision history for DBIx::Class
* New Features / Changes
+ - Issue a warning when DateTime objects are passed to ->search
+ - Fast populate() in void context is now even more efficient by
+ going directly through execute_for_fetch bypassing execute_array
+ - Fix update()/delete() on complex resultsets to no longer fall back
+ to silly row-by-row deletion, construct a massive OR statement
+ instead
+ - Allow complex update/delete operations on sources without a
+ primary key, as long as they have at least one non-nullable
+ unique constraint
+ - dbicadmin now better supports catalyst-style config files, by
+ unrolling 'config_info' hashkeys
+ - Multiple Improvements MSSQL over DBD::ADO
+ - Transaction support
+ - Support for VARCHAR(MAX)/VARBINARY(MAX)/NVARCHAR(MAX) datatypes
+ - Nomalization of retrieved GUID values
+
+ * Fixes
+ - Fix complex has_many prefetch with resultsets not selecting identity
+ columns from the root result source
+ - Fix SkipFirst and FirstSkip limit dialects (Informix and Firebird)
+ - Fix "Skimming limit" dialects (Top, FetchFirst) to properly check
+ the order_by criteria for stability
+ - Fix "Skimming limit" dialects (Top, FetchFirst) to propagate
+ non-selected order criteria when part of a larger subquery
+ - Fix RowNumberOver and all "skimming limits" to correctly assemble
+ bind values when supplied for both select and order_by
+ - Fix all subquery-based dialects to not lose a subquery fragment
+ when we both select and order by the result of the same subquery
+ - Fix the Sybase hubrid limit dialect (RowCountOrGenericSubQ) losing
+ Group/Having/Order clauses when called without an offset (RT#73244)
+ - No longer generate incorrect SQL on ->as_query called on resultsets
+ with software_limit enabled
+ - A number of corner case fixes of void context populate() with \[]
+ - Fix corner case of forked children disconnecting the parents DBI
+ handle
+ - Improve identity/autoinc retrieval code in MSSQL and Sybase -
+ should reduce weird side-effects especially with populate()
+ - Explicitly disable DBD::ODBC batch operations (as of DBD::ODBC 1.35)
+ for the following drivers too buggy to handle the optimized path:
+ - FreeTDS ODBC driver (when used with MSSQL)
+ - The Firebird ODBC driver
+ - The MSAccess ODBC driver
+ - Explicitly disable DBD::ODBC dynamic_cursors when using freetds 0.83
+ or later - they made enough ODBC incompatible changes making it
+ impossible to support sanely
+ - Explicitly disable SCOPE_IDENTITY queries and statement caching for
+ MSSQL on DBD::Sybase compiled against freetds 0.83 or later - way too
+ buggy
+ - Disable statement caching when using Sybase ASE and DBD::Sybase
+ compiled against freetds 0.83 or later
+ - Fix leakage of $schema on in-memory new_related() calls
+ - Fix more cases of $schema leakage in SQLT::Parser::DBIC
+ - Fix leakage of $storage in ::Storage::DBI::Oracle
+ - Fix pessimization of Oracle RowNum limit dialect query when no
+ offset has been specified
+ - Remove useless vestigial pessimization in Ordered.pm for cases
+ when the position column is part of a unique constraint
+ - Fix dbicadmin to no longer ignore the documented 'config' option
+ - The schema-resultsource entanglement is now much more robust
+ under threads
+ - Fix ::Schema::ddl_filename() failing miserably on paths containing
+ certain numeric sequences
+ - t/53lean_startup.t adjusted for new 5.15.x base.pm behavior
+
+ * Misc
+ - Centralized leak-checks for all instances of DBICTest::Schema
+ from within any test
+ - Now passes all tests with Test::Builder 1.005
+ - Codebase is now trailing-whitespace-free
+ - Cleanup of complex resultset update/delete oprations - storage
+ specific code moved back to ResultSet and replaced by checks
+ of storage capabilities
+ - Fixed carp_once only emitting one single warning per package
+ regardless of warning content
+ - Test suite now can be safely executed in parallel (prove -jN
+ or HARNESS_OPTIONS=jN)
+
+0.08196 2011-11-29 05:35 (UTC)
+ * Fixes
+ - Fix tests for DBD::SQLite >= 1.34.
+ - Fix test failures with DBICTEST_SQLITE_USE_FILE set
+ - Fix the find() condition heuristics being invoked even when the
+ call defaults to 'primary' (i.e. when invoked with bare values)
+ - Throw much clearer error on incorrect inflation spec
+ - Fix incorrect storage behavior when first call on a fresh schema
+ is with_deferred_fk_checks
+ - Fix incorrect dependency on Test::Simple/Builder (RT#72282)
+ - Fix uninitialized warning in ::Storage::Sybase::ASE
+ - Improve/cache DBD-specific datatype bind checks (also solves a
+ nasty memleak with version.pm on multiple ->VERSION invocations)
+ - The internal carp module now correctly skips CAG frames when
+ reporting a callsite
+ - Fix test failures on perl < 5.8.7 and new Package::Stash::XS
+ - Fix TxnScopeGuard not behaving correctly when $@ is set at the
+ time of $guard instantiation
+ - Fix the join/prefetch resolver when dealing with ''/undef/()
+ relation specifications
+
+ * Misc
+ - No longer depend on Variable::Magic now that a pure-perl
+ namespace::clean is available
+ - Drop Oracle's Math::BigInt req down to 1.80 - no fixes concerning
+ us were made since
+
+0.08195 2011-07-27 16:20 (UTC)
+ * Fixes
+ - Fix horrible oversight in the Oracle sqlmaker when dealing with
+ queries updating blobs (RT#69829)
+
+0.08194 2011-07-20 16:10 (UTC)
+ * Fixes
+ - Fix $rs->populate([]) to be a no-op rather than an exception
+ - Overhaul t/53lean_startup.t to better dodge false positives
+ - Stop Data::Compare from loading random plugins
+ - Oracle: Recalculate LOB bind indices for UPDATE with LOBs in WHERE
+ (RT#69548)
+
+0.08193 2011-07-14 17:00 (UTC)
+ * New Features / Changes
- Allow schema cloning to mutate attributes
+ - DBIC now attempts more aggressive de-duplication of where
+ conditions on resultset chaining
+ - The Ordered component is now smarter wrt reordering of dirty
+ objects, and does its job with less storage queries
+ - Logging via DBIC_TRACE=1=<filename> no longer overwrites the
+ logfile on every program startup, appending loglines instead
* Fixes
- Fix issue where the query was becoming overly mangled when trying
to use pagination with a query that has a sub-select in the WHERE
clause
+ - Fix possible incorrect pagination on Oracle, when a resultset
+ is not ordered by a unique column
- Revert "Fix incorrect signature of the default sqlt_deploy_hook"
from 0.08191 - documentation was in fact incorrect, not the code
- Fix Sybase ASE IC::DateTime support (::Storage going out of sync
with new default format expected by DateTime::Format::Sybase)
+ - Fix a bug in update_all() resulting in the first row receiving a
+ different dataset than the subsequent ones
+ - Accomodate MSAccess supporting only 'INNER JOIN' (not plain 'JOIN')
+ - InflateColumn::DateTime option datetime_undef_if_invalid no longer
+ masks missing dependency exceptions (RT#66823)
+ - Fix bug in Schema::Versioned failing to insert a schema version row
+ during upgrades at the turn of the second
+ - Fix incorrect bind of integers >= 2^^32 (bigint columns) to
+ SQL_INTEGER, resulting in silent conversion to '-1'
+ - Fix pre 5.10 failures of t/55namespaces_cleaned.t due to buggy
+ require() (RT#68814)
+ - Oracle autoinc inserts no longer leave open cursors behind
0.08192 2011-05-10 04:20 (UTC)
* Fixes