12 years agoLOBWriter review topic/lobwriter
Peter Rabbitson [Sun, 2 Sep 2012 15:13:00 +0000]
LOBWriter review

12 years agoWriteLOBs storage component and 2 implementations
Rafael Kitover [Mon, 30 Jan 2012 11:08:54 +0000]
WriteLOBs storage component and 2 implementations

Factor out the LOB Writing code through an API from ::Sybase::ASE into a
generic component, ::Storage::DBI::WriteLOBs which requires the
composing class to implement just two methods, _write_lobs and _empty_lob
and implements insert, update and insert_bulk as well as a bunch of low
level methods (which are private.) These methods are documented in the
component as top comments.

::DBI::Oracle::Generic and ::Sybase::ASE implement this component.

The implementation is stackable, so that a composing class override of
LOB handling using the low level methods will not conflict with the
inherited methods, however for performance reasons a flag has been
added:

    local $self->{_skip_writelobs_impl} = 1;

to shortcircuit the implementation even faster. This flag is not
documented and will be replaced using the capability system in the
future, it is used in the ASE implementation of insert_bulk because of
the special identities handling it requires.

This refactor addresses a number of issues:

 - rows can now be identified by unique constraints, not just PKs for
   LOB ops

 - ASE UPDATEs with LIKE queries on TEXT columns in the WHERE condition
   now work

 - LOB ops now work in Oracle with quoting turned on

 - LOB ops work in Oracle with DBD::Oracle 1.23

 - insert_bulk now works with LOBs for Oracle, as long as the slices can
   be uniquely identified

12 years agoFix filename interpolation in DBIC::Optional::Dependecies
Dagfinn Ilmari Mannsåker [Sat, 25 Aug 2012 00:40:09 +0000]
Fix filename interpolation in DBIC::Optional::Dependecies

12 years agoIgnore Emacs droppings and generated README
Dagfinn Ilmari Mannsåker [Fri, 24 Aug 2012 23:55:02 +0000]
Ignore Emacs droppings and generated README

12 years agorelease 0.08200 v0.08200
Arthur Axel 'fREW' Schmidt [Fri, 24 Aug 2012 02:37:13 +0000]
release 0.08200

12 years agoput off deprecation and clarify test output
Arthur Axel 'fREW' Schmidt [Fri, 24 Aug 2012 13:33:30 +0000]
put off deprecation and clarify test output

12 years agorewrite test to use existing schema
Arthur Axel 'fREW' Schmidt [Fri, 24 Aug 2012 02:34:58 +0000]
rewrite test to use existing schema

12 years agorelease 0.08199 v0.08199
Arthur Axel 'fREW' Schmidt [Thu, 23 Aug 2012 01:18:26 +0000]
release 0.08199

12 years agoDev release changes
Jess Robinson [Wed, 1 Aug 2012 18:26:13 +0000]
Dev release changes

12 years agoBack out constructor/prefetch rewrite introduced mainly by 43245ada4a
Peter Rabbitson [Tue, 24 Jul 2012 10:12:31 +0000]
Back out constructor/prefetch rewrite introduced mainly by 43245ada4a

It was shipped against the authors advice, while containing multiple known
bugs. After the expected bugreports went warnocked for over two weeks by the
new DBIC release team, it seems that the only way to partially restore the
release quality DBIC users have come to expect, is to currently throw this
code away until better times.

Should resolve RT#78456 and the issues reported in these threads:
http://lists.scsys.co.uk/pipermail/dbix-class/2012-July/010681.html
http://lists.scsys.co.uk/pipermail/dbix-class/2012-July/010682.html

12 years agofailing test for prefetch bug where prefetched values of 0 might break inflation
Eden Cardim [Wed, 22 Aug 2012 19:22:53 +0000]
failing test for prefetch bug where prefetched values of 0 might break inflation

12 years agoremove ->deploy from castaway's test
Rafael Kitover [Thu, 2 Aug 2012 14:22:18 +0000]
remove ->deploy from castaway's test

12 years agoNew test for recent prefetch/undef bug
Jess Robinson [Wed, 1 Aug 2012 22:16:07 +0000]
New test for recent prefetch/undef bug

12 years ago Fix Class::AccessorGroup to allow instances in get_component_class.
Gareth Kirwan [Tue, 17 Jul 2012 15:49:50 +0000]
 Fix Class::AccessorGroup to allow instances in get_component_class.
 Fixes result_class($obj) exploding instead of just using the object.

12 years agorelease v0.08198 v0.08198
Arthur Axel 'fREW' Schmidt [Wed, 11 Jul 2012 02:55:05 +0000]
release v0.08198

12 years agofix silent Oracle connection failures
Rafael Kitover [Sun, 24 Jun 2012 17:42:46 +0000]
fix silent Oracle connection failures

::Storage::DBI::_server_info was eating connection exceptions by
ignoring exceptions from $dbh->get_info, but this information is
important for _rebless when e.g. determining which class to use based on
the DB server version, so rethrow the exceptions when
$self->{_in_determine_driver} is true.

12 years agobetter type check for mssql+ado binary null strip
Rafael Kitover [Sun, 24 Jun 2012 06:59:11 +0000]
better type check for mssql+ado binary null strip

The data_type in the t/lib result class for the blob for the tests
changed to 'blob', while the binary type null stripper only expected
'binary' or 'image' data types, which is wrong for possibly
cross-deployed schemas.

Change _strip_trailing_binary_nulls in ::ADO::CursorUtils to use the
newly added and more generic ::Storage::DBI::_is_binary_type instead of
just checking for 'binary' or 'image'.

12 years agomark some tests in admin/10script.t on Win32 TODO
Rafael Kitover [Sun, 24 Jun 2012 05:32:03 +0000]
mark some tests in admin/10script.t on Win32 TODO

The test_dbicadmin() tests are failing on Win32 due to some sort of
quoting issue with the temp directory. I'm not sure how the temp
directory is being used here, so it will have to wait for someone else,
in the meanwhile I marked the tests TODO.

Also changed the " backwhacking to use Win32::ShellQuote instead and
added it to optdeps, unfortunately that didn't fix the problem, since
the problem seems to be some sort of DBICTest::RunMode interaction with
dbicadmin.

12 years agopreload threads.pm in storage/txn.t for fork error
Rafael Kitover [Mon, 18 Jun 2012 15:49:37 +0000]
preload threads.pm in storage/txn.t for fork error

SineSwiper reported this error in t/storage/txn.t on Strawberry Perl
5.12 32bit:

You must load the 'threads' module before Moo::_Utils at t/storage/txn.t
line 130.

Preload threads in a BEGIN block at the beginning of the .t file for
Win32. This fixes the error.

12 years agoskip 51threadnodb.t on Win32 on < 5.14
Rafael Kitover [Mon, 18 Jun 2012 15:11:36 +0000]
skip 51threadnodb.t on Win32 on < 5.14

SineSwiper reported a crash with a dialog from "make test" in
t/51threadnodb.t on Strawberry Perl 5.12 32bit.

The test passes on my ActivePerl 64bit 5.14.2 and there is a passing
test report for 5.14 here:
http://www.cpantesters.org/cpan/report/239d2ae4-87c3-1015-ad08-a09405085451

Disable test on Win32 for perls below 5.14 unless the environment
variable TEST_AUTHOR is set to be safe.

12 years agorelease 0.08197 v0.08197
Arthur Axel 'fREW' Schmidt [Tue, 10 Jul 2012 21:35:54 +0000]
release 0.08197

12 years agono longer dep on dev rel since this is not a dev rel
Arthur Axel 'fREW' Schmidt [Tue, 10 Jul 2012 21:33:52 +0000]
no longer dep on dev rel since this is not a dev rel

12 years agofix pod for unicode name
Arthur Axel 'fREW' Schmidt [Tue, 10 Jul 2012 21:28:49 +0000]
fix pod for unicode name

12 years agoAdd Travis YML for Travis-CI support
Brendan Byrd [Wed, 20 Jun 2012 15:27:04 +0000]
Add Travis YML for Travis-CI support
   (See http://travis-ci.org/#!/SineSwiper/dbix-class/jobs/1665376)

12 years agofix broken syntax
Justin Hunter [Fri, 15 Jun 2012 19:34:19 +0000]
fix broken syntax

12 years agoAdd authority for new moules
Peter Rabbitson [Fri, 15 Jun 2012 15:28:05 +0000]
Add authority for new moules

12 years agofix tests on solaris
Arthur Axel 'fREW' Schmidt [Fri, 15 Jun 2012 01:20:00 +0000]
fix tests on solaris

12 years agofix debian mssql/odbc setup docs for multiarch
Rafael Kitover [Tue, 5 Jun 2012 01:40:03 +0000]
fix debian mssql/odbc setup docs for multiarch

12 years agorelease 0.08197_01
Arthur Axel 'fREW' Schmidt [Wed, 30 May 2012 02:12:09 +0000]
release 0.08197_01

12 years agofix for RT#77241
Justin Hunter [Wed, 23 May 2012 13:31:03 +0000]
fix for RT#77241

12 years agofix typo
Justin Hunter [Tue, 15 May 2012 22:59:13 +0000]
fix typo

12 years agoadd more docs on software_limit resultset attr
Rafael Kitover [Tue, 15 May 2012 12:02:48 +0000]
add more docs on software_limit resultset attr

Add a paragraph to Storage/DBI/Sybase/ASE and a section under SEARCHING
to Cookbook.

12 years agoupdate proxy/cascade_update doc in Relationship::Base
Gerda Shank [Tue, 8 May 2012 16:22:42 +0000]
update proxy/cascade_update doc in Relationship::Base

12 years agoRemove mention of obsolete DBIx::Class::WebForm.
Dagfinn Ilmari Mannsåker [Sun, 6 May 2012 16:22:44 +0000]
Remove mention of obsolete DBIx::Class::WebForm.

Mention HTML::FormHandler::Model::DBIC instead, which is actively
maintained.

12 years agoRemove/fix bogus defaults values in example
Dagfinn Ilmari Mannsåker [Sun, 6 May 2012 16:19:13 +0000]
Remove/fix bogus defaults values in example

is_auto_increment already provides a default, and for the other columns
we either don't want a default value or it needs to be an integer.
Explicit is_auto_increment => 0 is also pointless and distracting.

12 years agoAdjust tests for new Moo
Peter Rabbitson [Fri, 27 Apr 2012 07:39:44 +0000]
Adjust tests for new Moo

12 years agoSimplify untainting - Module::Find can't return invalid names
Peter Rabbitson [Fri, 27 Apr 2012 07:09:15 +0000]
Simplify untainting - Module::Find can't return invalid names

12 years agoUse the now pure-perlized Devel::GlobalDestroy module
Peter Rabbitson [Fri, 27 Apr 2012 07:00:42 +0000]
Use the now pure-perlized Devel::GlobalDestroy module

12 years agoFix more fallout from 9b871b00, centralize the ugly in a base Schema class
Peter Rabbitson [Mon, 23 Apr 2012 16:41:28 +0000]
Fix more fallout from 9b871b00, centralize the ugly in a base Schema class

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