X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fsqlmaker%2Flimit_dialects%2Ftorture.t;h=9c998a5012ba04337ceab1daeee5959fe481036c;hb=723f25e0;hp=1a2a6996bb98fe6279a21d2cda4bfc18b453b528;hpb=048c24409260d6c59e99f0d0adf8caafe5a78dd0;p=dbsrgits%2FDBIx-Class.git diff --git a/t/sqlmaker/limit_dialects/torture.t b/t/sqlmaker/limit_dialects/torture.t index 1a2a699..9c998a5 100644 --- a/t/sqlmaker/limit_dialects/torture.t +++ b/t/sqlmaker/limit_dialects/torture.t @@ -39,7 +39,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ORDER BY ? / ?, ? LIMIT ? @@ -65,7 +65,6 @@ my $tests = { ) me LEFT JOIN books books ON books.owner = me.id - ORDER BY books.owner )', [ [ { sqlt_datatype => 'integer' } => 3 ], @@ -82,7 +81,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ORDER BY ? / ?, ? LIMIT ?, ? @@ -107,7 +106,6 @@ my $tests = { ) me LEFT JOIN books books ON books.owner = me.id - ORDER BY books.owner )', [ [ { sqlt_datatype => 'integer' } => 1 ], @@ -124,7 +122,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ORDER BY ? / ?, ? )', @@ -147,7 +145,6 @@ my $tests = { ) me LEFT JOIN books books ON books.owner = me.id - ORDER BY books.owner )', [ [ { sqlt_datatype => 'integer' } => 1 ], @@ -164,7 +161,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ORDER BY ? / ?, ? )', @@ -187,7 +184,6 @@ my $tests = { ) me LEFT JOIN books books ON books.owner = me.id - ORDER BY books.owner )', [ [ { sqlt_datatype => 'integer' } => 3 ], @@ -207,7 +203,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ) me ) me @@ -225,7 +221,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ) me ) me @@ -290,7 +286,6 @@ my $tests = { ) me LEFT JOIN books books ON books.owner = me.id - ORDER BY books.owner )', [ [ { sqlt_datatype => 'integer' } => 2 ], @@ -310,7 +305,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? %s ) me @@ -339,7 +334,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ) me ) me @@ -375,7 +370,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ORDER BY ? / ?, ? ) me @@ -408,7 +403,6 @@ my $tests = { ) me LEFT JOIN books books ON books.owner = me.id - ORDER BY books.owner )', [ [ { sqlt_datatype => 'integer' } => 2 ], @@ -426,7 +420,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? FETCH FIRST 4 ROWS ONLY )', @@ -446,7 +440,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ORDER BY me.id FETCH FIRST 7 ROWS ONLY @@ -468,7 +462,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ORDER BY ? / ?, ? FETCH FIRST 4 ROWS ONLY @@ -492,7 +486,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ORDER BY ? / ?, ? FETCH FIRST 7 ROWS ONLY @@ -527,7 +521,6 @@ my $tests = { ) me LEFT JOIN books books ON books.owner = me.id - ORDER BY books.owner )', [], ], @@ -541,7 +534,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? )', [ @@ -560,7 +553,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ORDER BY me.id ) me @@ -580,7 +573,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ORDER BY ? / ?, ? )', @@ -603,7 +596,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg(me.id / ?) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ORDER BY ? / ?, ? ) me @@ -634,7 +627,6 @@ my $tests = { ) me LEFT JOIN books books ON books.owner = me.id - ORDER BY books.owner )', [], ], @@ -650,7 +642,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg( me.id / ? ) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ) me WHERE ( @@ -677,7 +669,7 @@ my $tests = { JOIN owners owner ON owner.id = me.owner WHERE source != ? AND me.title = ? AND source = ? - GROUP BY avg( me.id / ? ) + GROUP BY AVG(me.id / ?), MAX(owner.id) HAVING ? ) me WHERE ( @@ -713,7 +705,7 @@ my $tests = { ) me LEFT JOIN books books ON books.owner = me.id - ORDER BY me.id, books.owner + ORDER BY me.id )', [ [ { sqlt_datatype => 'integer' } => 1 ], @@ -736,7 +728,7 @@ for my $limtype (sort keys %$tests) { join => 'owner', # single-rel manual prefetch rows => 4, '+columns' => { bar => \['? * ?', [ $attr => 11 ], [ $attr => 12 ]], baz => \[ '?', [ $attr => 13 ]] }, - group_by => \[ 'avg(me.id / ?)', [ $attr => 21 ] ], + group_by => \[ 'AVG(me.id / ?), MAX(owner.id)', [ $attr => 21 ] ], having => \[ '?', [ $attr => 31 ] ], ($limtype =~ /GenericSubQ/ ? ( order_by => 'me.id' ) : () ), # needs a simple-column stable order to be happy });