Revision history for DBIx::Class
+0.08240-TRIAL (EXPERIMENTAL BETA RELEASE) 2013-02-14 05:56 (UTC)
+ * New Features / Changes
+ - Rewrite from scratch the result constructor codepath - many bugfixes
+ and performance improvements (the current codebase is now capable of
+ outperforming both DBIx::DataModel and Rose::DB::Object on some
+ workloads). Some notable benefits:
+ - Multiple has_many prefetch
+ - Partial prefetch - you now can select only columns you are
+ interested in, while preserving the collapse functionality
+ (collapse is now exposed as a first-class API attribute)
+ - Prefetch of resultsets with arbitrary order
+ (RT#54949, RT#74024, RT#74584)
+ - Prefetch no longer inserts right-side table order_by clauses
+ (massively helps the deficient MySQL optimizer)
+ - Massively optimize codepath around ->cursor(), over 10x speedup
+ on some iterating workloads.
+
+ * Fixes
+ - Fix open cursors silently resetting when inherited across a fork
+ or a thread
+ - Fix duplicated selected columns when calling 'count' when a same
+ aggregate function is used more than once in a 'having' clause
+ (RT#83305)
+
+ * Misc
+ - Fixup our distbuilding process to stop creating world-writable
+ tarball contents (implicitly fixes RT#83084)
+ - Added strict and warnings tests for all lib and test files
+
+0.08206 2013-02-08
+ * Fixes
+ - Fix dbh_do() failing to properly reconnect (regression in 0.08205)
+ - Extra sanity check of a fresh DBI handle ($dbh). Fixes
+ connection coderefs returning garbage (seen in the wild)
+
+ * Misc
+ - Only allow known globals in SQL::Translator leak allowance
+ - General cleanup of error message texts - quote names/identifiers
+ for easier reading
+ - Stop t/52leaks.t from failing when AUTOMATED_TESTING=1
+
+0.08205 2013-01-22
+ * New Features / Changes
+ - The emulate_limit() arbitrary limit dialect emulation mechanism is
+ now deprecated, and will be removed when DBIx::Class migrates to
+ Data::Query
+ - Support for the source_bind_attributes() storage method has been
+ removed after a lengthy deprecation cycle
+ * Fixes
+ - When performing resultset update/delete only strip condition
+ qualifiers - leave the source name alone (RT#80015, RT#78844)
+ - Fix incorrect behavior on resultset update/delete invoked on
+ composite resultsets (e.g. as_subselect_rs)
+ - Fix update/delete operations referencing the updated table failing
+ on MySQL, due to its refusal to modify a table being directly
+ queried. As a workaround induce in-memory temp-table creation
+ (RT#81378, RT#81897)
+ - More robust behavior under heavily threaded environments - make
+ sure we do not have refaddr reuse in the global storage registry
+ - Fix failing test on 5.8 under Win32 (RT#81114)
+ - Fix hash-randomization test issues (RT#81638)
+ - Disallow erroneous calling of connect_info on a replicated storage
+ (RT#78436)
+ * Misc
+ - Improve the populate docs in ::Schema and ::ResultSet
+ - ::Storage::DBI::source_bind_attributes() removed as announced
+ on Jan 2011 in 0e773352a
+
+0.08204 2012-11-08
+ * New Features / Changes
+ - SQLMaker now accepts \'literal' with the 'for' rs attribute as an
+ override to the builtin FOR options
+ * Fixes
+ - Fix unique constraint violations in Ordered.pm blanket movement
+ (RT#79773, rolls back short-sighted 5e6fde33e)
+ - Fix API mismatch between new_result() and new_related() (originally
+ broken by fea3d045)
+ - Fix test failure on perl 5.8
+ * Misc
+ - Much more extensive diagnostics when a new RDBMS/DSN combination is
+ encountered (RT#80431)
+
+0.08203 2012-10-18
+ * Fixes
+ - Really fix inadequate $dbh->ping SQLite implementation (what shipped
+ in 0.08201 tickled other deficiencies in DBD::SQLite itself)
+
+0.08202 2012-10-06
+ * Fixes
+ - Replace inadequate $dbh->ping SQLite implementation with our own,
+ fixes RT#78420
+
+0.08200 2012-08-24 (UTC)
+ * Fixes
+ - Change one of the new tests for the previous release to not require
+ SQL::Translator
+
+0.08199 2012-08-22 (UTC)
+ * Fixes
+ - Roll back incomplete (and broken) internal changes - restore prefetch functionality
+
+0.08198 2012-07-11 03:43 (UTC)
+ * Fixes
+ - Fix a number of Win32 Test issues
+ - Fix silent Oracle connection failures
+
+0.08197 2012-07-10 10:32 (UTC)
* New Features / Changes
- Issue a warning when DateTime objects are passed to ->search
- Fast populate() in void context is now even more efficient by
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
+ - 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
- 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