12 years agoorder stability testing
Matt S Trout [Fri, 20 Apr 2012 09:17:45 +0000]
order stability testing

12 years agoNot supporting the old SQL::Abstract::Limit custom horror
Matt S Trout [Fri, 20 Apr 2012 04:07:03 +0000]
Not supporting the old SQL::Abstract::Limit custom horror

12 years agocorrectly handle HAVING without GROUP BY
Matt S Trout [Fri, 20 Apr 2012 03:59:31 +0000]
correctly handle HAVING without GROUP BY

12 years agointroduce internal prune_multiplying to de-hack some code
Matt S Trout [Fri, 20 Apr 2012 03:20:25 +0000]
introduce internal prune_multiplying to de-hack some code

12 years agoswitch is_ordered to new code
Matt S Trout [Fri, 20 Apr 2012 03:09:03 +0000]
switch is_ordered to new code

12 years agodefuck group by generation in complex prefetches
Matt S Trout [Fri, 20 Apr 2012 02:50:27 +0000]
defuck group by generation in complex prefetches

12 years agocomma is not period comma is not period comma is not period do not taunt happy fun...
Matt S Trout [Fri, 20 Apr 2012 00:57:19 +0000]
comma is not period comma is not period comma is not period do not taunt happy fun ball

12 years agobetter handling of literals (notably for having clauses)
Matt S Trout [Mon, 16 Apr 2012 21:19:40 +0000]
better handling of literals (notably for having clauses)

12 years agohandle select aliases correctly in group by generation for distinct
Matt S Trout [Mon, 16 Apr 2012 20:40:50 +0000]
handle select aliases correctly in group by generation for distinct

12 years agoconvert more throws to die
Matt S Trout [Mon, 16 Apr 2012 20:40:18 +0000]
convert more throws to die

12 years agomove _count_subq_rs having recursion to dq
Matt S Trout [Mon, 16 Apr 2012 19:57:48 +0000]
move _count_subq_rs having recursion to dq

12 years agohandle slightly weird case of partial $from
Matt S Trout [Mon, 16 Apr 2012 19:57:34 +0000]
handle slightly weird case of partial $from

12 years agodon't use throw_exception in code that can't
Matt S Trout [Mon, 16 Apr 2012 16:56:06 +0000]
don't use throw_exception in code that can't

12 years agohandle lack of source_name in join tagging code
Matt S Trout [Mon, 16 Apr 2012 16:52:54 +0000]
handle lack of source_name in join tagging code

12 years agore-kill evil hack
Matt S Trout [Mon, 16 Apr 2012 16:48:31 +0000]
re-kill evil hack

12 years agofix is_single detection
Matt S Trout [Mon, 16 Apr 2012 16:35:46 +0000]
fix is_single detection

12 years agomove stuff about. pay no attention to the madness behind the curtain.
Matt S Trout [Mon, 16 Apr 2012 16:01:29 +0000]
move stuff about. pay no attention to the madness behind the curtain.

12 years agoswitch _construct_objects prefetch to DQ
Matt S Trout [Mon, 16 Apr 2012 14:33:30 +0000]
switch _construct_objects prefetch to DQ

12 years agoallow Data::Query::Constants, a trivial exporter, in lean startup list
Matt S Trout [Mon, 16 Apr 2012 14:20:23 +0000]
allow Data::Query::Constants, a trivial exporter, in lean startup list

12 years agorestore explicit aliases, fix up some join related stuff
Matt S Trout [Mon, 16 Apr 2012 14:03:40 +0000]
restore explicit aliases, fix up some join related stuff

12 years agosane where rendering in update/delete
Matt S Trout [Mon, 16 Apr 2012 13:15:59 +0000]
sane where rendering in update/delete

12 years agofirst cut at alias type scanning
Matt S Trout [Mon, 16 Apr 2012 12:33:35 +0000]
first cut at alias type scanning

12 years agoswitch distinct resolution to using dq code
Matt S Trout [Mon, 16 Apr 2012 07:12:18 +0000]
switch distinct resolution to using dq code

12 years agofurther steps towards conversion
Matt S Trout [Mon, 16 Apr 2012 03:46:07 +0000]
further steps towards conversion

12 years agofactor out converter overrides
Matt S Trout [Mon, 16 Apr 2012 01:08:57 +0000]
factor out converter overrides

12 years agoDQ based JOIN generation
Matt S Trout [Sat, 14 Apr 2012 19:18:20 +0000]
DQ based JOIN generation

12 years agonuke vestigial code
Matt S Trout [Sat, 14 Apr 2012 17:37:34 +0000]
nuke vestigial code

12 years agorendering SELECT, GROUP BY and HAVING via DQ
Matt S Trout [Sat, 14 Apr 2012 17:12:05 +0000]
rendering SELECT, GROUP BY and HAVING via DQ

12 years agoSQLMaker barely runs
Matt S Trout [Sat, 14 Apr 2012 16:03:52 +0000]
SQLMaker barely runs

12 years agorevert code changes for DQ rebastiality
Matt S Trout [Sun, 22 Apr 2012 18:04:29 +0000]
revert code changes for DQ rebastiality

12 years agoRemove realiasing overengineering introduced in 86bb5a27da
Peter Rabbitson [Sat, 21 Apr 2012 04:57:41 +0000]
Remove realiasing overengineering introduced in 86bb5a27da

mst is right - there is no viable use case for this, cleanse with fire
Also I managed to misspell subUery... twice

12 years agoMore limit torture
Peter Rabbitson [Sat, 21 Apr 2012 04:33:11 +0000]
More limit torture

12 years agoFix lapse on limited incomplete has_many prefetches
Peter Rabbitson [Sat, 21 Apr 2012 04:15:33 +0000]
Fix lapse on limited incomplete has_many prefetches

12 years agoDo not artificially order the internals of a has_many prefetch subquery
Peter Rabbitson [Sat, 21 Apr 2012 04:03:34 +0000]
Do not artificially order the internals of a has_many prefetch subquery

Thre is no point using the artificial order which is only needed for efficient
collapse. The user didn't request an order - this means any rows will do

12 years agoSaner naming for helper test method
Peter Rabbitson [Sat, 21 Apr 2012 01:32:04 +0000]
Saner naming for helper test method

12 years agoFix test failure on MSWin32
Peter Rabbitson [Fri, 20 Apr 2012 07:41:28 +0000]
Fix test failure on MSWin32

12 years agoMake sure order realiasing remains in proper sequence on sorting
Peter Rabbitson [Fri, 20 Apr 2012 07:33:22 +0000]
Make sure order realiasing remains in proper sequence on sorting

We now support 999 realiased order criteria, this is beyond sufficient

12 years agoFix test borkage after 9b871b00c - ALWAYS RUN TESTS RETARDO!
Peter Rabbitson [Fri, 20 Apr 2012 07:29:34 +0000]
Fix test borkage after 9b871b00c - ALWAYS RUN TESTS RETARDO!

12 years agoBetter handling of bogus tmpdir returned by File::Spec on MSWin32
Peter Rabbitson [Wed, 18 Apr 2012 16:16:22 +0000]
Better handling of bogus tmpdir returned by File::Spec on MSWin32

12 years agoadd missing catfile so tests can run on win32
Arthur Axel 'fREW' Schmidt [Wed, 18 Apr 2012 13:46:20 +0000]
add missing catfile so tests can run on win32

12 years agoVersion/dist Makefile.PL safety checks
Peter Rabbitson [Mon, 16 Apr 2012 04:47:47 +0000]
Version/dist Makefile.PL safety checks

12 years agoAdd strictures to the Makefile.PL inc-snippets
Peter Rabbitson [Mon, 16 Apr 2012 04:42:01 +0000]
Add strictures to the Makefile.PL inc-snippets

12 years agoThis is stupid - no need to build the SQL manually, the local flag is enough
Peter Rabbitson [Mon, 16 Apr 2012 03:16:47 +0000]
This is stupid - no need to build the SQL manually, the local flag is enough

12 years agoNo join pruning on a SINGLE TABLE FROM CLAUSE
Matt S Trout [Sat, 14 Apr 2012 17:11:34 +0000]
No join pruning on a SINGLE TABLE FROM CLAUSE

12 years agoMerge branch 'topic/constructor_rewrite'
Peter Rabbitson [Mon, 16 Apr 2012 01:15:30 +0000]
Merge branch 'topic/constructor_rewrite'

12 years agoMinor cleanups in ResultSet.pm (no functional changes)
Peter Rabbitson [Sat, 3 Mar 2012 11:02:58 +0000]
Minor cleanups in ResultSet.pm (no functional changes)

12 years agoCleanup of stale constructor codepath comments
Peter Rabbitson [Sat, 3 Mar 2012 11:02:01 +0000]
Cleanup of stale constructor codepath comments

12 years agoI think we are done here
Peter Rabbitson [Sat, 25 Feb 2012 14:36:43 +0000]
I think we are done here

12 years agoMove scary stuff to its own class
Peter Rabbitson [Fri, 24 Feb 2012 01:22:10 +0000]
Move scary stuff to its own class

12 years agoInitial full test pass - all fetches are eager for now
Peter Rabbitson [Mon, 20 Feb 2012 04:14:03 +0000]
Initial full test pass - all fetches are eager for now

12 years agoMerge branch 'master' into topic/constructor_rewrite
Peter Rabbitson [Mon, 16 Apr 2012 01:01:03 +0000]
Merge branch 'master' into topic/constructor_rewrite

12 years agoAdd torture of limiting subselect with non-root table selection renamer
Peter Rabbitson [Sun, 15 Apr 2012 10:29:09 +0000]
Add torture of limiting subselect with non-root table selection renamer

12 years agome.minyear is not a valid alias, minyear is
Matt S Trout [Sat, 14 Apr 2012 17:11:34 +0000]
me.minyear is not a valid alias, minyear is

12 years agoEntire test suite now executable under tainted perl (prove -lT)
Peter Rabbitson [Sat, 14 Apr 2012 13:00:57 +0000]
Entire test suite now executable under tainted perl (prove -lT)

12 years agoMerge massive rework of limit dialects
Peter Rabbitson [Sat, 14 Apr 2012 12:09:59 +0000]
Merge massive rework of limit dialects

12 years agoDocument software_limit and properly throw on related as_query calls
Peter Rabbitson [Sat, 14 Apr 2012 12:03:20 +0000]
Document software_limit and properly throw on related as_query calls

12 years agoExtra tests for all the improvements
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Extra tests for all the improvements

12 years agoTake into account resultset conditions when determining rs order stability
Peter Rabbitson [Sat, 14 Apr 2012 08:45:32 +0000]
Take into account resultset conditions when determining rs order stability

This takes care of the overly-aggressive exception scenario introduced by
86bb5a27

12 years agoFix RowCountOrGenericSubQ dropping group/having/order on the floor (RT#73244)
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Fix RowCountOrGenericSubQ dropping group/having/order on the floor (RT#73244)

12 years agoWhen realiasing carry all 'renames' in longest first order
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
When realiasing carry all 'renames' in longest first order

12 years agoAnything that isn't in the selector list needs a realias
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Anything that isn't in the selector list needs a realias

12 years agoAlways reselect a bind-containing order by even if appearing in the select list
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Always reselect a bind-containing order by even if appearing in the select list

12 years agoDo not alias plain column names to the inflator spec, do it only for funcs
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Do not alias plain column names to the inflator spec, do it only for funcs

This solves a problem with deliberate column renames in complex subqueries

12 years agoFix bind order in RNO limits when there are both select and order bindvals
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Fix bind order in RNO limits when there are both select and order bindvals

12 years agoSanify handling of genericsubquery order determination, and order binds
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Sanify handling of genericsubquery order determination, and order binds

12 years agoSimplify 3-query skimming limits to omit the last redundant limit
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Simplify 3-query skimming limits to omit the last redundant limit

12 years agoSimplify skimming limits - simpler query when no offset is given
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Simplify skimming limits - simpler query when no offset is given

12 years agoRefactor a lot of the limit dialects common code - (hopefully) no changes
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Refactor a lot of the limit dialects common code - (hopefully) no changes

12 years agofixed current_source_alias example code
Alexander Hartmaier [Thu, 12 Apr 2012 14:30:30 +0000]
fixed current_source_alias example code

12 years agoFix broken tests that would fail in future SQL::Abstract
Peter Rabbitson [Wed, 11 Apr 2012 07:29:43 +0000]
Fix broken tests that would fail in future SQL::Abstract

12 years agoCheck more files for notabs/eol
Peter Rabbitson [Wed, 11 Apr 2012 07:24:01 +0000]
Check more files for notabs/eol

12 years agoNo longer depend on MI::AuthorTests. Switch xt tests to run on make dist
Peter Rabbitson [Wed, 11 Apr 2012 07:13:01 +0000]
No longer depend on MI::AuthorTests. Switch xt tests to run on make dist

12 years agoRelax requirement of a config stanza introduced in 7b71391b3
Peter Rabbitson [Wed, 11 Apr 2012 07:03:08 +0000]
Relax requirement of a config stanza introduced in 7b71391b3
A schema may very well define a configuration internally

12 years agoFix buggered skip, broken by reorg in d9bd5195
Peter Rabbitson [Wed, 11 Apr 2012 05:47:50 +0000]
Fix buggered skip, broken by reorg in d9bd5195

12 years agoRemoved PRIVATE METHODS pod section from Ordered.
moltar [Tue, 10 Apr 2012 14:29:45 +0000]
Removed PRIVATE METHODS pod section from Ordered.

12 years agoAllow for tests to run in parallel (simultaneously from multiple checkouts)
Peter Rabbitson [Fri, 3 Feb 2012 09:46:06 +0000]
Allow for tests to run in parallel (simultaneously from multiple checkouts)

This is an interim solution and is by no means the final thing. It simply
was possible to do in a short timeframe and cuts the test run time in half.

If you have DSN envvars set, use at least -s -j8 for best results (the
shuffling un-bunches similar tests, see discussion below)

Two things are at play:

First of all every SQLite database and every temp work directory is created
separately using the pid of the *main* test process (there can be children)
for disambiguation. Extra cleanup passes have been added to ensure t/var
remains clean between runs.

All other DSNs are reduced to their ->sqlt_type form and the result is used
for a global lockfile. Said lockfile is kept in /tmp so that multiple
testruns from multiple directories can be run against the same set of
databases with no conflicts.

Some of the tests are explicitly exempt from any locking and will run
regardless of environment, for example t/storage/dbi_env.t

The lockfiles are deliberately placed in File::Spec->tmpdir. This is done
so that multiple dbic checkouts can run against the same set of DSNs without
stepping on each other's toes.

Some notes on why this is not a great idea, even though it works flawlessly
under continuous test cycling: The problem is that our tests are not yet
ordered in a spwecific way. This means that multiple tests competing for
the same resource will inevitably lock all available test threads forming
several bottlenecks along the path of execution. This issue will be adressed
in a later patch, with the following considerations:
  - prove -l t/... must continue to work as is
  - test aggregation is something the test suite should try to avoid in
    general - after all DBIC is intended to be usable in CGI (yes, pure CGI)
    environments, so if the tests are getting heavy to run - this is an
    actual problem in need of fixing. Aggregation will instead sweep it under
    the rug
  - general reorganization of test groups / various path changes should only
    be attempted once we have a solid base for multi-db test runs

12 years agoReorganize CDBICompat tests - centralize prereq checks in one place
Peter Rabbitson [Fri, 3 Feb 2012 09:46:06 +0000]
Reorganize CDBICompat tests - centralize prereq checks in one place

12 years agoFix complete breakage of ddl_filename on certain paths
Peter Rabbitson [Fri, 3 Feb 2012 09:46:06 +0000]
Fix complete breakage of ddl_filename on certain paths

The careless regex substitution was a poor choice, which became evident when
the db file switched to pid-postfixed names. The result was that tests
upgrading from v1.0 to 2.0 would completely obliterate a path ending with
/2\d0$/

12 years agoFix incorrect DSN in test (does not affect test condition)
Peter Rabbitson [Fri, 3 Feb 2012 09:46:06 +0000]
Fix incorrect DSN in test (does not affect test condition)

12 years agoBump Moo deps
Peter Rabbitson [Mon, 9 Apr 2012 04:58:41 +0000]
Bump Moo deps

12 years agoEnhance 19b088d1 to add SQLT dep regardless of Makefile mode
Peter Rabbitson [Mon, 9 Apr 2012 02:53:24 +0000]
Enhance 19b088d1 to add SQLT dep regardless of Makefile mode

12 years agoadd a link to doc on MAS for MSSQL+ODBC
Rafael Kitover [Sat, 7 Apr 2012 16:14:17 +0000]
add a link to doc on MAS for MSSQL+ODBC

Add a link to
http://www.easysoft.com/developer/languages/perl/multiple-active-statements.html
to the POD for ::DBI::ODBC::Microsoft_SQL_Server in the Multiple Active
Statements section.

12 years agoBetter detection/synchronization of MSSQL dynamic cursor state
Peter Rabbitson [Sat, 7 Apr 2012 10:11:23 +0000]
Better detection/synchronization of MSSQL dynamic cursor state

12 years agoRevert 796acb6a - latest FreeTDS does not support MARs in any form
Peter Rabbitson [Sat, 7 Apr 2012 09:18:46 +0000]
Revert 796acb6a - latest FreeTDS does not support MARs in any form

It looked like this was the case due to a botched test, which would allow
a silent reconnection to take place. What was thought to be a proper MARs
configuration turned out to be simply two connections working in sync

(view patch with diff -w)

12 years agoadded paragraph to update_or_create and find_or_create docs how to know if a row...
Alexander Hartmaier [Tue, 3 Apr 2012 11:17:04 +0000]
added paragraph to update_or_create and find_or_create docs how to know if a row was updated/found or created

12 years agomove schema state copy to _copy_state_from
Rafael Kitover [Wed, 4 Apr 2012 02:36:08 +0000]
move schema state copy to _copy_state_from

Move the stuff needed to copy the state of a parent schema to another
including making a copy of the class_mappings and source_registrations,
registering sources and copying the storage to the private
_copy_state_from method which clone calls.

12 years agocheck DBD::ODBC version when disabling array ops
Rafael Kitover [Sat, 31 Mar 2012 15:01:22 +0000]
check DBD::ODBC version when disabling array ops

After 1.35 DBD::ODBC will disable array operations for execute_for_fetch
by default, and the $dbh attribute is changing from
'odbc_disable_array_operations' to 'odbc_array_operations', but we still
set the new attribute to 0 just in case.

Put the version checks and the setting of the appropriate attribute in
_disable_odbc_array_ops in ODBC.pm, and call it from the 3 drivers where
we currently need to disable them.

12 years agoimprovements for MSSQL driver via DBD::ADO
Rafael Kitover [Sun, 18 Mar 2012 06:33:54 +0000]
improvements for MSSQL driver via DBD::ADO

Various improvements and bug fixes:

 - Fix transaction support by changing CursorLocation on connection to
   adUseClient.

 - Support for VARCHAR(MAX)/VARBINARY(MAX)/NVARCHAR(MAX), add a catch
   for size => 'max' in _dbi_attrs_for_bind to set the ado_size workaround
   to LongReadLen, add a mapping to the data_type for literal
   'varchar(max)' entries as well. Tests for these types have been added
   as well.

 - Set $dbh->{LongReadLen} * 2 + 1 on connection, necessary for some LOB
   types.

 - Remove trailing null padding from BINARY/VARBINARY/IMAGE data via a
   custom Cursor class.

 - uniqueidentifier brace removal from data returned from ADO via Cursor
   class and re-addition via _dbi_attrs_for_bind and insert_bulk
   override for data sent to ADO.

 - Add type mappings for some missing MSSQL types and the types from other
   databases for cross-deployment.

 - Full set of tests, stolen from the MS Access tests, for savepoints,
   LOB support and GUIDs.

The trailing null padding and GUID brace removal is in utilities in
::DBI::ADO::CursorUtils which both ::DBI::ADO::MS_Jet (Access) and this
driver use, in their respective Cursor classes and in the drivers
themselves in select_single.

12 years agoThe cursor class is now autoloaded due to CAG component_class acc. group
Rafael Kitover [Sun, 18 Mar 2012 06:33:54 +0000]
The cursor class is now autoloaded due to CAG component_class acc. group

12 years agoFix auto-pk for Sybase ASE, broken by refactoring in fabbd5cc
Rafael Kitover [Thu, 29 Mar 2012 22:01:11 +0000]
Fix auto-pk for Sybase ASE, broken by refactoring in fabbd5cc

Was returning arrayref due to missing arrow, tests were passing because
arrayref numifies. Added a test that catches this.

12 years agoAdd all database connections via DBICTest::Schema to the leaktrace pool
Peter Rabbitson [Mon, 26 Mar 2012 03:11:24 +0000]
Add all database connections via DBICTest::Schema to the leaktrace pool

12 years agoFix thinkos from bfec318f and 3edfebff
Rafael Kitover [Sat, 24 Mar 2012 04:07:41 +0000]
Fix thinkos from bfec318f and 3edfebff

12 years agoDisable ODBC batch ops for Access, they are broken
Rafael Kitover [Sat, 24 Mar 2012 04:07:41 +0000]
Disable ODBC batch ops for Access, they are broken

12 years agoSome minor POD corrections
Brendan Byrd [Fri, 23 Mar 2012 15:09:04 +0000]
Some minor POD corrections

Apply very small doc correction to search_related
Fix incorrect last_modified / update comparison in ::Row/update
Add more direct documentation of grandparent methods in DBIC::Core

12 years agosupport FreeTDS 0.91 with Sybase ASE + DBD::Sybase
Rafael Kitover [Fri, 23 Mar 2012 13:04:53 +0000]
support FreeTDS 0.91 with Sybase ASE + DBD::Sybase

Requires disabling statement caching.

12 years agodisable batch ops for firebird ODBC driver
Rafael Kitover [Fri, 23 Mar 2012 18:27:10 +0000]
disable batch ops for firebird ODBC driver

12 years agomake carp_once register messages not just callsite
Rafael Kitover [Fri, 23 Mar 2012 17:37:27 +0000]
make carp_once register messages not just callsite

Add a test as well in t/106dbic_carp.t .

12 years agoAppease DBD::Sybase compiled with new freetds
Rafael Kitover [Thu, 22 Mar 2012 11:41:47 +0000]
Appease DBD::Sybase compiled with new freetds

12 years agoAs shitty as freetds is, it seems they at least got MARS right
Rafael Kitover [Thu, 22 Mar 2012 11:41:47 +0000]
As shitty as freetds is, it seems they at least got MARS right

12 years agoCentralize (and privatize) handling of freetds driver/version detection
Peter Rabbitson [Fri, 23 Mar 2012 09:38:18 +0000]
Centralize (and privatize) handling of freetds driver/version detection