DBIx-Class

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

        - 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
        - Fix serious regression on SQLite, corrupting data when an alphanum
          value does not correspond to a stale numeric datatype in colinfo

0.08191 2011-05-02 00:45 (UTC) (deleted from CPAN)
    * New Features / Changes
        - Add quote_names connection option. When set to true automatically
          sets quote_char and name_sep appropriate for your RDBMS
        - Add retrieve_on_insert column info flag, allowing to retrieve any
          column value instead of just autoinc primary keys
        - Bring back strict ordering of selectors in complex search chains
          (an ill-fated attempt was made in 0.08127 to order intelligently)
        - All limit dialects (except for the older Top and FetchFirst) are
          now using bind parameters for the limits/offsets, making DBI's
          prepare_cached useful across paged resutsets
        - Support for savepoints for SQLite
        - Support for MS Access databases via DBD::ODBC and DBD::ADO (only
          Win32 support currently tested)
        - Support for the Firebird RDBMS over the new DBD::Firebird driver
        - IC::DateTime support for MSSQL over DBD::ADO
        - Both the ::ODBC and ::ADO dispatchers now warn if a rdbms-specific
          driver is not found for this connection before falling back to
          plain ::Storage::DBI
        - ::Storage::DBI::sth was mistakenly marked/documented as public,
          privatize and warn on deprecated use
        - Massive overhaul of bind values/attributes handling - slightly
          changes the output of as_query (should not cause compat issues)
        - Support ancient DB2 versions (5.4 and older), with proper limit
          dialect
        - Support sub-second precision for TIMESTAMPs for Firebird over ODBC
        - Support BLOBs and CLOBs in WHERE clauses for Oracle, including LIKE
          queries for CLOBs.

    * Fixes
        - Fix ::Storage::DBI::* MRO problems on 5.8.x perls
        - Disable mysql_auto_reconnect for MySQL - depending on the ENV
          it sometimes defaults to on and causes major borkage on older
          DBD::mysql versions
        - Fix dropped bind values in select/group_by on Oracle (omission
          from 0542ec57 and 4c2b30d6)
        - Fix remaining errors with Oracle and identifiers longer than the
          Oracle-imposed maximum of 30 characters (RT#66390)
        - Fix older oracle-specific "WhereJoins" to work properly with
          name quoting
        - Fix problems with M.A.D. under CGI::SpeedyCGI (RT#65131)
        - Reenable paging of cached resultsets - breakage erroneously added
          in 0.08127
        - Better error handling when prepare() fails silently
        - Fixes skipped lines when a comment is followed by a statement
          when deploying a schema via sql file
        - Fix reverse_relationship_info on prototypical result sources
          (sources not yet registered with a schema)
        - Warn and skip relationships missing from a partial schema during
          dbic cascade_delete
        - Automatically require the requested cursor class before use
          (RT#64795)
        - Work around a Firebird ODBC driver bug exposed by DBD::ODBC 1.29
        - Fix (to the extent allowed by the driver) transaction support in
          DBD::Sybase compiled against FreeTDS
        - Fix exiting via next warnings in ResultSource::sequence()
        - Fix stripping of table qualifiers in update/delete in arrayref
          condition elements
        - Change SQLMaker carp-monkeypatch to be compatible with versions
          of SQL::Abstract >= 1.73
        - Fix using \[] literals in the from resultset attribute
        - Fix populate() with \[], arrays (datatype) and other exotic values
        - Fix handling of rollbacks in nested transactions
        - Fix complex limits (RNO/RowNum/FetchFirst/Top/GenSubq) with
          sub-selects in the selectors list (correlated subqueries)
        - Fix inconsistency between $rs->next with and without HRI when all
          the "root" columns are in fact injected from the right rs side
        - Fix the join optimizer to correctly preserve the non-multi path to
          a multi relationship ( x -> might_have y -> has_many z )
        - Fix object-derived custom-relationship resultsets to resultsources
          with multilevel monikers (e.g. $schema->source('Foo::Bar') )
        - Fix incorrect signature of the default sqlt_deploy_hook - it now
          matches the documentation of passing in the result source object
        - Fix inadequate handling of internal storage methods within
          ::Storage::Replicated (RT#66295)

    * Misc
        - Rewire all warnings to a new Carp-like implementation internal
          to DBIx::Class, and remove the Carp::Clan dependency
        - Only load Class::C3 and friends if necessary ($] < 5.010)
        - Greatly reduced loading of non-essential modules to aid startup
          time (mainly benefiting CGI users)
        - Make sure all namespaces are clean of rogue imports
        - Dropped DBI req 2 years back - everything works with 1.57, no
          point requiring something newer

0.08190-TRIAL 2011-01-24 15:35 (UTC)

    * New Features / Changes
        - Support for completely arbitrary SQL::Abstract-based conditions
          in all types of relationships

0.08127 2011-01-19 16:40 (UTC)
    * New Features / Changes
        - Schema/resultsource instances are now crossreferenced via a new
          system guaranteeing leak-free mutually assured destruction
        - DBIx::Class now warns when the user erroneously supplies
          AutoCommit => 0 to connect()
        - A warning is also issued before forcing the RaiseError
          setting of externally supplied DBI handles
        - Switch to a warning when find() is invoked with both a 'key'
          argument and a NULL-containing condition to satisfy the named
          constraint. Previously (starting with 0.08124) an exception was
          thrown
        - Switch to a warning when a commit is attempted with an out-of-sync
          transaction_depth (someone issued a begin externally to DBIC).
          Previously (starting with 0.08124) an exception was thrown

    * Fixes
        - A number of improvements/diagnostics of multiple active resultset

Changes  view on Meta::CPAN


0.08123 2010-06-12 14:46 (UTC)
    * Fixes
        - Make sure Oracle identifier shortener applies to auto-generated
          column names, so we stay within the 30-char limit (RT#58271)
        - Oracle sequence detection now works across schemas
        - Fix a Storage/$dbh leak introduced by the migration to
          Try::Tiny (this is *not* a Try::Tiny bug)
        - Fix corner case of count with group-by over a 1:1 join column
          where the selector ends up with column name clashes
        - POD fixes (RT#58247)

    * Misc
        - Test suite default on-disk database now checks for Win32
          fail-conditions even when running on other OSes

0.08122 2010-06-03 17:41 (UTC)
    * New Features
        - Add DBIx::Class::FilterColumn for non-ref filtering
        - ::Storage::DBI now correctly preserves a parent $dbh from
          terminating children, even during interpreter-global
          out-of-order destruction
        - dbicadmin supports an -I option with the same semantics as
          perl itself
        - InflateColumn::DateTime support for MSSQL via DBD::Sybase
        - Millisecond precision support for MSSQL datetimes for
          InflateColumn::DateTime
        - Oracle-specific hierarchical query syntax support:
          CONNECT BY (NOCYCLE) / START WITH / ORDER SIBLINGS BY
        - Support connecting using $ENV{DBI_DSN} and $ENV{DBI_DRIVER}
        - current_source_alias method on ResultSet objects to
          determine the alias to use in programatically assembled
          search()es (originally added in 0.08100 but unmentioned)
        - Rewrite/unification of all subselecting limit emulations
          (RNO, Top, RowNum) to be much more robust wrt complex joined
          resultsets
        - MSSQL limits now don't require nearly as many applications of
          the unsafe_subselect_ok attribute, due to optimized queries
        - Support for Generic Subquery limit "emulation" - awfully slow
          and inefficient but works on almost any db, and is preferred
          to software limit emulation
        - Sybase ASE driver now uses SET ROWCOUNT where possible, and
          Generic Subquery otherwise for limit support instead of always
          using software limit emulation
        - create_ddl_dir (and derivatives) now attempt to create the given
          $ddl_dir if it does not already exist
        - deployment_statements now automatically supplies the current RDBMS
          version to SQLT producer_args for MySQL, Pg, SQLite and Oracle

    * Fixes
        - Fix nasty potentially data-eating bug when deleting/updating
          a limited resultset
        - Fix find() to use result_class set on object
        - Fix result_class setter behaviour to not mistakenly stuff attrs.
        - Don't try and ensure_class_loaded an object. This doesn't work.
        - Fix as_subselect_rs to not inject resultset class-wide where
          conditions outside of the resulting subquery
        - Fix count() failing with {for} resultset attribute (RT#56257)
        - Fixed incorrect detection of Limit dialect on unconnected $schema
        - update() on row not in_storage no longer throws an exception
          if there are no dirty columns to update (fixes cascaded update
          annoyances)
        - update()/delete() on prefetching resultsets no longer results
          in malformed SQL (some $rs attributes were erroneously left in)
        - Fix dbicadmin to allow deploy() on non-versioned schema
        - Fix dbicadmin to respect sql_dir on upgrade() (RT#57732)
        - Update Schema::Versioned to respect hashref style of
          connection_info
        - Do not recreate the same related object twice during MultiCreate
          (solves the problem of orphaned IC::FS files)
        - Fully qualify xp_msver selector when using DBD::Sybase with
          MSSQL (RT#57467)
        - Fix ::DBI::Storage to always be able to present a full set of
          connect() attributes to e.g. Schema::Versioned
        - Fix Oracle auto-inc trigger detection of "INSERT OR UPDATE"-type
          triggers

    * Misc
        - Reformatted Changelog \o/
        - DBIC goes git://git.shadowcat.co.uk/dbsrgits/DBIx-Class.git
        - Allow developers to skip optional dependency forcing when working
          from a checkout
        - Add a warning to load_namespaces if a class in ResultSet/ is not
          a subclass of DBIx::Class::ResultSet
        - All DBIC exception-handling switched to Try::Tiny
        - All DBIC modules are now free of imports via namespace::clean
        - Depend on optimized SQL::Abstract (faster SQL generation)
        - Depend on new Class::Accessor::Grouped reintroducing optional use
          of Class::XSAccessor (just install C::XSA and get lightning fast
          column accessors)

0.08121 2010-04-11 18:43:00 (UTC)
        - Support for Firebird RDBMS with DBD::InterBase and ODBC
        - Add core support for INSERT RETURNING (for storages that
          supports this syntax, currently PostgreSQL and Firebird)
        - Fix spurious warnings on multiple UTF8Columns component loads
        - DBIx::Class::UTF8Columns entered deprecated state
        - DBIx::Class::InflateColumn::File entered deprecated state
        - DBIx::Class::Optional::Dependencies left experimental state
        - Add req_group_list to Opt::Deps (RT#55211)
        - Add support for mysql-specific STRAIGHT_JOIN (RT#55579)
        - Cascading delete/update are now wrapped in a transaction
          for atomicity
        - Fix accidental autovivification of ENV vars
        - Fix update_all and delete_all to be wrapped in a transaction
        - Fix multiple deficiencies when using MultiCreate with
          data-encoder components (e.g. ::EncodedColumn)
        - Fix regression where SQL files with comments were not
          handled properly by ::Schema::Versioned.
        - Fix regression on not properly throwing when $obj->relationship
          is unresolvable
        - Fix the join-optimiser to consider unqualified column names
          whenever possible
        - Fix an issue with multiple same-table joins confusing the join
          optimizier
        - Add has_relationship method to row objects
        - Fix regression in set_column on PK-less objects
        - Better error text on malformed/missing relationships
        - Add POD about the significance of PK columns
        - Fix for SQLite to ignore the (unsupported) { for => ... }
          attribute

Changes  view on Meta::CPAN

        - fixed Componentized::ensure_class_loaded
        - InflateColumn::DateTime supports date as well as datetime
        - split Storage::DBI::MSSQL into MSSQL and Sybase::MSSQL
        - fixed wrong debugging hook call in Storage::DBI
        - set connect_info properly before setting any ->sql_maker things

0.06999_02 2006-06-09 23:58:33
        - Fixed up POD::Coverage tests, filled in some POD holes
        - Added a warning for incorrect component order in load_components
        - Fixed resultset bugs to do with related searches
        - added code and tests for Componentized::ensure_class_found and
          load_optional_class
        - NoBindVars + Sybase + MSSQL stuff
        - only rebless S::DBI if it is still S::DBI and not a subclass
        - Added `use' statement for DBD::Pg in Storage::DBI::Pg
        - stopped test relying on order of unordered search
        - bugfix for join-types in nested joins using the from attribute
        - obscure prefetch problem fixed
        - tightened up deep search_related
        - Fixed 'DBIx/Class/DB.pm did not return a true value' error
        - Revert change to test for deprecated find usage and swallow warnings
        - Slight wording change to new_related() POD
        - new specific test for connect_info coderefs
        - POD clarification and content bugfixing + a few code formatting fixes
        - POD::Coverage additions
        - fixed debugfh
        - Fix column_info stomping

0.06999_01 2006-05-28 17:19:30
        - add automatic naming of unique constraints
        - marked DB.pm as deprecated and noted it will be removed by 1.0
        - add ResultSetColumn
        - refactor ResultSet code to resolve attrs as late as possible
        - merge prefetch attrs into join attrs
        - add +select and +as attributes to ResultSet
        - added InflateColumn::DateTime component
        - refactor debugging to allow for profiling using Storage::Statistics
        - removed Data::UUID from deps, made other optionals required
        - modified SQLT parser to skip dupe table names
        - added remove_column(s) to ResultSource/ResultSourceProxy
        - added add_column alias to ResultSourceProxy
        - added source_name to ResultSource
        - load_classes now uses source_name and sets it if necessary
        - add update_or_create_related to Relationship::Base
        - add find_or_new to ResultSet/ResultSetProxy and find_or_new_related
          to Relationship::Base
        - add accessors for unique constraint names and coulums to
          ResultSource/ResultSourceProxy
        - rework ResultSet::find() to search unique constraints
        - CDBICompat: modify retrieve to fix column casing when ColumnCase is
          loaded
        - CDBICompat: override find_or_create to fix column casing when
          ColumnCase is loaded
        - reorganized and simplified tests
        - added Ordered
        - added the ability to set on_connect_do and the various sql_maker
          options as part of Storage::DBI's connect_info.

0.06003 2006-05-19 15:37:30
        - make find_or_create_related check defined() instead of truth
        - don't unnecessarily fetch rels for cascade_update
        - don't set_columns explicitly in update_or_create; instead use
          update($hashref) so InflateColumn works
        - fix for has_many prefetch with 0 related rows
        - make limit error if rows => 0
        - added memory cycle tests and a long-needed weaken call

0.06002 2006-04-20 00:42:41
        - fix set_from_related to accept undef
        - fix to Dumper-induced hash iteration bug
        - fix to copy() with non-composed resultsource
        - fix to ->search without args to clone rs but maintain cache
        - grab $self->dbh once per function in Storage::DBI
        - nuke ResultSource caching of ->resultset for consistency reasons
        - fix for -and conditions when updating or deleting on a ResultSet

0.06001
        - Added fix for quoting with single table
        - Substantial fixes and improvements to deploy
        - slice now uses search directly
        - fixes for update() on resultset
        - bugfix to Cursor to avoid error during DESTROY
        - transaction DBI operations now in debug trace output

0.06000 2006-03-25 18:03:46
        - Lots of documentation improvements
        - Minor tweak to related_resultset to prevent it storing a searched rs
        - Fixup to columns_info_for when database returns type(size)
        - Made do_txn respect void context (on the off-chance somebody cares)
        - Fix exception text for nonexistent key in ResultSet::find()

0.05999_04 2006-03-18 19:20:49
        - Fix for delete on full-table resultsets
        - Removed caching on count() and added _count for pager()
        - ->connection does nothing if ->storage defined and no args
          (and hence ->connect acts like ->clone under the same conditions)
        - Storage::DBI throws better exception if no connect info
        - columns_info_for made more robust / informative
        - ithreads compat added, fork compat improved
        - weaken result_source in all resultsets
        - Make pg seq extractor less sensitive.

0.05999_03 2006-03-14 01:58:10
        - has_many prefetch fixes
        - deploy now adds drop statements before creates
        - deploy outputs debugging statements if DBIX_CLASS_STORAGE_DBI_DEBUG
            is set

0.05999_02 2006-03-10 13:31:37
        - remove test dep on YAML
        - additional speed tweaks for C3
        - allow scalarefs passed to order_by to go straight through to SQL
        - renamed insert_or_update to update_or_insert (with compat alias)
        - hidden lots of packages from the PAUSE Indexer

0.05999_01 2006-03-09 18:31:44
        - renamed cols attribute to columns (cols still supported)
        - added has_column_loaded to Row
        - Storage::DBI connect_info supports coderef returning dbh as 1st arg
        - load_components() doesn't prepend base when comp. prefixed with +
        - $schema->deploy
        - HAVING support
        - prefetch for has_many
        - cache attr for resultsets
        - PK::Auto::* no longer required since Storage::DBI::* handle auto-inc
        - minor tweak to tests for join edge case
        - added cascade_copy relationship attribute
          (sponsored by Airspace Software, http://www.airspace.co.uk/)
        - clean up set_from_related
        - made copy() automatically null out auto-inc columns
        - added txn_do() method to Schema, which allows a coderef to be
          executed atomically

0.05007 2006-02-24 00:59:00
        - tweak to Componentised for Class::C3 0.11
        - fixes for auto-inc under MSSQL

0.05006 2006-02-17 15:32:40
        - storage fix for fork() and workaround for Apache::DBI
        - made update(\%hash) work on row as well as rs
        - another fix for count with scalar group_by
        - remove dependency on Module::Find in 40resultsetmanager.t (RT #17598)

0.05005 2006-02-13 21:24:51
        - remove build dependency on version.pm

0.05004 2006-02-13 20:59:00
        - allow specification of related columns via cols attr when primary
          keys of the related table are not fetched
        - fix count for group_by as scalar
        - add horrific fix to make Oracle's retarded limit syntax work
        - remove Carp require
        - changed UUIDColumns to use new UUIDMaker classes for uuid creation
        using whatever module may be available

0.05003 2006-02-08 17:50:20
        - add component_class accessors and use them for *_class
        - small fixes to Serialize and ResultSetManager
        - rollback on disconnect, and disconnect on DESTROY

0.05002 2006-02-06 12:12:03
        - Added recommends for Class::Inspector
        - Added skip_all to t/40resultsetmanager.t if no Class::Inspector
        available

0.05001 2006-02-05 15:28:10
        - debug output now prints NULL for undef params
        - multi-step prefetch along the same rel (e.g. for trees) now works
        - added multi-join (join => [ 'foo', 'foo' ]), aliases second to foo_2
        - hack PK::Auto::Pg for "table" names referencing a schema
        - find() with attributes works
        - added experimental Serialize and ResultSetManager components
        - added code attribute recording to DBIx::Class
        - fix to find() for complex resultsets
        - added of $storage->debugcb(sub { ... })
        - added $source->resultset_attributes accessor
        - added include_columns rs attr

0.05000 2006-02-01 16:48:30
        - assorted doc fixes
        - remove ObjectCache, not yet working in 0.05
        - let many_to_many rels have attrs
        - fix ID method in PK.pm to be saner for new internals
        - fix t/30dbicplain.t to use ::Schema instead of
          Catalyst::Model::DBIC::Plain

0.04999_06 2006-01-28 21:20:32



( run in 0.774 second using v1.01-cache-2.11-cpan-d8267643d1d )