9 years agoClean up PostgreSQL array types recipe
Dagfinn Ilmari Mannsåker [Thu, 11 Dec 2014 11:24:38 +0000]
Clean up PostgreSQL array types recipe

- Prefer { -value => [ … ] } syntax over \[ '= ?', [colname => [ … ]] ]
- Reference SQLA -value docs instead of array_datatypes

9 years agoUse SQL-standard quoting in Year2000CDs view
Dagfinn Ilmari Mannsåker [Wed, 10 Dec 2014 17:37:37 +0000]
Use SQL-standard quoting in Year2000CDs view

This lets DBICTEST_SQLT_DEPLOY=1 work with non-SQLite DBICTEST_DSN

10 years agoFix updating multiple CLOB/BLOB columns on Oracle
Kevin L. Kane [Tue, 18 Nov 2014 13:02:33 +0000]
Fix updating multiple CLOB/BLOB columns on Oracle

The genric _dbi_attrs_for_bind caches the attribute hashrefs by data
type, so we can't modify them directly with column-specific data.

Instead, copy it and add the ora_field attribute to the copy.

10 years agoMake sure emacs doesn't try to indent with tabs
Dagfinn Ilmari Mannsåker [Tue, 21 Oct 2014 21:48:15 +0000]
Make sure emacs doesn't try to indent with tabs

10 years agoRe-apply 1af6b9688 incorrectly removed by f8135512c
Peter Rabbitson [Wed, 22 Oct 2014 23:46:05 +0000]
Re-apply 1af6b9688 incorrectly removed by f8135512c

The `git shortlog` is additive, hence AUTHORS may never shrink. I *knew* that
ribasushi--

10 years agoRevert prematurely merged default insert support for Oracle (see below)
Peter Rabbitson [Wed, 22 Oct 2014 13:13:43 +0000]
Revert prematurely merged default insert support for Oracle (see below)

Note: the incorrect implementation is not the fault of the original submitter
(who can not be expected to know the vagaries of the execution path) nor is
the fault of the original reviewer (who can not be expected to remember said
vagaries for a storage they do not even use). I do not have recommendations
on how to avoid this situation in the future.

It is correct that the particular problem can not be solved on the level of
SQLMaker::Oracle like it was solved for MySQL. However the current fix applies
the default-on-empty way too early in the call stack - there is a lot of stuff
happening between where we would ideally be applying the workaround and the
current application site. With an Oracle storage the call-stack is roughly the
following:

  ( ... non-storage code )
    -> ::Storage::DBI::insert
X     -> ::Storage::DBI::_prefetch_autovalues
X       -> (loop over) ::Storage::DBI::Oracle::Generic::_sequence_fetch
X     -> determine if autoincs are accounted for
?     -> assemble INSERT RETURNING container
      -> ::Storage::DBI::_execute
        -> ::Storage::DBI::Oracle::Generic::_prep_for_execute
        -> ::Storage::DBI::_prep_for_execute
          -> ::Storage::DBI::_gen_sql_bind
            -> ::SQLMaker::Oracle::insert(...)

Setting up the "missing" default so early definitely affects the points marked
with X and possibly affects the code marked with ?. The issues that would come
out of this range from obvious failure modes to "this will be easily broken by
a future reshuffle" gut feeling.

The patch therefore needs reworking adding the extra pieces of logic either in
a new _gen_sql_bind hook, or at the very least in the already existing
conditional at the start of ::Storage::DBI::Oracle::Generic::_prep_for_execute
(though a hook of _gen_sql_bind is preferable).

Additionally the test needs to be expanded to exercise the case of pre-existing
test cases that trigger _prefetch_autovalue (the tests involving the source
SequenceTest in t/73oracle.t)

And lastly an explicit exception should be added to SQLMaker::Oracle::insert
to catch future changes to any code higher up, so that a refactor will not
silently end up calling SQLMaker::Oracle::insert with an empty insert-list,
throwing everything back to square one.

This commit reverts the following two patches, with the intention to merge a
fixed-up version shortly:

236b59c8
1af6b968

10 years agoWeaken $self to avoid leaks with nested closures on 5.8
Dagfinn Ilmari Mannsåker [Tue, 21 Oct 2014 10:10:00 +0000]
Weaken $self to avoid leaks with nested closures on 5.8

10 years agoCherry picks from current/for_cpan_index (flux due to not-yet-clear-policy)
Peter Rabbitson [Fri, 26 Sep 2014 02:20:51 +0000]
Cherry picks from current/for_cpan_index (flux due to not-yet-clear-policy)

This is an amalgamation of:
f6fff270
293dccfc (corrected version of b63585bd)
77cc50d1

10 years agoSilence with_deferred_fk_checks() warning on PostgreSQL 9.4
Dagfinn Ilmari Mannsåker [Sat, 18 Oct 2014 17:31:43 +0000]
Silence with_deferred_fk_checks() warning on PostgreSQL 9.4

SET CONSTRAINTS can only be used in transaction blocks, and 9.4 warns
about this, so make sure we issue 'SET CONSTRAINTS ALL IMMEDIATE' before
committing the transaction.

Also fix it for Informix, which uses the same syntax and has the same
restriction.

10 years agoAdd Lasse Makholm to AUTHORS file
Dagfinn Ilmari Mannsåker [Tue, 30 Sep 2014 10:30:33 +0000]
Add Lasse Makholm to AUTHORS file

10 years agoOnly load DBICTest::Schema when needed in tests
Dagfinn Ilmari Mannsåker [Tue, 23 Sep 2014 18:33:37 +0000]
Only load DBICTest::Schema when needed in tests

Make sure to not vivify $DBIx::Class::VERSION, since before perl 5.16,
this causes ->ensure_class_loaded to think the class is loaded.

10 years agoUse Optional::Dependencies for CDBICompat and its tests
Dagfinn Ilmari Mannsåker [Tue, 23 Sep 2014 16:03:59 +0000]
Use Optional::Dependencies for CDBICompat and its tests

This allows the test to check for them before loading DBICTest and
DBIC, thus speeding up the test skips a lot (down from 14s to 1s for
'prove -l t/cdbi' on my Linux box, and down from 1026s to 871s for the
whole test suite on a Windows VM).

10 years agoUnbreak $rs->create() with empty hashref on Oracle
Lasse Makholm [Mon, 29 Sep 2014 16:37:32 +0000]
Unbreak $rs->create() with empty hashref on Oracle

Oracle does not support the INSERT INTO ... DEFAULT VALUES syntax used by
SQLMaker by default. Furthermore, Oracle has no way of inserting a row
without specifying any columns, so the only reasonably fix seems to be to
pick a column and supply the DEFAULT keyword as value for it.

This approach seems to work without problems, even for things like
sequence+trigger-as-auto-increment.

10 years agoBump blead version
Peter Rabbitson [Fri, 26 Sep 2014 02:25:00 +0000]
Bump blead version

10 years agoRelease v0.082800
Peter Rabbitson [Thu, 25 Sep 2014 14:41:56 +0000]
Release v0.082800

10 years agoSome cleanups of Changes and adding 'Known issues'
Peter Rabbitson [Thu, 25 Sep 2014 14:37:41 +0000]
Some cleanups of Changes and adding 'Known issues'

10 years agoThis was reinstated in dc297536f
Peter Rabbitson [Thu, 25 Sep 2014 14:37:16 +0000]
This was reinstated in dc297536f

10 years agoKill leaktest on smokers with 1.3xx Test::More alphas
Peter Rabbitson [Thu, 25 Sep 2014 13:54:44 +0000]
Kill leaktest on smokers with 1.3xx Test::More alphas

This is done so that downstram dependencies of DBIC can be smoked as well,
the actual leaktest fix will come later when T::B stabilizes enough to go
into beta

10 years agoSQLA 1.79 shipped - revert tempextlib hack from d0435d75
Peter Rabbitson [Thu, 25 Sep 2014 12:07:46 +0000]
SQLA 1.79 shipped - revert tempextlib hack from d0435d75

10 years agoEdit leaktracer diag texts to be ilmary-compliant :)
Peter Rabbitson [Thu, 25 Sep 2014 11:45:06 +0000]
Edit leaktracer diag texts to be ilmary-compliant :)

10 years agoBoldly take the author nicknames bold
Peter Rabbitson [Thu, 25 Sep 2014 11:34:47 +0000]
Boldly take the author nicknames bold

10 years agoEven though perl_5 should be valid in 1.4, CPANTS barfs
Peter Rabbitson [Thu, 25 Sep 2014 03:27:34 +0000]
Even though perl_5 should be valid in 1.4, CPANTS barfs

Work around https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues/68

10 years agoForgotten manifest adjust after a2bd379666
Peter Rabbitson [Thu, 25 Sep 2014 02:42:38 +0000]
Forgotten manifest adjust after a2bd379666

10 years ago(travis) Cut the amount of threads we use in half
Peter Rabbitson [Thu, 25 Sep 2014 02:41:29 +0000]
(travis) Cut the amount of threads we use in half

Hopefully this will stave off the out of memory issues
https://github.com/travis-ci/travis-ci/issues/2715
https://github.com/travis-ci/travis-ci/issues/2101

10 years agoAdd catherder heading as per mst's insistence
Peter Rabbitson [Wed, 24 Sep 2014 19:42:18 +0000]
Add catherder heading as per mst's insistence

10 years agoFix literal SQL and bind values example in "columns" documentation
Dagfinn Ilmari Mannsåker [Wed, 24 Sep 2014 15:52:28 +0000]
Fix literal SQL and bind values example in "columns" documentation

10 years agoAccomodate broken Test::More trials a bit better
Peter Rabbitson [Wed, 24 Sep 2014 15:12:34 +0000]
Accomodate broken Test::More trials a bit better

10 years agoFix failures in xt/authors: git2 preserves case from mailmapping
Peter Rabbitson [Wed, 24 Sep 2014 14:16:30 +0000]
Fix failures in xt/authors: git2 preserves case from mailmapping

10 years agoDocument including literal SQL and values in a resultset with "columns"
Karen Etheridge [Mon, 28 Jul 2014 19:02:23 +0000]
Document including literal SQL and values in a resultset with "columns"

10 years agoAfter 5268b1da populate remained the sole user of Data::Compare
Peter Rabbitson [Wed, 24 Sep 2014 06:53:51 +0000]
After 5268b1da populate remained the sole user of Data::Compare

Might as well throw it out - the check that takes place is rather rare and
a freeze-and-compare approach is likely more efficient anyway

10 years ago(travis) Attempt to grab more info on parallel_installdeps_notest failures
Peter Rabbitson [Wed, 24 Sep 2014 04:28:06 +0000]
(travis) Attempt to grab more info on parallel_installdeps_notest failures

10 years agoNew Pod::Inherit does not need Pod::Tree
Peter Rabbitson [Fri, 14 Dec 2012 08:28:44 +0000]
New Pod::Inherit does not need Pod::Tree

10 years agoClarify licensing, ensure footers are consistent throughout the project
Peter Rabbitson [Tue, 23 Sep 2014 07:04:32 +0000]
Clarify licensing, ensure footers are consistent throughout the project

Note - this *DOES NOT CHANGE* the licensing of the project in any way, it
is still dual-licensed like perl5, just as it was before this commit. All
additions are for clarifying purposes only.

The way licensing is presented is an amalgamation of information and
prior art found at the following sources:
 - http://www.perlfoundation.org/cpan_licensing_guidelines
 - https://metacpan.org/source/ETHER/Moose-2.1212/LICENSE
 - `git log --color -w -p v5.20.0 ^perl-5.000^ -- Artistic`

10 years agoDeal with authorship properly, in a future-sustainable fashion
Peter Rabbitson [Mon, 22 Sep 2014 10:35:38 +0000]
Deal with authorship properly, in a future-sustainable fashion

This module is arguably one of the most successful collaborative projects on
CPAN. Make it known to the world by introducing a clear canonical source of
authorship metadata.

I have been holding off jumping on the "contributors from git" bandwagon
because of multiple issues

- Not every contribution results in a direct, attributtable commit
- We already had an extensive contributor list, much larger than the shortlog
- Loss of ircnicks (a fine tradition started in 266bdcc3)

So this commit does the proverbial bullet-biting and introduces *proper*
handling of all the ins and outs, including author-mode (CI as well) tests
for proper attribution. As a side-effect we break a lot of the footer links,
to be fixed in next commit.

Btw as I write this `195 contributors made this library what it is today`...
Mind. Blown.

10 years agoRe-attribute a substantial chunk of docs, due to lost original author
Peter Rabbitson [Sun, 21 Sep 2014 03:59:38 +0000]
Re-attribute a substantial chunk of docs, due to lost original author

The mysterious <g> is seen on the channel between Aug 24 and Sep 3 of 2008
talking to castaway and various other hackers, supplying a number of doc
patches and then vanishes. Due to the need of correct authorship imposed
by the next commit, reattribute the docs to castaway instead

This is the only such instance - all other authors have been accounted for.
Deemed acceptable as the name is entirely and utterly lost in the ether :(

10 years agoInitial AUTHORS stub (the last one where `git blame -C -C AUTHORS` worked)
Peter Rabbitson [Mon, 22 Sep 2014 18:35:15 +0000]
Initial AUTHORS stub (the last one where `git blame -C -C AUTHORS` worked)

Due to how git currently works one will need to `git log -S"line"` in the
future in order to find when a contributor entry was really made. Preserving
this particular arrangement historically, before more reordering and additions
come in the next commit.

10 years agoThe revert 8494142c incorrectly killed 4d93345c, reinstating
Peter Rabbitson [Wed, 24 Sep 2014 03:15:54 +0000]
The revert 8494142c incorrectly killed 4d93345c, reinstating

The loading of IO::Handle is still needed as demonstrated by failing
SQLA optional tests. Bleh!

10 years agoViciously deal with more strictures fallout
Peter Rabbitson [Wed, 24 Sep 2014 00:22:48 +0000]
Viciously deal with more strictures fallout

The 'what can possibly go wrong' blew up with RT#99083, there is definitely
more where this came from. Try to maintain safety by going to even greater
lengths ensuring we do not load any of it ourselves

10 years ago(travis) Bump tested perls a bit
Peter Rabbitson [Tue, 23 Sep 2014 23:29:46 +0000]
(travis) Bump tested perls a bit

10 years ago(travis) reload the already running RDBMS, as a precaution
Peter Rabbitson [Tue, 23 Sep 2014 23:25:53 +0000]
(travis) reload the already running RDBMS, as a precaution

Also get a newer libmysqlclient, just in case...

10 years agoReorganize dist-time meta handling (no semantic changes)
Peter Rabbitson [Mon, 22 Sep 2014 08:49:38 +0000]
Reorganize dist-time meta handling (no semantic changes)

10 years agoA massive amount of link fixes (just links, almost no rewording)
Peter Rabbitson [Sun, 21 Sep 2014 18:00:27 +0000]
A massive amount of link fixes (just links, almost no rewording)

kryde++ for the insanely useful tool App::PodLinkCheck. It is a bit heavy
and way too noisy for automated use, but with some handholding it is
scarily effective (as can be seen by the sheer size of this commit)

10 years agoProper end-of-file for DBIx/Class.pm
Peter Rabbitson [Sun, 21 Sep 2014 01:23:38 +0000]
Proper end-of-file for DBIx/Class.pm

10 years agoAdd forgotten bit preventing scan of where-binds (originally part of 1b8f2dd9)
Matt S Trout [Mon, 7 Oct 2013 11:40:53 +0000]
Add forgotten bit preventing scan of where-binds (originally part of 1b8f2dd9)

10 years agoAdd basic .dir-locals.el
Dagfinn Ilmari Mannsåker [Sat, 20 Sep 2014 12:24:00 +0000]
Add basic .dir-locals.el

10 years ago(travis) Attempt to revert 86370cc74, SC is too slow on uptake. Grumble
Peter Rabbitson [Fri, 19 Sep 2014 17:43:57 +0000]
(travis) Attempt to revert 86370cc74, SC is too slow on uptake. Grumble

10 years agoProperly handle empty group_by/order_by
Peter Rabbitson [Fri, 19 Sep 2014 08:32:10 +0000]
Properly handle empty group_by/order_by

10 years agoImprove SQLT::Parser warning messages (build further upon e089c417)
Peter Rabbitson [Thu, 18 Sep 2014 13:43:30 +0000]
Improve SQLT::Parser warning messages (build further upon e089c417)

10 years agoProperly implement very sloppy and lazy hack from bad0b73b
Peter Rabbitson [Wed, 17 Sep 2014 17:36:45 +0000]
Properly implement very sloppy and lazy hack from bad0b73b

We are abusing local() here - might as well abuse it correctly.
This way we do not add a permanent shitty name to the relinfo structure and
nobody needs to fix their tests. Winning!

10 years agoRevert e9f71ab2 - it ends up breaking a declared API
Peter Rabbitson [Wed, 17 Sep 2014 16:58:29 +0000]
Revert e9f71ab2 - it ends up breaking a declared API

I should have thought of this earlier - a debug object is not necessarily
isa(IO::Handle) (the documentation never mentioned this). And indeed: the
tests of DBIx::Class::QueryLog do exactly this - they use an object with
just a print() method and absolutely nothing else.

So instead of disabling the sticky autoflush (which really is only a visible
change on STDERR dup) document this behavior and move on.

10 years agoFix broken temporary backcompat shim for naughty _resolve_condition callers
Peter Rabbitson [Tue, 16 Sep 2014 16:24:25 +0000]
Fix broken temporary backcompat shim for naughty _resolve_condition callers

The 9b96f3d41 refactor undid all the backcompat shims that were introduced
in c0f445097. Reinstate the insanity until after 28...

10 years agoMultilevel find_or_(multi)create got inadvertently broken
Peter Rabbitson [Tue, 16 Sep 2014 08:04:59 +0000]
Multilevel find_or_(multi)create got inadvertently broken

Relax the check of what we feed to the relcond resolver

10 years agoYet another loose end on the cond collapser
Peter Rabbitson [Tue, 16 Sep 2014 06:01:11 +0000]
Yet another loose end on the cond collapser

Fingercross this is the last one... this transform is turning out ot be a
bad bad bad idea :(((

10 years agoEnsure the tempextlib is available at distbuild time
Peter Rabbitson [Mon, 15 Sep 2014 13:32:28 +0000]
Ensure the tempextlib is available at distbuild time

Missed one spot to load ::_Util during bbcc1fe8

10 years agoPut in place deprecation forgotten for several years
Peter Rabbitson [Mon, 15 Sep 2014 06:22:24 +0000]
Put in place deprecation forgotten for several years

More info and rationale in the commit msg of c200d949

10 years agoSplit DBIC from SQLMaker test (deprecated in next commit)
Peter Rabbitson [Mon, 15 Sep 2014 06:11:55 +0000]
Split DBIC from SQLMaker test (deprecated in next commit)

10 years agoEnsure the custom rel cond resolver does not trigger forgotten compat shim
Peter Rabbitson [Sun, 14 Sep 2014 18:59:58 +0000]
Ensure the custom rel cond resolver does not trigger forgotten compat shim

During the rush to get custom rels out the door (this is why rushing
fucking sucks), a697fa31 introduced a shortsighted workaround into
::SQLMaker::_from_chunk_to_sql(). This code slipped consequent review
and made its way into the codebase... 4 FUCKING YEARS AGO!!! >:(

Since it is not known how much stuff relies on the insanity being there
(moreover we have tests that rely on it) leave things as is for the time
being. The only change is  making the cond resolver *completely* oblivious to
the "single-element hash" workaround (albeit via a silly hack).

In the process exposed that ora-joins module is entirely incapable
of understanding non-equality conds... fml

See next commits for added warnings, etc.

10 years agoA more robust column equality extractor
Peter Rabbitson [Sun, 14 Sep 2014 18:41:55 +0000]
A more robust column equality extractor

It is a mistake to reach into $ret->{condition} - it may very well be a
non-hash structure. Also replace the silly regexping with the (already
regexed out) results of the info resolver

10 years agoEnsure undef_on_null_fk does not affect non-introspectable custom conds
Peter Rabbitson [Mon, 15 Sep 2014 09:39:12 +0000]
Ensure undef_on_null_fk does not affect non-introspectable custom conds

10 years agoYet another missed sanity check in the relcond resolver
Peter Rabbitson [Mon, 15 Sep 2014 08:40:39 +0000]
Yet another missed sanity check in the relcond resolver

rel/col duality is just hateful

10 years agoMake sure the me-relname-flip does not affect any error text
Peter Rabbitson [Sun, 14 Sep 2014 18:55:55 +0000]
Make sure the me-relname-flip does not affect any error text

10 years agoFix copy() assuming all columns are native
Peter Rabbitson [Mon, 15 Sep 2014 09:55:53 +0000]
Fix copy() assuming all columns are native

10 years agoAdjust for SQLA's API change 966200cc8
Peter Rabbitson [Sun, 14 Sep 2014 18:00:40 +0000]
Adjust for SQLA's API change 966200cc8

10 years ago(travis) Accommodate a slow mirror grrrrr
Peter Rabbitson [Mon, 15 Sep 2014 11:42:00 +0000]
(travis) Accommodate a slow mirror grrrrr

10 years ago(travis) Stop auto-upgrading everything on non-clean installs
Peter Rabbitson [Mon, 15 Sep 2014 11:58:48 +0000]
(travis) Stop auto-upgrading everything on non-clean installs

It adds little value currently and makes version-specific installs difficult
(see next commit)

10 years agoFix syntax error in ::Manual::Joining example
Tommy Butler [Wed, 10 Sep 2014 08:51:27 +0000]
Fix syntax error in ::Manual::Joining example

fixed syntax error on line 245 (missing closing curly bracket)

Closes: #60

10 years agoFix incorrect cond construction in _minimal_valueset_satisfying_constraint
Peter Rabbitson [Tue, 9 Sep 2014 23:38:43 +0000]
Fix incorrect cond construction in _minimal_valueset_satisfying_constraint

The function in question introduced in d681f1bb (which builds upon work in
8e40a627) correctly uses _extract_fixed_condition_columns, but then fails to
account for all literals having their leading { '=' => ... } being stripped,
nor does it consider UNRESOLVABLE_CONDITION as a valid return value.

Tests and fixes to get this rolling, thanks go to Lianna Eeftinck for testing
and reporting \o/

10 years agoEnsure ::Schema::Versioned connects only once by reusing the main connection
Peter Rabbitson [Tue, 9 Sep 2014 23:48:35 +0000]
Ensure ::Schema::Versioned connects only once by reusing the main connection

10 years agoStop using Sys::SigAction in pg tests
Peter Rabbitson [Mon, 8 Sep 2014 11:06:59 +0000]
Stop using Sys::SigAction in pg tests

10 years agoFix for gut-reaching travesty as reported by gbjk
Peter Rabbitson [Mon, 8 Sep 2014 09:14:29 +0000]
Fix for gut-reaching travesty as reported by gbjk

10 years agoNo longer use rel_info($rel)->{class} in the cond resolver
Peter Rabbitson [Sun, 7 Sep 2014 11:20:18 +0000]
No longer use rel_info($rel)->{class} in the cond resolver

It turns out there are a lot of codebases there containing garbage in the
rel definition. Punt for after 0.082800 to lean up that mess.

Also be less strict on checking the foreign_values contents - downgrade
mismatches to a warning (but still hard-require ::Row ancestry)

10 years agoSimplify self_result_object argument check in cond resolver
Peter Rabbitson [Sun, 7 Sep 2014 11:11:30 +0000]
Simplify self_result_object argument check in cond resolver

10 years agoMinor relcond resolver refactor, no func. changes
Peter Rabbitson [Sun, 7 Sep 2014 11:04:04 +0000]
Minor relcond resolver refactor, no func. changes

10 years agoSkip malformed relationships in SQLT parser instead of vague warnings
Peter Rabbitson [Fri, 5 Sep 2014 09:14:36 +0000]
Skip malformed relationships in SQLT parser instead of vague warnings

10 years agoMove and simplify a chunk of parser code
Peter Rabbitson [Fri, 5 Sep 2014 09:05:46 +0000]
Move and simplify a chunk of parser code

No functional changes

10 years agoMake sure IO::Handle is loaded - missing stubs on older perls
Peter Rabbitson [Fri, 5 Sep 2014 08:33:40 +0000]
Make sure IO::Handle is loaded - missing stubs on older perls

Also adjust the documentation in the wake of the e9f71ab2a change

10 years agoMake sure the resolve_cond shim attempts to lint the right thing
Peter Rabbitson [Thu, 4 Sep 2014 22:59:01 +0000]
Make sure the resolve_cond shim attempts to lint the right thing

This only matters in compat mode, so sod testing

10 years ago(travis) Sorry metacpan, your mirror is simply shit >:(
Peter Rabbitson [Fri, 5 Sep 2014 09:16:09 +0000]
(travis) Sorry metacpan, your mirror is simply shit >:(

10 years agoChangelog for RT#98161
Peter Rabbitson [Thu, 4 Sep 2014 15:53:32 +0000]
Changelog for RT#98161

Breakage introduced in 8d005ad9, fixed for good by a combination of 5268b1da
135ac69d and 95da0f23

10 years agoBetter describe the _resolve_relationship_condition API
Peter Rabbitson [Thu, 4 Sep 2014 12:28:25 +0000]
Better describe the _resolve_relationship_condition API

10 years agoAdd one more spot of unroll
Peter Rabbitson [Thu, 4 Sep 2014 10:50:11 +0000]
Add one more spot of unroll

10 years agoOne more fail-case missed in 135ac69dd
Peter Rabbitson [Thu, 4 Sep 2014 10:19:48 +0000]
One more fail-case missed in 135ac69dd

Now the test attached to RT#98161 actually passes... le sigh

At this point I am very wary of the entire codepath: yes, it is clearly the
right thing to do, and the logic is sound, but odd edge cases keep popping
up like this... OTOH there is no way to properly do equality inferrence
without this entire dance, in other words: rock&hardplace. Hopefully the
test suites will shake this out, apologoies to all affected :(

10 years agoBetter optional diag in t/sqlmaker/dbihacks_internals.t
Peter Rabbitson [Thu, 4 Sep 2014 10:17:17 +0000]
Better optional diag in t/sqlmaker/dbihacks_internals.t

10 years agoFix condition collapser corrupting -X operators
Peter Rabbitson [Wed, 3 Sep 2014 10:44:46 +0000]
Fix condition collapser corrupting -X operators

This is (fingercross) the complete fix for RT#98161

10 years agoMake sure empty cond collapser works on all positions
Peter Rabbitson [Tue, 2 Sep 2014 02:20:26 +0000]
Make sure empty cond collapser works on all positions

Adds another round of sql stabilization (akin to 5268b1da6)

10 years agoMake sure cond collapser works case insensitively
Peter Rabbitson [Wed, 27 Aug 2014 06:32:52 +0000]
Make sure cond collapser works case insensitively

10 years agoDeduplicate (and stabilize) the result of _collapse_cond
Peter Rabbitson [Fri, 22 Aug 2014 11:40:14 +0000]
Deduplicate (and stabilize) the result of _collapse_cond

Among other things set the stage to a fix of RT#98161 (later commit)

10 years agoSwitch to a sane deduplication system
Peter Rabbitson [Fri, 22 Aug 2014 08:53:46 +0000]
Switch to a sane deduplication system

The original naive approach from 8e40a627f was utterly braindead and prone
to false positives. Fix this for good

10 years agoRemove a superfluous pair of []s in cond collapser
Peter Rabbitson [Wed, 27 Aug 2014 06:01:31 +0000]
Remove a superfluous pair of []s in cond collapser

10 years agoFix "muse" typo in Relationship::Base's POD.
Stefan Hornburg (Racke) [Thu, 14 Aug 2014 11:56:55 +0000]
Fix "muse" typo in Relationship::Base's POD.

10 years agoUpdate 'as' vs '-as' discussion in ResultSet.pm
Ben Hutton [Fri, 8 Aug 2014 12:55:03 +0000]
Update 'as' vs '-as' discussion in ResultSet.pm

Call me pedantic, but I think moving the statment to a new line makes it
more prominant. I may have seen it before heading to irc to ask why it's
broken. Yes I should have read the section fully, but I didn't.

Also made the two statements use the same terminiolgy to be consistent
and add context.

10 years agoReword the having attribute reference
Olaf Alders [Tue, 5 Aug 2014 16:25:23 +0000]
Reword the having attribute reference

10 years agoAdd extra doc line expanding on the role of the prefetch attribute
Ben Hutton [Thu, 7 Aug 2014 10:17:42 +0000]
Add extra doc line expanding on the role of the prefetch attribute

10 years agoEnsure the TempExtlib actuall exists
Peter Rabbitson [Thu, 7 Aug 2014 03:05:39 +0000]
Ensure the TempExtlib actuall exists

10 years agoS::L tests rely on preserving the sqlmaker between reconnections
Peter Rabbitson [Tue, 5 Aug 2014 12:56:18 +0000]
S::L tests rely on preserving the sqlmaker between reconnections

While this is utterly retarded, punt and backout the b6a469f7 change for now.
Will revisit again during the connect_info consolidation

10 years agoTighten the 'txn-op on disconnected handle' checks
Peter Rabbitson [Tue, 5 Aug 2014 12:37:28 +0000]
Tighten the 'txn-op on disconnected handle' checks

10 years agoSimplify some ::Storage::DBI methods (no tempvars)
Peter Rabbitson [Tue, 5 Aug 2014 12:35:49 +0000]
Simplify some ::Storage::DBI methods (no tempvars)

No functional changes at all

10 years agoFix $rs->populate with column name array but no row data
Dagfinn Ilmari Mannsåker [Fri, 1 Aug 2014 14:17:21 +0000]
Fix $rs->populate with column name array but no row data

Two regressions for both context types snuck in during the the big populate()
rewrite d0cefd99

- In scalar context the return value incorrectly went from () to []
- In void context an empty $data was handed to ::Storage::_insert_bulk

10 years agoDeprecate insert_bulk - we will be changing its signature down the road
Peter Rabbitson [Tue, 5 Aug 2014 11:13:10 +0000]
Deprecate insert_bulk - we will be changing its signature down the road

Besides there is really no reason for users to call it directly

10 years agoFix both a dubious test and a regression in populate args immutability
Peter Rabbitson [Tue, 5 Aug 2014 10:13:16 +0000]
Fix both a dubious test and a regression in populate args immutability

The rewrite in d0cefd99 optimized populate enough that the same data structure
would now make it all the way to the stringifier in ::Storage. This was not
caught due to a deficient test.

Read diff under -w for maximum sense