11 years agoAllow spaces in parallel installation module spec
Peter Rabbitson [Sat, 20 Jul 2013 21:57:40 +0000]
Allow spaces in parallel installation module spec

11 years agoTurns out Travis CPAN mirror is not local, add a fallback
Peter Rabbitson [Sat, 13 Jul 2013 02:25:29 +0000]
Turns out Travis CPAN mirror is not local, add a fallback

See https://github.com/travis-ci/travis-cookbooks/commit/143a57d2ecee#diff-1

Sideffect of an empty PERL_CPANM_OPT was tickling this bug:
https://github.com/miyagawa/cpanminus/issues/288

11 years agoSelf-cleaning is not yet entirely stable - back it out for the time being
Peter Rabbitson [Sat, 13 Jul 2013 01:50:52 +0000]
Self-cleaning is not yet entirely stable - back it out for the time being

As a side-effect resolves RT#86267

11 years agoTests no longer fail if $ENV{DBI_DSN} is set
Peter Rabbitson [Thu, 4 Jul 2013 17:17:29 +0000]
Tests no longer fail if $ENV{DBI_DSN} is set

e.g. http://www.cpantesters.org/cpan/report/ef15dfbc-b80d-11e2-a6f8-e33723969de0

11 years agoPropagate quote_names setting to SQLite SQLT producer
Peter Rabbitson [Thu, 4 Jul 2013 15:15:16 +0000]
Propagate quote_names setting to SQLite SQLT producer

11 years agoFix POD typo Retur -> Return
Dagfinn Ilmari Mannsåker [Mon, 15 Jul 2013 14:10:34 +0000]
Fix POD typo Retur -> Return

11 years agoFix glossary link
Dagfinn Ilmari Mannsåker [Mon, 15 Jul 2013 14:09:58 +0000]
Fix glossary link

11 years agopoint out where in the docs a user is most likely to spend reading time
Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 [Sun, 24 Mar 2013 12:07:24 +0000]
point out where in the docs a user is most likely to spend reading time

11 years agoquick-start documentation
Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 [Sun, 24 Mar 2013 11:38:23 +0000]
quick-start documentation

* ready-to-use database file and schema classes
* introduce CD year column (already used in ::ResultSet docs)
* link from main synopsis

11 years agoDon't try to run pperl --kill if we didn't find PPerl
Dagfinn Ilmari Mannsåker [Fri, 21 Jun 2013 14:58:18 +0000]
Don't try to run pperl --kill if we didn't find PPerl

There might be an unrelated pperl binary in the user's path, so avoid
running it unless we actually have PPerl.pm installed

11 years agoAdd header for custom coderef join conditions
D. Ilmari Mannsåker [Mon, 3 Jun 2013 14:27:46 +0000]
Add header for custom coderef join conditions

The conditon docs are huge, making it hard to point people to the
coderef syntax when they need it, so add a header that can be linked
directly to.

11 years agoReplace $row with $result in all docs
Alexander Hartmaier [Wed, 8 May 2013 16:09:35 +0000]
Replace $row with $result in all docs

to be consistent and to clarify various return values
for example:
    $result->update() returns $result
before the example was
    $row->update() returns $result
which doesn't make clear that it's the same object the method was called on

11 years agofixed xt/pod.t failure in Row.pm
Alexander Hartmaier [Wed, 8 May 2013 15:39:12 +0000]
fixed xt/pod.t failure in Row.pm

11 years agoRelease v0.08250
Peter Rabbitson [Mon, 29 Apr 2013 22:00:01 +0000]
Release v0.08250

11 years agoThis stuff is done (either now or earlier)
Peter Rabbitson [Mon, 29 Apr 2013 21:49:30 +0000]
This stuff is done (either now or earlier)

11 years agoKill intra-devrel changelog entry
Peter Rabbitson [Fri, 26 Apr 2013 16:10:06 +0000]
Kill intra-devrel changelog entry

The log is large enough as it is, hence keeping only things that
are relevant when upgrading from 0.08210 to current

11 years agodevrel 0.08249_05
Matt Phillips [Fri, 26 Apr 2013 13:59:52 +0000]
devrel 0.08249_05

11 years agoDo not invoke the pk accessor in filter deflate
Peter Rabbitson [Fri, 26 Apr 2013 11:57:38 +0000]
Do not invoke the pk accessor in filter deflate

11 years agoStop adding empty caches to resultsets chained off prefetched objects
Matt Phillips [Thu, 25 Apr 2013 17:56:36 +0000]
Stop adding empty caches to resultsets chained off prefetched objects

Prior to ce55688, the related_rs cache loading mechanism only conditionally
loaded if the base rs cache was defined. After this was removed an empty
arrayref (meaning "no related results") could potentially be set as the cache.
This commit ensures the cache is only set when there are actual cache results.

11 years agofix syntax error in pod documentation for find_or_new
Jordan Metzmeier [Wed, 24 Apr 2013 14:58:39 +0000]
fix syntax error in pod documentation for find_or_new

11 years agoDevrel 0.08249_04
Peter Rabbitson [Wed, 24 Apr 2013 05:19:33 +0000]
Devrel 0.08249_04

11 years agoUnbreak devrel version checks
Peter Rabbitson [Wed, 24 Apr 2013 03:31:55 +0000]
Unbreak devrel version checks

One needs to supply the literal (string) value of a devrel to VERSION()
otherwise the checks fail. However in this case 5.8 emits annoying warnings.
Abstract the whole insanity in a neatish util function and use that.

11 years agoStop instantiating a cursor on single() use
Peter Rabbitson [Wed, 24 Apr 2013 03:23:43 +0000]
Stop instantiating a cursor on single() use

This minor pessimization snuck in all the way back in 4e9fc3f3.
I am actually not entirely sure whether this isn't a bug - after
all this way Cursor::Cached and friends are bypassed. However
0.08210 has an identical behavior, thus sod it

11 years agoFix very subtle but deadly bug in single()
Peter Rabbitson [Wed, 24 Apr 2013 02:47:32 +0000]
Fix very subtle but deadly bug in single()

The _select_args result storage introduced in 975b573a did not take
into account that single() operates on the $rs itself, not a fresh
one. As such the first single() arg would be carried around and then
applied to subsequent next() etc iterations. Stop that, as we only
need the attrs in case of collapse => 1 and single() explicitly does
not support this.

While at it do not reuse the cached args at all - while it *appears*
safe, it may very well not be. Leave this for another day

11 years agoRequire bugfixed (and a tad faster) CAG
Peter Rabbitson [Wed, 24 Apr 2013 03:32:42 +0000]
Require bugfixed (and a tad faster) CAG

11 years agoBump minimum Test::Pod Dependency
Peter Rabbitson [Wed, 24 Apr 2013 01:45:19 +0000]
Bump minimum Test::Pod Dependency

In 47589465 we started feeding dirs to all_pod_files_ok - only Test::Pod 1.42
understands that

11 years ago... and devrel 0.08249_03
Peter Rabbitson [Mon, 22 Apr 2013 11:53:10 +0000]
... and devrel 0.08249_03

11 years agoDevrel 0.08249_02
Peter Rabbitson [Sun, 21 Apr 2013 07:42:38 +0000]
Devrel 0.08249_02

11 years agoMake some travis confs smoke latest -dev offerings from CPAN
Peter Rabbitson [Sun, 21 Apr 2013 06:57:37 +0000]
Make some travis confs smoke latest -dev offerings from CPAN

Based on the Test::Builder dev-testing introduced in 992a24f6

11 years agoIt seems the upcoming DBD::SQLite fixes the txn sync issues
Peter Rabbitson [Mon, 22 Apr 2013 07:57:59 +0000]
It seems the upcoming DBD::SQLite fixes the txn sync issues

Short circuit the travesty introduced in 2aeb3c7f

11 years agoFix test failures with DBD::SQLite 1.38_02
Peter Rabbitson [Sun, 21 Apr 2013 07:23:30 +0000]
Fix test failures with DBD::SQLite 1.38_02

This is what fb88ca2c was supposed to fix in the first place >.<

11 years agoSilence pesky Devel::Cycle warning in leak test on 5.12+
Peter Rabbitson [Sun, 21 Apr 2013 07:08:07 +0000]
Silence pesky Devel::Cycle warning in leak test on 5.12+

11 years agoAnd of course the test pragma is not supported everywhere
Peter Rabbitson [Sun, 21 Apr 2013 15:31:39 +0000]
And of course the test pragma is not supported everywhere

Similar issue but no solution: http://osdir.com/ml/sqlite-users/2010-01/msg00220.html
Experimentally determined cutoff at 3.7.9

11 years agoDevrel 0.08249_01
Peter Rabbitson [Sat, 20 Apr 2013 23:23:55 +0000]
Devrel 0.08249_01

11 years agoFix tests failing due to unspecified resultset retrieval order
Peter Rabbitson [Sat, 20 Apr 2013 22:09:54 +0000]
Fix tests failing due to unspecified resultset retrieval order

An upcoming version of DBD::SQLite bundles an SQLite library
with different behavior wrt retrieval of unordered indexed columns.

Fix all tests that could be affected now or in the future, and
add travis smoking to detect the condition early

11 years agodeployment_statements() and cursor_class() are storage-dependent
Peter Rabbitson [Tue, 9 Apr 2013 13:26:52 +0000]
deployment_statements() and cursor_class() are storage-dependent

We need some sort of generic test for this, so we stop dropping stuff
on the floor. The logic is something like "if a public method is overriden
in a DBI:: subclass - we need to mark it for resolution". E.g.

rabbit@Thesaurus:~/devel/dbic/dbgit$ grep deployment_statements -r lib/DBIx/Class/Storage/DBI/
lib/DBIx/Class/Storage/DBI/Pg.pm:sub deployment_statements {
lib/DBIx/Class/Storage/DBI/Replicated.pm:    deployment_statements
lib/DBIx/Class/Storage/DBI/mysql.pm:sub deployment_statements {
lib/DBIx/Class/Storage/DBI/SQLite.pm:sub deployment_statements {
lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm:sub deployment_statements {

11 years agoCleanup logic of _determine_driver - do not fire unless we have conninfo
Peter Rabbitson [Wed, 10 Apr 2013 03:01:24 +0000]
Cleanup logic of _determine_driver - do not fire unless we have conninfo

Also switch some connection init warnings  s/carp/carp_unique/

11 years agoMore robust tests of dependency lazy-loading and delay of more req loads
Peter Rabbitson [Mon, 8 Apr 2013 08:11:46 +0000]
More robust tests of dependency lazy-loading and delay of more req loads

Inspired by the lazy-loading chase in 723f25e0

Skip the test entirely on 5.8 - it is becoming too difficult to predict
extra dependency load order

11 years agoEscape more frames when determining carp/throw_exception originator
Peter Rabbitson [Mon, 8 Apr 2013 09:21:27 +0000]
Escape more frames when determining carp/throw_exception originator

Augments 5e0e5426b

11 years agoTweak timing of t/zzzzzzz_perl_perf_bug.t - we started getting false positives
Peter Rabbitson [Tue, 9 Apr 2013 07:45:25 +0000]
Tweak timing of t/zzzzzzz_perl_perf_bug.t - we started getting false positives

http://www.cpantesters.org/cpan/report/356dd340-9de0-11e2-9265-e31b922ed931
http://www.cpantesters.org/cpan/report/2e2063f1-6bf4-1014-817e-b9974151da38

Not considering dropping the test because... well it is a good test ;)

11 years agoTest live mssql server generated SQL
Peter Rabbitson [Mon, 1 Apr 2013 06:25:46 +0000]
Test live mssql server generated SQL

11 years agoClarify how to use SQL functions as part of a larger search
Alexander Hartmaier [Tue, 16 Apr 2013 18:02:39 +0000]
Clarify how to use SQL functions as part of a larger search

11 years agoRemoved usage of plain_value bind value workaround in the cookbook
Alexander Hartmaier [Tue, 2 Apr 2013 14:54:23 +0000]
Removed usage of plain_value bind value workaround in the cookbook

11 years agoSupport for $val === [ {}, $val ] in literal SQL + bind specs
Brendan Byrd [Mon, 10 Dec 2012 17:41:23 +0000]
Support for $val === [ {}, $val ] in literal SQL + bind specs

This wraps up the changes started in 0e773352. Now DBIC bind values can
be specified just like the ones for SQL::Abstract as long as no bind
metadata (e.g. datatypes) is needed

Also added an explicit check to catch when a non-scalar non-stringifiable
value is passed without a bind type metadata

11 years agoMerge branch 'topic/constructor_rewrite' into master
Peter Rabbitson [Fri, 19 Apr 2013 14:49:09 +0000]
Merge branch 'topic/constructor_rewrite' into master

Consolidate changelog from the 0.0824x-TRIAL cycle

11 years agoAdd (slowish) sanity check to detect incorrect non-nullable metadata
Peter Rabbitson [Fri, 19 Apr 2013 14:22:46 +0000]
Add (slowish) sanity check to detect incorrect non-nullable metadata

We can't get away with this - the alternative is a cryptic 'Use of uninitialized value'
exception - good luck debugging that

11 years agoExplicitly disallow redirection of has_many columns to main object
Peter Rabbitson [Fri, 19 Apr 2013 12:32:06 +0000]
Explicitly disallow redirection of has_many columns to main object

This can never work in practice, but it is too obscure to have a user catch it

11 years agoStore the final calculated select args in the original $rs
Peter Rabbitson [Fri, 19 Apr 2013 08:21:14 +0000]
Store the final calculated select args in the original $rs

This is extremely ugly and ineffective, but we need it for some sanity checks
so that 0.08250 can ship. The whole thing needs to be reworked with a new
rsattrs instance, but that's another battle

11 years agoMisc cleanup, no functional changes
Peter Rabbitson [Fri, 19 Apr 2013 09:21:36 +0000]
Misc cleanup, no functional changes

11 years agoCut down amount of calls to _resolve_aliastypes_from_select_args
Peter Rabbitson [Thu, 18 Apr 2013 15:14:21 +0000]
Cut down amount of calls to _resolve_aliastypes_from_select_args

11 years agoMake 'filter' rels work half-way sanely with partial prefetch
Peter Rabbitson [Wed, 17 Apr 2013 13:21:08 +0000]
Make 'filter' rels work half-way sanely with partial prefetch

11 years agoAnother blast from the past - fix distinct/order behavior borked by d59eba65f
Peter Rabbitson [Wed, 27 Mar 2013 11:42:15 +0000]
Another blast from the past - fix distinct/order behavior borked by d59eba65f

While the SQL we test for is valid syntax - the result it produces makes
zero sense for these resultset arguments. Reshuffle the distinct construction
and reuse the codepah for order_by rewrites.

This is a heavy change, but it is *extremely unlikely* anyone was relying on
the previous behavior - any aggregate value would have been wrong...

11 years agoFix "current rs is always first in from" brainfart introduced in 893403c81
Peter Rabbitson [Tue, 26 Mar 2013 07:56:40 +0000]
Fix "current rs is always first in from" brainfart introduced in 893403c81

Dear self from 4 years ago - what were you thinking? In any
case I can't recognize why this is needed so cleansing it with fire

11 years agoVariation of dq's d35a4e048 - sanify multiplying join prune
Matt S Trout [Fri, 20 Apr 2012 03:20:25 +0000]
Variation of dq's d35a4e048 - sanify multiplying join prune

Use a private more descriptive attr name

11 years agoFactor out ORDER BY direction detection/stripping
Dagfinn Ilmari Mannsåker [Sun, 24 Mar 2013 16:23:37 +0000]
Factor out ORDER BY direction detection/stripping

The slightly unobvious regex is so that it's easier to add support for
more clauses (e.g. NULLS FIRST/LAST) later.

11 years agoOverhaul GenericSubq limit - add support for multicol order
Peter Rabbitson [Sat, 23 Mar 2013 11:02:44 +0000]
Overhaul GenericSubq limit - add support for multicol order

A lot of other cleanup as well - this should be the end of it ;)

11 years agoStart running more limit dialect torture tests if possible
Peter Rabbitson [Sun, 24 Mar 2013 13:37:47 +0000]
Start running more limit dialect torture tests if possible

11 years agoRecognize root source unqualified columns under limited prefetch
Peter Rabbitson [Sat, 23 Mar 2013 11:35:12 +0000]
Recognize root source unqualified columns under limited prefetch

11 years agoConsider where condition when determining leftmost order stability
Peter Rabbitson [Thu, 21 Mar 2013 11:37:43 +0000]
Consider where condition when determining leftmost order stability

Extract more eyebleed into DBIHacks in the process

11 years agoUse the defined-or operator in generated code on newer perls
Peter Rabbitson [Wed, 20 Mar 2013 16:25:26 +0000]
Use the defined-or operator in generated code on newer perls

Even *less* expensive op ;)

11 years agospace-compress tests making them readable - no changes
Peter Rabbitson [Wed, 20 Mar 2013 06:52:05 +0000]
space-compress tests making them readable - no changes

11 years agoAnother parser microoptimisation - lose nullability checks where possible
Peter Rabbitson [Mon, 18 Mar 2013 06:33:23 +0000]
Another parser microoptimisation - lose nullability checks where possible

11 years agoStop needlesly invoking the $rs bool overload
Peter Rabbitson [Mon, 18 Mar 2013 06:27:51 +0000]
Stop needlesly invoking the $rs bool overload

11 years agoReorder prefetch logic for optimal execution (no functional changes)
Peter Rabbitson [Sat, 16 Mar 2013 10:22:12 +0000]
Reorder prefetch logic for optimal execution (no functional changes)

Avoid yet another expensive try call

11 years agoNormalize varnames (zero functional changes)
Peter Rabbitson [Sun, 10 Mar 2013 18:51:21 +0000]
Normalize varnames (zero functional changes)

11 years agoFix test description (DrHyde++)
Peter Rabbitson [Mon, 11 Mar 2013 14:36:29 +0000]
Fix test description (DrHyde++)

11 years agoMerge branch 'master' into topic/constructor_rewrite
Peter Rabbitson [Wed, 17 Apr 2013 07:34:50 +0000]
Merge branch 'master' into topic/constructor_rewrite

Add some extra code to enforce the assumption that any bind type constant
is accessible in _dbi_attrs_for_bind, or in other words that all necessary
DBDs are already loaded (concept originally introduced in ad7c50fc)

Without this the combination of 9930caaf7e (do not recalculate bind attrs
on dbh_do retry) and a2f228547 (do not wrap iterators in dbh_do) can result
in _dbi_attrs_for_bind being called before DBI/DBD::* has been loaded at all

11 years agoRemove idiotic RowCountOrGenericSubQ - it will never work as part of as_query
Peter Rabbitson [Thu, 21 Mar 2013 08:07:32 +0000]
Remove idiotic RowCountOrGenericSubQ - it will never work as part of as_query

I am not sure how I overlooked this, blame is on me :(

Replacing with a ROWCOUNT fallback at the appropriate place

11 years agoChanges pod references to deprecated SQLT methods
Matt Phillips [Mon, 15 Apr 2013 15:55:30 +0000]
Changes pod references to deprecated SQLT methods

quote_table_names/quote_field_names is deprecated, refer to quote_identifiers
instead.

11 years agoAdd a TODO to catch when Text::Balanced RT#74994 is finally fixed
Peter Rabbitson [Thu, 11 Apr 2013 05:57:56 +0000]
Add a TODO to catch when Text::Balanced RT#74994 is finally fixed

11 years agoIn example code, placing a necessary semicolon after a try/catch code-block, and...
Jason McIntosh [Wed, 10 Apr 2013 20:23:25 +0000]
In example code, placing a necessary semicolon after a try/catch code-block, and correcting a nearby variable name.

11 years agoFix oversight in subqueried MySQL update/delete
Peter Rabbitson [Tue, 9 Apr 2013 13:15:12 +0000]
Fix oversight in subqueried MySQL update/delete

11 years agoRelease v0.08210
Peter Rabbitson [Thu, 4 Apr 2013 07:22:25 +0000]
Release v0.08210

11 years agoTrap and display STDERR during travis test runs
Peter Rabbitson [Thu, 4 Apr 2013 03:20:43 +0000]
Trap and display STDERR during travis test runs

11 years agoMore shuffling of travis testdeps
Peter Rabbitson [Thu, 4 Apr 2013 03:50:17 +0000]
More shuffling of travis testdeps

11 years agoMake sure external DBIC envvars do not cause tests to fail
Peter Rabbitson [Wed, 3 Apr 2013 13:59:16 +0000]
Make sure external DBIC envvars do not cause tests to fail

Run the appropriate tests on travis to detect future problems

11 years agoFix incorrect warning/exception originator
Peter Rabbitson [Thu, 24 Nov 2011 09:01:59 +0000]
Fix incorrect warning/exception originator

Until now we would report the second to last function as the
exception originator, whereas we need to report the first after
skipping the usual suspects of throw_exception etc

11 years agoDo not repeatedly trace test schema populate under TravisCI
Peter Rabbitson [Thu, 4 Apr 2013 02:23:23 +0000]
Do not repeatedly trace test schema populate under TravisCI

11 years agoExtra TODO tests for a txn_guard silencing problem
Peter Rabbitson [Thu, 4 Apr 2013 02:20:39 +0000]
Extra TODO tests for a txn_guard silencing problem

11 years agoWork around SQLite's RT#79576
Peter Rabbitson [Mon, 1 Apr 2013 10:07:51 +0000]
Work around SQLite's RT#79576

Includes a warning that data may have been corrupted in previous
DBIC versions, with resources on how to deal with this.

11 years agoSaner check for non-integer values bound as integers in SQLite
Peter Rabbitson [Mon, 1 Apr 2013 09:05:05 +0000]
Saner check for non-integer values bound as integers in SQLite

11 years agoSimplify _select_args_to_query - contortions not needed since 0e773352
Peter Rabbitson [Mon, 1 Apr 2013 06:16:09 +0000]
Simplify _select_args_to_query - contortions not needed since 0e773352

11 years agoRefactor sth preparation/binding - no functional changes
Peter Rabbitson [Sun, 31 Mar 2013 13:06:59 +0000]
Refactor sth preparation/binding - no functional changes

Notable internal changes:

- _dbi_attrs_for_bind call is moved out of _dbh_execute - there is no point
  recalculating these on retry
- _dbh_execute changed signature: $ident => $bind_attrs
- sth, _sth and _dbh_sth are no more - instead we now have _prepare_sth and
  _bind_sth_params

The test in t/storage/base.t has not been actually working for years (it
did not register a spurious success with $count == 0). Removing it is safe
as t/storage/reconnect.t tests the same codepath more thoroughly

11 years agoDESCRIPTION typo fix
David Steinbrunner [Fri, 29 Mar 2013 14:52:01 +0000]
DESCRIPTION typo fix

11 years agoFix test warnings left in by 11343b34
Peter Rabbitson [Mon, 25 Mar 2013 10:21:20 +0000]
Fix test warnings left in by 11343b34

11 years agoimprove outline by introducing synopsis subheadings
Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 [Sun, 24 Mar 2013 11:24:57 +0000]
improve outline by introducing synopsis subheadings

11 years agoimprove mark-up
Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 [Sun, 24 Mar 2013 11:23:24 +0000]
improve mark-up

11 years agodevelopment info is less important than user info
Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 [Sun, 24 Mar 2013 11:05:11 +0000]
development info is less important than user info

11 years agoAdd daxim to contribs, specify main doc encoding
Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 [Sun, 24 Mar 2013 11:31:58 +0000]
Add daxim to contribs, specify main doc encoding

11 years ago9 years of perl and I somehow did not know that...
Peter Rabbitson [Sun, 24 Mar 2013 07:28:53 +0000]
9 years of perl and I somehow did not know that...

11 years agoFix copypasta - strictures test needs no global lock
Peter Rabbitson [Sat, 23 Mar 2013 12:42:44 +0000]
Fix copypasta - strictures test needs no global lock

11 years agoOnly display output of failed workers in parallel_installdeps_notest
Peter Rabbitson [Thu, 21 Mar 2013 08:23:41 +0000]
Only display output of failed workers in parallel_installdeps_notest

11 years agoFile::Path needs to be upgraded separately on smoking
Peter Rabbitson [Wed, 20 Mar 2013 11:09:51 +0000]
File::Path needs to be upgraded separately on smoking

11 years agoAdd deprecation warnings for cols/include_columns
Darius Jokilehto [Tue, 19 Mar 2013 12:18:09 +0000]
Add deprecation warnings for cols/include_columns

* Also update docs and include test

11 years agoFix test failing with some tracing envvars (and smoke on travis too)
Peter Rabbitson [Tue, 19 Mar 2013 08:02:05 +0000]
Fix test failing with some tracing envvars (and smoke on travis too)

11 years agoEXPERIMENTAL Release v0.08242
Peter Rabbitson [Sun, 10 Mar 2013 14:45:57 +0000]
EXPERIMENTAL Release v0.08242

11 years agoProperly wrap a subquery around grouped resultsets in case of $rscol->func($func)
Peter Rabbitson [Sat, 23 Feb 2013 15:44:13 +0000]
Properly wrap a subquery around grouped resultsets in case of $rscol->func($func)

11 years agoRadically rethink complex prefetch - make most useful cases just work (tm)
Peter Rabbitson [Thu, 28 Feb 2013 08:31:13 +0000]
Radically rethink complex prefetch - make most useful cases just work (tm)

TL;DR: mst - I AM SORRY!!! I will rebase the dq branch for you when this
pile of eyebleed goes stable.

The long version - since we now allow arbitrary prefetch, the old
_prefetch_selector_range mechanism doesn't cut it anymore. Instead we
recognize prefetch solely based on _related_results_construction.
Furthermore group_by/limits do not play well with right-side order_by
(which we now also support, by transforming foreign order criteria into
aggregates).

Thus a much more powerful introspection is needed to decide what goes on
the inside and outside of the prefetch subquery. This is mostly done now
by the augmented _resolve_aliastypes_from_select_args to track
identifiers it saw (97e130fa48), and by extra logic considering what
exactly are we grouping by.

Everything is done while observing the "group over selection +
aggregates only" rule, which sould allow us to remain RDBMS agnostic
(even for pathological cases of "MySQL-ish aggregates").

As a bonus more cases of "the user knows what they are doing" are now
correctly recognized and left alone. See a t/prefetch/with_limit.t diff
for a general idea of the scope of improvements.

Yes - there is more regexing crap in the codebase now, and it is
possible we will call _resolve_aliastypes_from_select_args up to 4(!!!)
times per statement preparation. However this allows us to establish a
set of test cases towards which to write optimizations/flog the dq
framework.

11 years agoThere is no point of ordering the insides of a complex prefetch without a limit
Peter Rabbitson [Sat, 9 Mar 2013 18:41:41 +0000]
There is no point of ordering the insides of a complex prefetch without a limit

11 years agoConsider unselected order_by during complex subqueried prefetch
Peter Rabbitson [Sat, 9 Mar 2013 10:57:39 +0000]
Consider unselected order_by during complex subqueried prefetch

Augment _resolve_aliastypes_from_select_args to collect the column names
it sees, allowing it to replace _extract_condition_columns() entirely.

In the process fix a number of *incorrect* limit_dialect tests