From: Peter Rabbitson Date: Mon, 1 Mar 2010 00:39:55 +0000 (+0000) Subject: Merge 'trunk' into 'prefetch' X-Git-Tag: v0.08240~34 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=f1693c0d25bc7b9f3efa50199a13c8b42cd7a056;p=dbsrgits%2FDBIx-Class.git Merge 'trunk' into 'prefetch' r8759@Thesaurus (orig r8746): ribasushi | 2010-02-19 00:30:37 +0100 Fix bogus test r8760@Thesaurus (orig r8747): ribasushi | 2010-02-19 00:34:22 +0100 Retire useless abstraction (all rdbms need this anyway) r8761@Thesaurus (orig r8748): ribasushi | 2010-02-19 00:35:01 +0100 Fix count of group_by over aliased function r8765@Thesaurus (orig r8752): ribasushi | 2010-02-19 10:11:20 +0100 r8497@Thesaurus (orig r8484): ribasushi | 2010-01-31 10:06:29 +0100 Branch to unify mandatory PK handling r8498@Thesaurus (orig r8485): ribasushi | 2010-01-31 10:20:36 +0100 This is not really used for anything (same code in DBI) r8499@Thesaurus (orig r8486): ribasushi | 2010-01-31 10:25:55 +0100 Helper primary_columns wrapper to throw if a PK is not defined r8500@Thesaurus (orig r8487): ribasushi | 2010-01-31 11:07:25 +0100 Stupid errors r8501@Thesaurus (orig r8488): ribasushi | 2010-01-31 12:18:57 +0100 Saner handling of nonexistent/partial conditions r8762@Thesaurus (orig r8749): ribasushi | 2010-02-19 10:07:40 +0100 trap unresolvable conditions due to incomplete relationship specification r8764@Thesaurus (orig r8751): ribasushi | 2010-02-19 10:11:09 +0100 Changes r8767@Thesaurus (orig r8754): ribasushi | 2010-02-19 11:14:30 +0100 Fix for RT54697 r8769@Thesaurus (orig r8756): caelum | 2010-02-19 12:21:53 +0100 bump Test::Pod dep r8770@Thesaurus (orig r8757): caelum | 2010-02-19 12:23:07 +0100 bump Test::Pod dep in Optional::Dependencies too r8773@Thesaurus (orig r8760): rabbit | 2010-02-19 16:41:24 +0100 Fix stupid sqlt parser regression r8774@Thesaurus (orig r8761): rabbit | 2010-02-19 16:42:40 +0100 Port remaining tests to the Opt::Dep reposiory r8775@Thesaurus (orig r8762): rabbit | 2010-02-19 16:43:36 +0100 Some test cleanups r8780@Thesaurus (orig r8767): rabbit | 2010-02-20 20:59:20 +0100 Test::Deep actually isn't required r8786@Thesaurus (orig r8773): rabbit | 2010-02-20 22:21:41 +0100 These are core for perl 5.8 r8787@Thesaurus (orig r8774): rabbit | 2010-02-21 10:52:40 +0100 Shuffle tests a bit r8788@Thesaurus (orig r8775): rabbit | 2010-02-21 12:09:25 +0100 Bogus require r8789@Thesaurus (orig r8776): rabbit | 2010-02-21 12:09:48 +0100 Bogus unnecessary dep r8800@Thesaurus (orig r8787): rabbit | 2010-02-21 13:39:21 +0100 r8748@Thesaurus (orig r8735): goraxe | 2010-02-17 23:17:15 +0100 branch for dbicadmin pod fixes r8778@Thesaurus (orig r8765): goraxe | 2010-02-20 20:35:00 +0100 add G:L:D sub classes to generate pod r8779@Thesaurus (orig r8766): goraxe | 2010-02-20 20:56:16 +0100 dbicadmin: use subclassed G:L:D to generate some pod r8782@Thesaurus (orig r8769): goraxe | 2010-02-20 21:48:29 +0100 adjust Makefile.pl to generate dbicadmin.pod r8783@Thesaurus (orig r8770): goraxe | 2010-02-20 21:50:55 +0100 add svn-ignore for dbicadmin.pod r8784@Thesaurus (orig r8771): goraxe | 2010-02-20 22:01:41 +0100 change Options to Arguments r8785@Thesaurus (orig r8772): goraxe | 2010-02-20 22:10:29 +0100 add DBIx::Class::Admin::{Descriptive,Usage} to podcover ignore list r8790@Thesaurus (orig r8777): rabbit | 2010-02-21 12:35:38 +0100 Cleanup the makefile regen a bit r8792@Thesaurus (orig r8779): rabbit | 2010-02-21 12:53:01 +0100 Bah humbug r8793@Thesaurus (orig r8780): rabbit | 2010-02-21 12:55:18 +0100 And another one r8797@Thesaurus (orig r8784): rabbit | 2010-02-21 13:32:03 +0100 The minimal pod seems to confuse the manpage generator, commenting out for now r8798@Thesaurus (orig r8785): rabbit | 2010-02-21 13:38:03 +0100 Add license/author to dbicadmin autogen POD r8799@Thesaurus (orig r8786): rabbit | 2010-02-21 13:38:58 +0100 Reorder makefile author actions to make output more readable r8803@Thesaurus (orig r8790): ribasushi | 2010-02-21 14:24:15 +0100 Fix exception text r8804@Thesaurus (orig r8791): ribasushi | 2010-02-21 15:14:58 +0100 Extra testdep r8808@Thesaurus (orig r8795): caelum | 2010-02-22 20:16:07 +0100 with_deferred_fk_checks for Oracle r8809@Thesaurus (orig r8796): rabbit | 2010-02-22 21:26:20 +0100 Add a hidden option to dbicadmin to self-inject autogenerated POD r8810@Thesaurus (orig r8797): caelum | 2010-02-22 21:48:43 +0100 improve with_deferred_fk_checks for Oracle, add tests r8812@Thesaurus (orig r8799): rbuels | 2010-02-22 23:09:40 +0100 added package name to DBD::Pg warning in Pg storage driver to make it explicit where the warning is coming from r8815@Thesaurus (orig r8802): rabbit | 2010-02-23 11:21:10 +0100 Looks like the distdir wrapping is finally taken care of r8818@Thesaurus (orig r8805): rabbit | 2010-02-23 14:05:14 +0100 remove POD r8819@Thesaurus (orig r8806): rabbit | 2010-02-23 14:05:32 +0100 More index exclusions r8821@Thesaurus (orig r8808): goraxe | 2010-02-23 15:00:38 +0100 remove short options from dbicadmin r8822@Thesaurus (orig r8809): rabbit | 2010-02-23 15:15:00 +0100 Whitespace r8826@Thesaurus (orig r8813): rabbit | 2010-02-24 09:28:43 +0100 r8585@Thesaurus (orig r8572): faxm0dem | 2010-02-06 23:01:04 +0100 sqlt::producer::oracle is now able to handle quotes correctly. Now we need to take advantage of that as currently the oracle producer capitalises everything r8586@Thesaurus (orig r8573): faxm0dem | 2010-02-06 23:03:31 +0100 the way I thought. ribasushi suggested to override deploy(ment_statements) r8607@Thesaurus (orig r8594): faxm0dem | 2010-02-09 21:53:48 +0100 should work now r8714@Thesaurus (orig r8701): faxm0dem | 2010-02-14 09:49:44 +0100 oracle_version r8747@Thesaurus (orig r8734): faxm0dem | 2010-02-17 18:54:45 +0100 still need to uc source_name if quotes off r8817@Thesaurus (orig r8804): rabbit | 2010-02-23 12:03:23 +0100 Cleanup code (hopefully no functional changes) r8820@Thesaurus (orig r8807): rabbit | 2010-02-23 14:14:19 +0100 Proper error message r8823@Thesaurus (orig r8810): faxm0dem | 2010-02-23 15:46:11 +0100 Schema Object Naming Rules : [...] However, database names, global database names, and database link names are always case insensitive and are stored as uppercase. # source: http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements008.htm r8824@Thesaurus (orig r8811): rabbit | 2010-02-23 16:09:36 +0100 Changes and dep-bump r8828@Thesaurus (orig r8815): rabbit | 2010-02-24 09:32:53 +0100 Changelogging r8829@Thesaurus (orig r8816): rabbit | 2010-02-24 09:37:14 +0100 Protect dbicadmin from self-injection when not in make r8830@Thesaurus (orig r8817): rabbit | 2010-02-24 10:00:43 +0100 Release 0.08120 r8832@Thesaurus (orig r8819): rabbit | 2010-02-24 10:02:36 +0100 Bump trunk version r8833@Thesaurus (orig r8820): goraxe | 2010-02-24 14:21:23 +0100 do not include hidden opts in generated pod r8834@Thesaurus (orig r8821): rabbit | 2010-02-24 15:50:34 +0100 small tool to query cpan deps r8835@Thesaurus (orig r8822): rabbit | 2010-02-26 00:22:51 +0100 Typo r8849@Thesaurus (orig r8836): rabbit | 2010-03-01 01:32:03 +0100 Cleanup logic in RSC r8850@Thesaurus (orig r8837): rabbit | 2010-03-01 01:36:24 +0100 Fix incorrect placement of condition resolution failure trap r8851@Thesaurus (orig r8838): rabbit | 2010-03-01 01:37:53 +0100 Changes --- f1693c0d25bc7b9f3efa50199a13c8b42cd7a056 diff --cc lib/DBIx/Class/ResultSet.pm index 0cc7cd1,7937ded..02cba11 --- a/lib/DBIx/Class/ResultSet.pm +++ b/lib/DBIx/Class/ResultSet.pm @@@ -1236,11 -1261,11 +1237,11 @@@ sub _count_subq_rs # if we multi-prefetch we group_by primary keys only as this is what we would # get out of the rs via ->next/->all. We *DO WANT* to clobber old group_by regardless - if ($attrs->{collapse}) { - $sub_attrs->{group_by} = [ map { "$attrs->{alias}.$_" } ($rsrc->primary_columns) ] - if ( keys %{$attrs->{collapse}} ) { ++ if ( $attrs->{collapse} ) { + $sub_attrs->{group_by} = [ map { "$attrs->{alias}.$_" } ($rsrc->_pri_cols) ] } - $sub_attrs->{select} = $rsrc->storage->_subq_count_select ($rsrc, $sub_attrs); + $sub_attrs->{select} = $rsrc->storage->_subq_count_select ($rsrc, $attrs); # this is so that the query can be simplified e.g. # * ordering can be thrown away in things like Top limit diff --cc lib/DBIx/Class/ResultSetColumn.pm index 78ac9ba,4017466..ae704f9 --- a/lib/DBIx/Class/ResultSetColumn.pm +++ b/lib/DBIx/Class/ResultSetColumn.pm @@@ -91,7 -86,7 +86,7 @@@ sub new # {collapse} would mean a has_many join was injected, which in turn means # we need to group *IF WE CAN* (only if the column in question is unique) - if (!$new_attrs->{group_by} && $orig_attrs->{collapse}) { - if (!$orig_attrs->{group_by} && keys %{$orig_attrs->{collapse}}) { ++ if (!$orig_attrs->{group_by} && $orig_attrs->{collapse}) { # scan for a constraint that would contain our column only - that'd be proof # enough it is unique