12 years agoSimplify code of GenericSubQ limit dialect
Peter Rabbitson [Sat, 25 Feb 2012 14:36:43 +0000]
Simplify code of GenericSubQ limit dialect

12 years agoSome cleanups and code dedup of Top and FetchFirst limit dialects
Peter Rabbitson [Sat, 25 Feb 2012 14:36:43 +0000]
Some cleanups and code dedup of Top and FetchFirst limit dialects

Relax requirement of having a primary key declared on table

12 years agoSimplify RowNumber Over limit dialect implementation
Peter Rabbitson [Sat, 25 Feb 2012 14:36:43 +0000]
Simplify RowNumber Over limit dialect implementation

12 years agoDeduplicate code in rownum limit emulation
Peter Rabbitson [Sat, 25 Feb 2012 14:36:43 +0000]
Deduplicate code in rownum limit emulation

Use the RSRC unique constraint traversal to determine if an order_by is stable

12 years agoDeduplicate code in RSC, use the RSRC unique constraint traversal instead
Peter Rabbitson [Sat, 25 Feb 2012 14:36:43 +0000]
Deduplicate code in RSC, use the RSRC unique constraint traversal instead

12 years agoAdd an internal unique colset finder and relax complex $rs update/delete code
Peter Rabbitson [Sat, 25 Feb 2012 14:36:43 +0000]
Add an internal unique colset finder and relax complex $rs update/delete code

As long as there is something to correlate the subquery by we are good

12 years agoRemove the "row-by-row shift" Ordered.pm pessimization
Peter Rabbitson [Fri, 2 Mar 2012 10:41:42 +0000]
Remove the "row-by-row shift" Ordered.pm pessimization

The idea this is necessary was born when working with buggy old 1.1x
SQLite versions back in 2008. This no longer seems to be necessary,
but if I am wrong we can always bring it back with an actual
storage capability flag

12 years agoFix embarrassing leak triggered on calling new_related on an uninserted object
Peter Rabbitson [Tue, 14 Feb 2012 22:05:04 +0000]
Fix embarrassing leak triggered on calling new_related on an uninserted object

Reason is a typo-ed hash element in a weaken() call back in 68f3b0dd. Add a
bunch of extra tests to catch this, and also better validate the new_related
behavior.

12 years agoFix rogue child disconnecting a parent $dbh - no idea how I even missed that
Peter Rabbitson [Fri, 17 Feb 2012 11:54:09 +0000]
Fix rogue child disconnecting a parent $dbh - no idea how I even missed that

12 years agoMajorly cleanup $rs->update/delete (no $rs-aware code should be in ::Storages)
Peter Rabbitson [Mon, 31 May 2010 22:26:39 +0000]
Majorly cleanup $rs->update/delete (no $rs-aware code should be in ::Storages)

12 years agoOverhaul of variable \[] handling in populate, and a lot of extra tests
Peter Rabbitson [Sat, 10 Dec 2011 23:51:12 +0000]
Overhaul of variable \[] handling in populate, and a lot of extra tests

Now things like multi-value \[ ' ? || ?', [...], [...] ] and populate
datasets where the values of the \[] change per row work correctly

12 years agoSwitch from using execute_array to execute_for_fetch directly
Peter Rabbitson [Sat, 10 Dec 2011 23:44:37 +0000]
Switch from using execute_array to execute_for_fetch directly

This saves us from pivoting our data into column slices, which execute_array
promptly turns back into our initial row-based format to feed to
execute_for_fetch. Apart from the obvious speed gain, this saves a lot of
memory since it avoids 2 copies of the (possibly rather large) dataset

12 years agoFix ASE bulk_insert for bind changes in 0e773352
Peter Rabbitson [Sun, 11 Dec 2011 20:15:05 +0000]
Fix ASE bulk_insert for bind changes in 0e773352

When using the bulk API, update the binds to the structure expected by
_execute_array. Also temporarily disable $sth->finish in the bulk API
codepath because for some reason it rolls everything back. Modify the
test to always exercise both codepaths from now on.

12 years agoFactor out bindattr resolver and tighten code a bit
Peter Rabbitson [Sat, 10 Dec 2011 22:50:36 +0000]
Factor out bindattr resolver and tighten code a bit

Zero functional changes

12 years agoAllow users to disable the "DT in search" warning introduced in e1038213
Peter Rabbitson [Fri, 3 Feb 2012 08:31:27 +0000]
Allow users to disable the "DT in search" warning introduced in e1038213

12 years agoShuffle things around, maint/ is now a proper toolchain tooldir
Peter Rabbitson [Sat, 4 Feb 2012 21:27:51 +0000]
Shuffle things around, maint/ is now a proper toolchain tooldir

12 years agoNormalize -'s and _'s in maint names and Makefile options
Peter Rabbitson [Sat, 4 Feb 2012 16:19:27 +0000]
Normalize -'s and _'s in maint names and Makefile options

12 years agoremove stale link and doc readonly pool queries
Caleb Cushing [Thu, 2 Feb 2012 21:25:44 +0000]
remove stale link and doc readonly pool queries

transactions cause an implicit force to master, this documents how you can
override this to force to pool

Signed-off-by: Caleb Cushing <xenoterracide@gmail.com>

12 years agoadd a link to SQL::Abstract for WHERE clauses
Caleb Cushing [Thu, 2 Feb 2012 20:50:43 +0000]
add a link to SQL::Abstract for WHERE clauses

Signed-off-by: Caleb Cushing <xenoterracide@gmail.com>

12 years agoFix forgotten whitespace - this is what I get for no prove xt
Peter Rabbitson [Mon, 30 Jan 2012 10:33:12 +0000]
Fix forgotten whitespace - this is what I get for no prove xt

12 years agoOnly invoke the author Makefile.PL includes if we are not part of a `make` run
Peter Rabbitson [Mon, 30 Jan 2012 08:45:55 +0000]
Only invoke the author Makefile.PL includes if we are not part of a `make` run

12 years agoComment typo
Matt Phillips [Mon, 30 Jan 2012 02:17:52 +0000]
Comment typo

12 years agoForgotten diag and some clarifications of fc4b0448
Peter Rabbitson [Sun, 29 Jan 2012 12:37:08 +0000]
Forgotten diag and some clarifications of fc4b0448

12 years agoFactor out the Makefile.PL into easily digestable snippets
Peter Rabbitson [Tue, 24 Jan 2012 11:47:44 +0000]
Factor out the Makefile.PL into easily digestable snippets

Also add explicit guard for attempts to `make dist` from within non-author mode.
The rationale is to disallow dist building on machines that do not have the optdeps
installed (this still does not giarantee `make test` will run, but is at least a
nudge in the right direction)

12 years agoAssert that complex bindtytyping passage works for the search() bind attribute
Peter Rabbitson [Thu, 26 Jan 2012 11:11:15 +0000]
Assert that complex bindtytyping passage works for the search() bind attribute

12 years agouse more correct subsection links in POD
Graham Knop [Tue, 17 Jan 2012 17:18:43 +0000]
use more correct subsection links in POD

12 years agoremove ::Storage::DBI::sth from POD as it should never have been public
Graham Knop [Tue, 17 Jan 2012 17:25:49 +0000]
remove ::Storage::DBI::sth from POD as it should never have been public

12 years agofix PrettyPrint package link in POD
Graham Knop [Tue, 17 Jan 2012 17:22:00 +0000]
fix PrettyPrint package link in POD

12 years agocorrect organization for SQLite POD
Graham Knop [Tue, 17 Jan 2012 17:20:34 +0000]
correct organization for SQLite POD

12 years agoissue warning for DateTimes passed to ->search
Rafael Kitover [Wed, 18 Jan 2012 14:56:18 +0000]
issue warning for DateTimes passed to ->search

Issue a carp_unique when DateTime objects are detected in binds in
::Storage::DBI with a pointer to the Cookbook recipe for formatting
DateTime objects for queries.

Add a test for the warning in t/inflate/datetime.t, which already has
TODO tests for DTs in ->search.

12 years agoadd POD on how to use Moose in custom ResultSets
Rafael Kitover [Tue, 10 Jan 2012 21:56:03 +0000]
add POD on how to use Moose in custom ResultSets

Thanks to mst for providing the relevant info.

12 years agoTrailing WS crusade - got to save them bits
Peter Rabbitson [Thu, 5 Jan 2012 02:59:41 +0000]
Trailing WS crusade - got to save them bits

12 years agoAdd link to SQLHackers documentation
Jess Robinson [Fri, 9 Dec 2011 17:00:45 +0000]
Add link to SQLHackers documentation

12 years ago- Fix typo (s/get_colum/get_column).
Brad Davis [Wed, 4 Jan 2012 04:52:02 +0000]
- Fix typo (s/get_colum/get_column).

12 years agouse Path::Class for finding subdirs of t and don't use global filehandle for slurping
Alexander Hartmaier [Tue, 3 Jan 2012 12:00:47 +0000]
use Path::Class for finding subdirs of t and don't use global filehandle for slurping

12 years agorefactored HashRefInflators internals
Alexander Hartmaier [Wed, 14 Dec 2011 10:15:44 +0000]
refactored HashRefInflators internals

12 years agoRewrite the HRI bench to produce consistent numbers with less handholding
Peter Rabbitson [Mon, 19 Dec 2011 05:55:18 +0000]
Rewrite the HRI bench to produce consistent numbers with less handholding

- Now we auto-pull from git what we want to benchmark (by default last
  2 commits + uncommitted changes if any)
- Run a very tight benchmarking loop, without requerying SQLite or have
  any other unrelated distractions
- use DumbBench (much saner implementation and results, though slower)

12 years agoAdd live Firebird test for paging fix 8b31f62e
Rafael Kitover [Thu, 1 Dec 2011 17:29:51 +0000]
Add live Firebird test for paging fix 8b31f62e

12 years agoFix and test first_skip/skip_first limit dialects
Peter Rabbitson [Thu, 1 Dec 2011 16:50:57 +0000]
Fix and test first_skip/skip_first limit dialects

Codebase didn't take in account the fact that limit bindvals for
SELECT FIRST x SKIP y and SELECT FIRST x SKIP y need to be inserted
at the head of the bind-assembly chain. Hence introducing a new
bind-chunk position 'pre_select'. While at it move the TOP dialect
to use it as well.

Extensive tests for both dialects, and also augment the test for
the Oracle RowNum dialect (no fixes necessary)

12 years agoStandardize hobbs' email address
Peter Rabbitson [Tue, 29 Nov 2011 06:00:23 +0000]
Standardize hobbs' email address

12 years agoRelease 0.08196 v0.08196
Andrew Rodland [Tue, 29 Nov 2011 05:34:15 +0000]
Release 0.08196

12 years agoMore test fixes following 4a425300 and new DBD::SQLite release
Peter Rabbitson [Tue, 29 Nov 2011 05:31:45 +0000]
More test fixes following 4a425300 and new DBD::SQLite release

13 years agoFix some logic pitfalls in the require tracer
Peter Rabbitson [Sat, 26 Nov 2011 10:00:53 +0000]
Fix some logic pitfalls in the require tracer

13 years agoFix the join/prefetch resolver when dealing with ''/undef/()
Peter Rabbitson [Sat, 26 Nov 2011 01:41:16 +0000]
Fix the join/prefetch resolver when dealing with ''/undef/()

13 years agoModifying links to /condition to point to DBIC::Relationship::Base
Peter Valdemar Mørch [Tue, 2 Aug 2011 18:18:17 +0000]
Modifying links to /condition to point to DBIC::Relationship::Base

Because that is where the condition description is to be found

13 years agoFix copyright... in November
Peter Rabbitson [Fri, 25 Nov 2011 23:22:17 +0000]
Fix copyright... in November

13 years agoMake both pg and mysql execute t/98savepoints.t if present
Peter Rabbitson [Fri, 25 Nov 2011 23:20:16 +0000]
Make both pg and mysql execute t/98savepoints.t if present

13 years agoMake tests pass with DBIC_TRACE and DBIC_TRACE_PROFILE set
Peter Rabbitson [Fri, 25 Nov 2011 23:01:46 +0000]
Make tests pass with DBIC_TRACE and DBIC_TRACE_PROFILE set

13 years agoFix TxnScopeGuard misbehaving on externally set $@ without inner exceptions
Peter Rabbitson [Fri, 25 Nov 2011 22:20:44 +0000]
Fix TxnScopeGuard misbehaving on externally set $@ without inner exceptions

The guard is supposed to warn when it goes out of scope without a commit.
However this doesn't work if $@ was already set before the guard was created
and there were no eval{}s to clear it between definition and destruction.

Fixing this by storing a weakref to the current exception (if any) and
disregarding the contents of $@ if they match the ref we started with.

13 years agoAbstract away the CORE::GLOBAL::require override code, foolproof tests
Peter Rabbitson [Thu, 24 Nov 2011 17:38:09 +0000]
Abstract away the CORE::GLOBAL::require override code, foolproof tests

Rewrite prompted by some weirdness in Package::Stash::XS and require overrides
on older perls < 5.8.7. Besides the cleaner code add a kick-ass require
tracer.

13 years agoMore robust test suite skip-checks, check ENV before loading modules
Peter Rabbitson [Fri, 25 Nov 2011 10:44:16 +0000]
More robust test suite skip-checks, check ENV before loading modules

13 years agoSwitch the nobindvars test from MySQL to the always available SQLite
Peter Rabbitson [Fri, 25 Nov 2011 10:35:00 +0000]
Switch the nobindvars test from MySQL to the always available SQLite

13 years agoSkip error/warn frames within CAG - saner callsite error messages this way
Peter Rabbitson [Tue, 23 Aug 2011 14:10:09 +0000]
Skip error/warn frames within CAG - saner callsite error messages this way

13 years agoDocumented $resultsource->name
Mark A. Stratman [Tue, 14 Jun 2011 17:48:34 +0000]
Documented $resultsource->name

13 years agoDrop Math::BigInt optdep: no fixes concerning us were made since
Peter Rabbitson [Tue, 6 Sep 2011 08:06:12 +0000]
Drop Math::BigInt optdep: no fixes concerning us were made since

13 years agoSilence freetds/ODBC test warnings
Rafael Kitover [Thu, 24 Nov 2011 18:31:22 +0000]
Silence freetds/ODBC test warnings

The freetds+dynamic cursors TODO tests are throwing a warning for undef
in ->find, set the DBIC_NULLABLE_KEY_NOWARN env var to silence them.
This is not a solution of course, but we will deal with it when we
resolve the underlying issues with freetds and dynamic cursors.

13 years agoStart caching the result of various bind_attribute_by_data_type invocations
Peter Rabbitson [Thu, 24 Nov 2011 13:49:11 +0000]
Start caching the result of various bind_attribute_by_data_type invocations

Not only is this a speed win - it also avoids multiple querying of DBD
versions, which can lead to a memory leak (because version.pm is silly).

Still go even further and only check the VERSION of a DBD once unless the
DBD got reloaded.

13 years agoFix uninitializied warnings in ::Storage::Sybase::ASE, shuffle logic a bit
Peter Rabbitson [Thu, 24 Nov 2011 13:45:32 +0000]
Fix uninitializied warnings in ::Storage::Sybase::ASE, shuffle logic a bit

13 years agoFix incorrect Test::Builder dep (RT#72282)
Peter Rabbitson [Thu, 24 Nov 2011 11:44:58 +0000]
Fix incorrect Test::Builder dep (RT#72282)

13 years agoUnhide ::SQLMaker::OracleJoins to properly appear on s.c.o.
Peter Rabbitson [Thu, 6 Jan 2011 08:58:55 +0000]
Unhide ::SQLMaker::OracleJoins to properly appear on s.c.o.

13 years agoPass tests with DBICTEST_SQLITE_USE_FILE set
Peter Rabbitson [Tue, 25 Oct 2011 09:08:22 +0000]
Pass tests with DBICTEST_SQLITE_USE_FILE set

13 years agoChanges for 135e8ce
Peter Rabbitson [Mon, 21 Nov 2011 22:34:40 +0000]
Changes for 135e8ce

13 years agoMark ->with_deferred_fk_checks as RDBMS-specific
Dagfinn Ilmari Mannsåker [Wed, 26 Oct 2011 10:56:12 +0000]
Mark ->with_deferred_fk_checks as RDBMS-specific

13 years agoFixxor pause indexing
Peter Rabbitson [Fri, 12 Aug 2011 15:59:39 +0000]
Fixxor pause indexing

13 years agoEnsure t/53lean_startup.t remains lean
Peter Rabbitson [Fri, 12 Aug 2011 15:54:56 +0000]
Ensure t/53lean_startup.t remains lean

13 years agoCleanup compose_namespace(), clarify leaktests wrt classdata
Peter Rabbitson [Fri, 12 Aug 2011 15:22:52 +0000]
Cleanup compose_namespace(), clarify leaktests wrt classdata

13 years agoFix segfault in t/storage/quote_names.t
Peter Rabbitson [Thu, 11 Aug 2011 07:16:25 +0000]
Fix segfault in t/storage/quote_names.t

13 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

13 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

13 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.

13 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

13 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

13 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.

13 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".

13 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.

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

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

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

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

13 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.

13 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.

13 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.

13 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.

13 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

13 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

13 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

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

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

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

13 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

13 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

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

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

13 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

13 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

13 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::

13 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

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

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

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