12 years agoThrow a sensible error when a malformed 'as'-spec is supplied
Peter Rabbitson [Tue, 9 Aug 2011 04:49:06 +0000]
Throw a sensible error when a malformed 'as'-spec is supplied

12 years agoCleanup warnings in t/55namespaces_cleaned, sophisticate require overload
Peter Rabbitson [Tue, 9 Aug 2011 01:24:21 +0000]
Cleanup warnings in t/55namespaces_cleaned, sophisticate require overload

12 years agoRemove the transparrent hook lazy-pager-count experiment
Peter Rabbitson [Sun, 7 Aug 2011 10:41:46 +0000]
Remove the transparrent hook lazy-pager-count experiment

It has proven a very stable and reliable implementation, but in the quest
for fatpacked DBIC should now go to the archives.

12 years agoThis atrocity will be removed from sqla, do not use here either
Peter Rabbitson [Sun, 31 Jul 2011 20:47:23 +0000]
This atrocity will be removed from sqla, do not use here either

12 years agoFix find() pessimization when invoked with bare values
Peter Rabbitson [Tue, 25 Oct 2011 03:50:18 +0000]
Fix find() pessimization when invoked with bare values

12 years agoAdd Changes entry for DBD::SQLite fixes.
Dagfinn Ilmari Mannsåker [Tue, 25 Oct 2011 01:10:32 +0000]
Add Changes entry for DBD::SQLite fixes.

12 years agoRelax expected error message syntax.
Dagfinn Ilmari Mannsåker [Tue, 25 Oct 2011 00:51:02 +0000]
Relax expected error message syntax.

SQLite 1.34 includes more detail in the error, allow any message
starting with "datatype mismatch".

12 years agoDon't rely on GROUP BY and DISTINCT() sorting identically.
Dagfinn Ilmari Mannsåker [Tue, 25 Oct 2011 00:48:44 +0000]
Don't rely on GROUP BY and DISTINCT() sorting identically.

12 years agoRelease 0.08195 v0.08195
Alexander Hartmaier [Wed, 27 Jul 2011 16:23:20 +0000]
Release 0.08195

12 years agoFix oracle (I am so stupid)
Peter Rabbitson [Wed, 27 Jul 2011 15:37:44 +0000]
Fix oracle (I am so stupid)

12 years agoRelease 0.08194 v0.08194
Alexander Hartmaier [Wed, 20 Jul 2011 16:13:47 +0000]
Release 0.08194

12 years agofix link in replication introduction
Uwe [Wed, 20 Jul 2011 13:22:57 +0000]
fix link in replication introduction

12 years agoCheck DBD::Pg >= 2.17.2 with Pg >= 9.0 for BYTEA
Rafael Kitover [Tue, 19 Jul 2011 18:02:49 +0000]
Check DBD::Pg >= 2.17.2 with Pg >= 9.0 for BYTEA

Checks for DBD::Pg < 2.17.2 when using PostgreSQL version 9.0 or greater
when BYTEA column binds are encountered and prints a warning that a
newer version of DBD::Pg is needed for these types of columns to work in
bind_attribute_by_data_type in the Pg storage.

Skips the t/72pg_bytea.t tests for this combination of versions, as well
as for versions of DBD::Pg less than 2.9.2 regardless of Pg version.

12 years agofix popups during tests on Win32 (hopefully)
Rafael Kitover [Tue, 19 Jul 2011 17:01:20 +0000]
fix popups during tests on Win32 (hopefully)

A tester reports that t/73oracle_hq.t causes an error popup on Win32.
This test was checking for DBD::Oracle (and thereby trying to load it)
before checking for the DBICTEST_ORA_DSN environment variables.

This commit moves the check for necessary environment variables for the
t/73oracle.t and t/73oracle_hq.t test files to before the module
requirements tests, thereby not trying to load DBD::Oracle, and causing
an error popup.

12 years agofix a couple test failures on Win32
Rafael Kitover [Tue, 19 Jul 2011 14:13:37 +0000]
fix a couple test failures on Win32

Adds a skip_all to t/storage/global_destruction.t due to it causing a
segfault triggered by some sort of perl bug.

Adds a \Q...\E to t/94versioning.t in a warning regex as well as
changing a `perl -pi -e` to `perl -pi.bak -e` and removing an extraneous
semicolon for the test to pass.

12 years agoOracle: fix LOB conversions for non-LOBs (RT#69548)
Rafael Kitover [Mon, 18 Jul 2011 16:28:48 +0000]
Oracle: fix LOB conversions for non-LOBs (RT#69548)

Recalculates the LOB binds index for UPDATE queries, as it was
erroneosly not recalculated before. This resulted in non-LOB columns
being treated as LOBs by the SQL mangling code.

ribasushi also optimizes the code for the predominant case of queries
without LOBs in the WHERE clause.

12 years agoFix last test susceptible to spurious warnings, cleanup a bit
Peter Rabbitson [Sun, 17 Jul 2011 19:08:49 +0000]
Fix last test susceptible to spurious warnings, cleanup a bit

12 years agoReshuffle Makefile.PL a bit and add parallel-testing exception
Peter Rabbitson [Sun, 17 Jul 2011 17:43:06 +0000]
Reshuffle Makefile.PL a bit and add parallel-testing exception

12 years agoStop Data::Compare from loading plugins at will
Peter Rabbitson [Sun, 17 Jul 2011 16:58:02 +0000]
Stop Data::Compare from loading plugins at will

12 years agoMoar gitignore
Peter Rabbitson [Fri, 15 Jul 2011 16:30:36 +0000]
Moar gitignore

12 years agoRip out forgotten dep
Peter Rabbitson [Fri, 15 Jul 2011 16:30:20 +0000]
Rip out forgotten dep

12 years agoReally fix t/53lean_startup.t
Peter Rabbitson [Fri, 15 Jul 2011 15:50:02 +0000]
Really fix t/53lean_startup.t

12 years agofix $rs->populate([]) to be a no-op rather than an exception
Matt S Trout [Fri, 15 Jul 2011 10:49:30 +0000]
fix $rs->populate([]) to be a no-op rather than an exception

12 years agoFix spurious test failures caused by use of Data::Compare
Arthur Axel 'fREW' Schmidt [Thu, 14 Jul 2011 21:56:13 +0000]
Fix spurious test failures caused by use of Data::Compare

12 years agofix spurious PAUSE message
Arthur Axel 'fREW' Schmidt [Thu, 14 Jul 2011 17:33:11 +0000]
fix spurious PAUSE message

12 years agoRelease 0.08193 v0.08193
Alexander Hartmaier [Thu, 14 Jul 2011 17:02:30 +0000]
Release 0.08193

12 years agoreplaced Test::Deep::NoTest with Data::Compare to not break Test::Deep tests
Alexander Hartmaier [Thu, 14 Jul 2011 13:54:54 +0000]
replaced Test::Deep::NoTest with Data::Compare to not break Test::Deep tests

12 years agoStop leaking cursors on oracle sequence retrieval
Peter Rabbitson [Wed, 13 Jul 2011 07:58:49 +0000]
Stop leaking cursors on oracle sequence retrieval

12 years agoSQLMaker is a proper C3-enabled class, do not use SUPER::
Peter Rabbitson [Thu, 23 Jun 2011 09:04:58 +0000]
SQLMaker is a proper C3-enabled class, do not use SUPER::

12 years agofixed failing test when DBIC_TRACE_PROFILE is set
Alexander Hartmaier [Wed, 6 Jul 2011 16:18:07 +0000]
fixed failing test when DBIC_TRACE_PROFILE is set

12 years agocheck database driver dependencies for tests
Rafael Kitover [Sun, 3 Jul 2011 17:03:19 +0000]
check database driver dependencies for tests

12 years agoOpen the logfile in append mode
Peter Rabbitson [Fri, 17 Jun 2011 01:49:37 +0000]
Open the logfile in append mode

12 years agoFix t/55namespaces_cleaned (RT#68814)
Peter Rabbitson [Fri, 17 Jun 2011 00:28:22 +0000]
Fix t/55namespaces_cleaned (RT#68814)

12 years agoHow ::Rekey was tested against the DBIC test suite
Peter Rabbitson [Thu, 16 Jun 2011 08:27:59 +0000]
How ::Rekey was tested against the DBIC test suite

12 years agoYet another SQL munging atrocity (shadow needs it)
Peter Rabbitson [Thu, 16 Jun 2011 08:26:59 +0000]
Yet another SQL munging atrocity (shadow needs it)

12 years agoFix all invocations of _resolve_condition to match the new signature
Peter Rabbitson [Thu, 16 Jun 2011 08:22:27 +0000]
Fix all invocations of _resolve_condition to match the new signature

12 years agoDo not consider non-sequence oracle triggers during seq detection
Peter Rabbitson [Wed, 15 Jun 2011 07:21:59 +0000]
Do not consider non-sequence oracle triggers during seq detection

12 years agofix bigint handling in sqlite
Arthur Axel 'fREW' Schmidt [Sun, 12 Jun 2011 03:07:58 +0000]
fix bigint handling in sqlite

12 years agoCorrect test-relationship name/type
Peter Rabbitson [Fri, 10 Jun 2011 22:41:46 +0000]
Correct test-relationship name/type

12 years agoMore robust insert() logic to avoid undef warnings
Peter Rabbitson [Thu, 9 Jun 2011 09:32:43 +0000]
More robust insert() logic to avoid undef warnings

12 years agoMake Ordered play nice with other things hooking update()
Peter Rabbitson [Wed, 8 Jun 2011 11:34:02 +0000]
Make Ordered play nice with other things hooking update()

12 years agoexplicit int cast, prevents the result rounding up to 1000 (4 digits)
David Schmidt [Fri, 17 Jun 2011 14:19:26 +0000]
explicit int cast, prevents the result rounding up to 1000 (4 digits)

12 years agodon't mask missing deps with datetime_undef_if_invalid
Rafael Kitover [Sat, 11 Jun 2011 16:50:50 +0000]
don't mask missing deps with datetime_undef_if_invalid

12 years agoFixed a typo in the POD
moltar [Wed, 8 Jun 2011 17:04:19 +0000]
Fixed a typo in the POD

12 years agodon't add Sys::SigAction to author deps on Win32
Rafael Kitover [Wed, 8 Jun 2011 15:04:24 +0000]
don't add Sys::SigAction to author deps on Win32

12 years agoMake Access inner joins 'INNER JOIN' to avoid JOIN syntax errors
Rafael Kitover [Wed, 8 Jun 2011 12:38:20 +0000]
Make Access inner joins 'INNER JOIN' to avoid JOIN syntax errors

12 years agofixed order of rows difference between first and subsequent pages for Oracle
Alexander Hartmaier [Mon, 6 Jun 2011 15:10:52 +0000]
fixed order of rows difference between first and subsequent pages for Oracle

12 years agoFix stupid oversight in update_all
Peter Rabbitson [Tue, 7 Jun 2011 08:04:13 +0000]
Fix stupid oversight in update_all

12 years agoAugment shorsighted code change in 5ef76b8b
Peter Rabbitson [Tue, 7 Jun 2011 07:58:05 +0000]
Augment shorsighted code change in 5ef76b8b

The way _column_data_in_storage was unconditionally referenced, would
break both id() and ident_values(), which are supposed to construct
the identity based on current object state

12 years agoThe test is designed to work with blob-updates only, remove plain values
Rafael Kitover [Wed, 25 May 2011 22:01:20 +0000]
The test is designed to work with blob-updates only, remove plain values

12 years agoRewrite handling of "storage-side old values" both for PK/ident and for
Peter Rabbitson [Sun, 5 Jun 2011 05:29:42 +0000]
Rewrite handling of "storage-side old values" both for PK/ident and for
Ordered position/grouping

Massive code simplification, also opens the door to vastly simplifying
(and optimizing) DBIx::Class::Helper::Row::StorageValues, as only
differing values are kept by the core

12 years agoMinor cleanup of ResultSource attributes
Peter Rabbitson [Sat, 4 Jun 2011 21:57:47 +0000]
Minor cleanup of ResultSource attributes

12 years agofix doubling of find_related condition
Peter Rabbitson [Fri, 3 Jun 2011 17:00:51 +0000]
fix doubling of find_related condition

12 years agoFix newlines in skip messages
Rafael Kitover [Fri, 3 Jun 2011 17:00:51 +0000]
Fix newlines in skip messages

12 years agoExtra cleanup of leftovers from 70171cd7
Peter Rabbitson [Sat, 4 Jun 2011 07:39:59 +0000]
Extra cleanup of leftovers from 70171cd7

Also some commentary

12 years agoAdded tests for chained sqlt_deploy_hook()'s
Pedro Melo [Tue, 24 May 2011 14:52:33 +0000]
Added tests for chained sqlt_deploy_hook()'s

We need to declare the sqlt_deploy_hook sub's in the code to make sure the
next::method knows they exist.

Signed-off-by: Pedro Melo <melo@simplicidade.org>

12 years agoRevert "Fix incorrect default sqlt_deploy_hook signature" (fed15b916)
Pedro Melo [Tue, 24 May 2011 14:18:34 +0000]
Revert "Fix incorrect default sqlt_deploy_hook signature" (fed15b916)

With this change, code that uses next::can or next::method inside
sql_deploy_hook(), like components, stops working.

Also fix documentation to match the actual code

12 years agoAllow changing attributes on schema cloning
Florian Ragwitz [Mon, 9 May 2011 16:20:57 +0000]
Allow changing attributes on schema cloning

12 years ago[docs] remove a stray "1;"
Moritz Lenz [Tue, 24 May 2011 15:45:34 +0000]
[docs] remove a stray "1;"

12 years ago[doc] replace pseudocode with real code
Moritz Lenz [Thu, 19 May 2011 19:53:09 +0000]
[doc] replace pseudocode with real code

12 years agofix typo
Justin Hunter [Mon, 23 May 2011 23:06:30 +0000]
fix typo

12 years agoadd DateTime parser for Sybase ASE
Rafael Kitover [Wed, 18 May 2011 09:51:35 +0000]
add DateTime parser for Sybase ASE

12 years agochange FreeTDS related warnings to carp_once
Rafael Kitover [Tue, 17 May 2011 14:12:04 +0000]
change FreeTDS related warnings to carp_once

12 years agomake Oracle trigger queries safe for coderef connect_infos
Rafael Kitover [Tue, 17 May 2011 14:00:35 +0000]
make Oracle trigger queries safe for coderef connect_infos

12 years agotake more care in mangling SELECT when applying subquery limits
Brian Phillips [Wed, 11 May 2011 13:28:56 +0000]
take more care in mangling SELECT when applying subquery limits

Previously, if there was a SELECT sub-query in the WHERE
clause, the regular expression was being a bit too greedy
and stripping too much out.

12 years agoRelease 0.08192 v0.08192
Arthur Axel 'fREW' Schmidt [Tue, 10 May 2011 04:22:30 +0000]
Release 0.08192

12 years agoturn 'use vars' into 'our'
Justin Hunter [Mon, 9 May 2011 20:14:31 +0000]
turn 'use vars' into 'our'
move the $VERSION up to the top of DBIx/Class.pm to aid in version detection
(things like Module::Metadata find the $VERSION string and base it on the last package statement it has seen, not knowing that } 'ends' the package)

12 years agoFix incorrect > vs >= ver. check, causing 5.13.1 fails
Peter Rabbitson [Tue, 10 May 2011 00:14:40 +0000]
Fix incorrect > vs >= ver. check, causing 5.13.1 fails

12 years agoremove meaningless mysql test that breaks on Win32
Rafael Kitover [Sun, 8 May 2011 16:27:28 +0000]
remove meaningless mysql test that breaks on Win32

12 years agoremove TODOs solved by helpers
Arthur Axel 'fREW' Schmidt [Mon, 9 May 2011 23:30:55 +0000]
remove TODOs solved by helpers

12 years agoFix serious DBD::SQLite numeric datatype mismatch regression
Peter Rabbitson [Mon, 9 May 2011 23:16:11 +0000]
Fix serious DBD::SQLite numeric datatype mismatch regression

12 years agoremove done TODO entry (infer quote_char)
Rafael Kitover [Sat, 7 May 2011 15:03:52 +0000]
remove done TODO entry (infer quote_char)

12 years agoRelease 0.08191 v0.08191
Arthur Axel 'fREW' Schmidt [Tue, 3 May 2011 00:39:44 +0000]
Release 0.08191

12 years agoAdded documentation for the -ident/-value operators in SQLMaker.
Naveed Massjouni [Sat, 23 Apr 2011 09:28:00 +0000]
Added documentation for the -ident/-value operators in SQLMaker.

12 years agoSkip blob like ? comparison on older oracle versions (doesn't work)
Peter Rabbitson [Mon, 2 May 2011 15:35:42 +0000]
Skip blob like ? comparison on older oracle versions (doesn't work)

12 years agoRelease 0.08190_01
Arthur Axel 'fREW' Schmidt [Mon, 2 May 2011 15:03:52 +0000]
Release 0.08190_01

12 years agoFix assumption in Sybase::ASE blob updater: cond is not always a HASHREF
Rafael Kitover [Mon, 2 May 2011 12:38:44 +0000]
Fix assumption in Sybase::ASE blob updater: cond is not always a HASHREF

12 years agoThrow away the error prone _strip_cond_qualifiers
Peter Rabbitson [Mon, 2 May 2011 11:36:18 +0000]
Throw away the error prone _strip_cond_qualifiers

Review of 61f031bf made it clear that in order to make this work properly
pretty much the entire sqla logic will need to be replicated. So instead
the hacky approach was taken to abuse a botched version of SQLA which
is guaranteed to parse its own command tree correctly :)

12 years agoRevert the smart-select-ordering introduced in 36fd7f07
Peter Rabbitson [Tue, 15 Feb 2011 11:43:33 +0000]
Revert the smart-select-ordering introduced in 36fd7f07

While on its surface an awesome idea, it proced to be problematic:
users of ->cursor and ->as_query expected that the result will have the same
column-order as what they put in the arguments. Also users abuse +select as
there's no tomorrow, which yielded interesting bugs. The current (and I hope
final) behavior is:

At the end of a chain, the resulting SQL will contain:

- a merger of all columns and then all +columns attributes in the
  declared order. If columns is declared as a multiselect hashref
  i.e. { as1 => sel1, as2 => sel2 }, then the selectors for this
  segment are ordered alphabetically. De-duplication is also always
  performed on columns arguments - only the first set of identical
  select/as pairs is preserved

- a merger of all select/as pairs, strict order, no deduplication

- a merger of +select/+as pairs, same rules as above

As a result of this prefetch on un-balanced resultsets now properly throws
an exception

12 years agoChannel all DBIHacks methods to the replicated writer
Peter Rabbitson [Sat, 30 Apr 2011 02:08:52 +0000]
Channel all DBIHacks methods to the replicated writer

Note this is a workaround to fix an actual reported bug. The whole system
reeks of misdesign, and needs to be revisited at some point.

13 years agoRevert incorrect assumption about non-functional cached pagers 65245220
Peter Rabbitson [Sat, 30 Apr 2011 00:43:30 +0000]
Revert incorrect assumption about non-functional cached pagers 65245220

While on the surface it seems logical that a cached resultset is inherently
non-pageable, one has to remember that search chaining with different
arguments (i.e. different offset) fires a new query, not subject to the
existing resultset cache.

13 years agoUse clearer varnames
Peter Rabbitson [Mon, 4 Oct 2010 09:50:52 +0000]
Use clearer varnames

13 years agoFix incorrect default sqlt_deploy_hook signature
Peter Rabbitson [Sun, 6 Feb 2011 10:31:45 +0000]
Fix incorrect default sqlt_deploy_hook signature

13 years agoDocumentation regarding resultsets in list context
Damien Krotkine [Fri, 22 Apr 2011 20:49:29 +0000]
Documentation regarding resultsets in list context

13 years agoCleanup Oracle's 00a28188 / add support for update/delete with blobs in WHERE
Rafael Kitover [Sun, 1 May 2011 21:18:35 +0000]
Cleanup Oracle's 00a28188 / add support for update/delete with blobs in WHERE

Make a separate path for as_query, so that the sql does not pass thorugh storage
multiple times. Also do not mangle the sql unless blob binds are detected.

13 years agofix MSSQL on_connect_call => 'use_dynamic_cursors' regression in 1db83fb9
Rafael Kitover [Mon, 25 Apr 2011 15:32:08 +0000]
fix MSSQL on_connect_call => 'use_dynamic_cursors' regression in 1db83fb9

13 years agoprefetch docs: prefetch works on all rel types
Fitz Elliott [Thu, 21 Apr 2011 17:19:13 +0000]
prefetch docs: prefetch works on all rel types

Update the prefetch docs to state that prefetch works with all
relationship types, where previously it had said that it works with
only belongs_to and has_one.

Also update the subsequent example. The old example was confusing
because it specified two has_many relationships on the same level,
something that DBIC emits a warning about.  That example is replaced
with a CD-centric example that demonstrates how many different
relationship types can be used together in a prefetch, but omits the
multiple has_manys.

Add a warning, example, and explanation of the troubles with using
multiple has_many relations in a prefetch.

The old text incorrectly stated that prefetch will override join and
select attributes. Describe current behavior with examples.

13 years agosavepoints for SQLite
Rafael Kitover [Fri, 25 Feb 2011 12:01:05 +0000]
savepoints for SQLite

13 years agoAnother overhaul of transaction/savepoint handling
Peter Rabbitson [Tue, 26 Apr 2011 06:38:26 +0000]
Another overhaul of transaction/savepoint handling

- Move most of the transaction logic back to ::Storage, only leave
  DBI-specific overrides in ::Storage::DBI
- Fix bug where a nested rollback would destabilize the entire execution
  chain
- Better checks for connectivity/ordering of txn/svp operations
- Make DBIC::Storage::NESTED_ROLLBACK_EXCEPTION a proper exception subclass
- Standardize the txn/svp names - renamed the actual workers
  _dbh_begin_work               to _exec_txn_begin
  _dbh_commit                   to _exec_txn_commit
  _dbh_rollback                 to _exec_txn_rollback
  _svp_[begin|release|rollback] to _exec_svp_[begin|release|rollback]

13 years agoCleanup/improve the leaktest a bit
Peter Rabbitson [Thu, 28 Apr 2011 15:02:35 +0000]
Cleanup/improve the leaktest a bit

13 years agoTweaked example code for having non-db data accessors.
Matt Sickler [Fri, 29 Apr 2011 17:58:32 +0000]
Tweaked example code for having non-db data accessors.

13 years agoFix custom-relationships on resultsources with multilevel monikers
Peter Rabbitson [Fri, 22 Apr 2011 20:31:28 +0000]
Fix custom-relationships on resultsources with multilevel monikers

13 years agoFix stupid optimizer bug with has_many joined over might_have
Peter Rabbitson [Fri, 22 Apr 2011 12:14:02 +0000]
Fix stupid optimizer bug with has_many joined over might_have

13 years agoDrop DBI requirement down to 1.57
Peter Rabbitson [Thu, 21 Apr 2011 16:46:25 +0000]
Drop DBI requirement down to 1.57

SQLite, MySQL, Pg, Oracle, ODBC and Sybase all tested to work

13 years agoFix $rs->next when using HRI with right-join-side data injected into main obj
Alexander Kuznetsov [Thu, 10 Mar 2011 16:37:59 +0000]
Fix $rs->next when using HRI with right-join-side data injected into main obj

13 years agohandle BLOB and CLOB columns in WHERE for Oracle
Rafael Kitover [Fri, 8 Apr 2011 17:52:49 +0000]
handle BLOB and CLOB columns in WHERE for Oracle

13 years agoAdd retrieve_on_insert column_info flag, to autoretrieve RDBMS-side defaults
Robert Bohne [Thu, 10 Mar 2011 08:19:28 +0000]
Add retrieve_on_insert column_info flag, to autoretrieve RDBMS-side defaults

Also move the UniqueIdentifier code from insert() to _prefetch_autovalues()
where it makes more logical sense

13 years agomake a proper storage base class for Firebird
Rafael Kitover [Tue, 12 Apr 2011 23:46:19 +0000]
make a proper storage base class for Firebird

13 years agofix some spelling mistakes
Justin Hunter [Thu, 14 Apr 2011 15:46:54 +0000]
fix some spelling mistakes

13 years agosupport sub-second precision for TIMESTAMPs for Firebird over ODBC
Rafael Kitover [Sat, 9 Apr 2011 21:48:38 +0000]
support sub-second precision for TIMESTAMPs for Firebird over ODBC