Matt S Trout [Fri, 20 Apr 2012 03:59:31 +0000]
correctly handle HAVING without GROUP BY
Matt S Trout [Fri, 20 Apr 2012 03:20:25 +0000]
introduce internal prune_multiplying to de-hack some code
Matt S Trout [Fri, 20 Apr 2012 03:09:03 +0000]
switch is_ordered to new code
Matt S Trout [Fri, 20 Apr 2012 02:50:27 +0000]
defuck group by generation in complex prefetches
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
Matt S Trout [Mon, 16 Apr 2012 21:19:40 +0000]
better handling of literals (notably for having clauses)
Matt S Trout [Mon, 16 Apr 2012 20:40:50 +0000]
handle select aliases correctly in group by generation for distinct
Matt S Trout [Mon, 16 Apr 2012 20:40:18 +0000]
convert more throws to die
Matt S Trout [Mon, 16 Apr 2012 19:57:48 +0000]
move _count_subq_rs having recursion to dq
Matt S Trout [Mon, 16 Apr 2012 19:57:34 +0000]
handle slightly weird case of partial $from
Matt S Trout [Mon, 16 Apr 2012 16:56:06 +0000]
don't use throw_exception in code that can't
Matt S Trout [Mon, 16 Apr 2012 16:52:54 +0000]
handle lack of source_name in join tagging code
Matt S Trout [Mon, 16 Apr 2012 16:48:31 +0000]
re-kill evil hack
Matt S Trout [Mon, 16 Apr 2012 16:35:46 +0000]
fix is_single detection
Matt S Trout [Mon, 16 Apr 2012 16:01:29 +0000]
move stuff about. pay no attention to the madness behind the curtain.
Matt S Trout [Mon, 16 Apr 2012 14:33:30 +0000]
switch _construct_objects prefetch to DQ
Matt S Trout [Mon, 16 Apr 2012 14:20:23 +0000]
allow Data::Query::Constants, a trivial exporter, in lean startup list
Matt S Trout [Mon, 16 Apr 2012 14:03:40 +0000]
restore explicit aliases, fix up some join related stuff
Matt S Trout [Mon, 16 Apr 2012 13:15:59 +0000]
sane where rendering in update/delete
Matt S Trout [Mon, 16 Apr 2012 12:33:35 +0000]
first cut at alias type scanning
Matt S Trout [Mon, 16 Apr 2012 07:12:18 +0000]
switch distinct resolution to using dq code
Matt S Trout [Mon, 16 Apr 2012 03:46:07 +0000]
further steps towards conversion
Matt S Trout [Mon, 16 Apr 2012 01:08:57 +0000]
factor out converter overrides
Matt S Trout [Sat, 14 Apr 2012 19:18:20 +0000]
DQ based JOIN generation
Matt S Trout [Sat, 14 Apr 2012 17:37:34 +0000]
nuke vestigial code
Matt S Trout [Sat, 14 Apr 2012 17:12:05 +0000]
rendering SELECT, GROUP BY and HAVING via DQ
Matt S Trout [Sat, 14 Apr 2012 16:03:52 +0000]
SQLMaker barely runs
Matt S Trout [Sun, 22 Apr 2012 18:04:29 +0000]
revert code changes for DQ rebastiality
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
Peter Rabbitson [Sat, 21 Apr 2012 04:33:11 +0000]
More limit torture
Peter Rabbitson [Sat, 21 Apr 2012 04:15:33 +0000]
Fix lapse on limited incomplete has_many prefetches
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
Peter Rabbitson [Sat, 21 Apr 2012 01:32:04 +0000]
Saner naming for helper test method
Peter Rabbitson [Fri, 20 Apr 2012 07:41:28 +0000]
Fix test failure on MSWin32
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
Peter Rabbitson [Fri, 20 Apr 2012 07:29:34 +0000]
Fix test borkage after
9b871b00c - ALWAYS RUN TESTS RETARDO!
Peter Rabbitson [Wed, 18 Apr 2012 16:16:22 +0000]
Better handling of bogus tmpdir returned by File::Spec on MSWin32
Arthur Axel 'fREW' Schmidt [Wed, 18 Apr 2012 13:46:20 +0000]
add missing catfile so tests can run on win32
Peter Rabbitson [Mon, 16 Apr 2012 04:47:47 +0000]
Version/dist Makefile.PL safety checks
Peter Rabbitson [Mon, 16 Apr 2012 04:42:01 +0000]
Add strictures to the Makefile.PL inc-snippets
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
Matt S Trout [Sat, 14 Apr 2012 17:11:34 +0000]
No join pruning on a SINGLE TABLE FROM CLAUSE
Peter Rabbitson [Mon, 16 Apr 2012 01:15:30 +0000]
Merge branch 'topic/constructor_rewrite'
Peter Rabbitson [Sat, 3 Mar 2012 11:02:58 +0000]
Minor cleanups in ResultSet.pm (no functional changes)
Peter Rabbitson [Sat, 3 Mar 2012 11:02:01 +0000]
Cleanup of stale constructor codepath comments
Peter Rabbitson [Sat, 25 Feb 2012 14:36:43 +0000]
I think we are done here
Peter Rabbitson [Fri, 24 Feb 2012 01:22:10 +0000]
Move scary stuff to its own class
Peter Rabbitson [Mon, 20 Feb 2012 04:14:03 +0000]
Initial full test pass - all fetches are eager for now
Peter Rabbitson [Mon, 16 Apr 2012 01:01:03 +0000]
Merge branch 'master' into topic/constructor_rewrite
Peter Rabbitson [Sun, 15 Apr 2012 10:29:09 +0000]
Add torture of limiting subselect with non-root table selection renamer
Matt S Trout [Sat, 14 Apr 2012 17:11:34 +0000]
me.minyear is not a valid alias, minyear is
Peter Rabbitson [Sat, 14 Apr 2012 13:00:57 +0000]
Entire test suite now executable under tainted perl (prove -lT)
Peter Rabbitson [Sat, 14 Apr 2012 12:09:59 +0000]
Merge massive rework of limit dialects
Peter Rabbitson [Sat, 14 Apr 2012 12:03:20 +0000]
Document software_limit and properly throw on related as_query calls
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Extra tests for all the improvements
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
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Fix RowCountOrGenericSubQ dropping group/having/order on the floor (RT#73244)
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
When realiasing carry all 'renames' in longest first order
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Anything that isn't in the selector list needs a realias
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Always reselect a bind-containing order by even if appearing in the select list
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
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Fix bind order in RNO limits when there are both select and order bindvals
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Sanify handling of genericsubquery order determination, and order binds
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Simplify 3-query skimming limits to omit the last redundant limit
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Simplify skimming limits - simpler query when no offset is given
Peter Rabbitson [Thu, 29 Mar 2012 02:53:28 +0000]
Refactor a lot of the limit dialects common code - (hopefully) no changes
Alexander Hartmaier [Thu, 12 Apr 2012 14:30:30 +0000]
fixed current_source_alias example code
Peter Rabbitson [Wed, 11 Apr 2012 07:29:43 +0000]
Fix broken tests that would fail in future SQL::Abstract
Peter Rabbitson [Wed, 11 Apr 2012 07:24:01 +0000]
Check more files for notabs/eol
Peter Rabbitson [Wed, 11 Apr 2012 07:13:01 +0000]
No longer depend on MI::AuthorTests. Switch xt tests to run on make dist
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
Peter Rabbitson [Wed, 11 Apr 2012 05:47:50 +0000]
Fix buggered skip, broken by reorg in
d9bd5195
moltar [Tue, 10 Apr 2012 14:29:45 +0000]
Removed PRIVATE METHODS pod section from Ordered.
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
Peter Rabbitson [Fri, 3 Feb 2012 09:46:06 +0000]
Reorganize CDBICompat tests - centralize prereq checks in one place
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$/
Peter Rabbitson [Fri, 3 Feb 2012 09:46:06 +0000]
Fix incorrect DSN in test (does not affect test condition)
Peter Rabbitson [Mon, 9 Apr 2012 04:58:41 +0000]
Bump Moo deps
Peter Rabbitson [Mon, 9 Apr 2012 02:53:24 +0000]
Enhance
19b088d1 to add SQLT dep regardless of Makefile mode
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.
Peter Rabbitson [Sat, 7 Apr 2012 10:11:23 +0000]
Better detection/synchronization of MSSQL dynamic cursor state
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)
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
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.
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.
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.
Rafael Kitover [Sun, 18 Mar 2012 06:33:54 +0000]
The cursor class is now autoloaded due to CAG component_class acc. group
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.
Peter Rabbitson [Mon, 26 Mar 2012 03:11:24 +0000]
Add all database connections via DBICTest::Schema to the leaktrace pool
Rafael Kitover [Sat, 24 Mar 2012 04:07:41 +0000]
Fix thinkos from
bfec318f and 3edfebff
Rafael Kitover [Sat, 24 Mar 2012 04:07:41 +0000]
Disable ODBC batch ops for Access, they are broken
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
Rafael Kitover [Fri, 23 Mar 2012 13:04:53 +0000]
support FreeTDS 0.91 with Sybase ASE + DBD::Sybase
Requires disabling statement caching.
Rafael Kitover [Fri, 23 Mar 2012 18:27:10 +0000]
disable batch ops for firebird ODBC driver
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 .
Rafael Kitover [Thu, 22 Mar 2012 11:41:47 +0000]
Appease DBD::Sybase compiled with new freetds
Rafael Kitover [Thu, 22 Mar 2012 11:41:47 +0000]
As shitty as freetds is, it seems they at least got MARS right
Peter Rabbitson [Fri, 23 Mar 2012 09:38:18 +0000]
Centralize (and privatize) handling of freetds driver/version detection
Peter Rabbitson [Tue, 20 Mar 2012 05:49:33 +0000]
Multiple cleanups to accommodate broken FreeTDS driver
- Disable batch operations entirely (can get as bad as silent insert failures)
- Disable SELECT SCOPE_IDENTITY generation when used with dynamic cursors
- Clean some warnings while we're at it
Peter Rabbitson [Thu, 22 Mar 2012 07:44:33 +0000]
Fix pessimization of offset-less Oracle limits, introduced in
6a6394f1
When there is only one RowNum operator, stability of the order is not relevant