Blame t/rt_25460_numeric_aggregate.t
|
Packit |
723767 |
#!/usr/bin/perl
|
|
Packit |
723767 |
|
|
Packit |
723767 |
use strict;
|
|
Packit |
723767 |
BEGIN {
|
|
Packit |
723767 |
$| = 1;
|
|
Packit |
723767 |
$^W = 1;
|
|
Packit |
723767 |
}
|
|
Packit |
723767 |
|
|
Packit |
723767 |
use lib "t/lib";
|
|
Packit |
723767 |
use SQLiteTest;
|
|
Packit |
723767 |
use Test::More tests => 14;
|
|
Packit |
723767 |
use Test::NoWarnings;
|
|
Packit |
723767 |
|
|
Packit |
723767 |
# Create the table
|
|
Packit |
723767 |
my $dbh = connect_ok();
|
|
Packit |
723767 |
ok( $dbh->do(<<'END_SQL'), 'CREATE TABLE' );
|
|
Packit |
723767 |
create table foo (
|
|
Packit |
723767 |
id integer primary key not null,
|
|
Packit |
723767 |
mygroup varchar(255) not null,
|
|
Packit |
723767 |
mynumber numeric(20,3) not null
|
|
Packit |
723767 |
)
|
|
Packit |
723767 |
END_SQL
|
|
Packit |
723767 |
|
|
Packit |
723767 |
# Fill the table
|
|
Packit |
723767 |
my @data = qw{
|
|
Packit |
723767 |
a -2
|
|
Packit |
723767 |
a 1
|
|
Packit |
723767 |
b 2
|
|
Packit |
723767 |
b 1
|
|
Packit |
723767 |
c 3
|
|
Packit |
723767 |
c -1
|
|
Packit |
723767 |
d 4
|
|
Packit |
723767 |
d 5
|
|
Packit |
723767 |
e 6
|
|
Packit |
723767 |
e 7
|
|
Packit |
723767 |
};
|
|
Packit |
723767 |
$dbh->begin_work;
|
|
Packit |
723767 |
while ( @data ) {
|
|
Packit |
723767 |
ok $dbh->do(
|
|
Packit |
723767 |
'insert into foo ( mygroup, mynumber ) values ( ?, ? )', {},
|
|
Packit |
723767 |
shift(@data), shift(@data),
|
|
Packit |
723767 |
);
|
|
Packit |
723767 |
}
|
|
Packit |
723767 |
$dbh->commit;
|
|
Packit |
723767 |
|
|
Packit |
723767 |
# Issue the group/sum/sort/limit query
|
|
Packit |
723767 |
my $rv = $dbh->selectall_arrayref(<<'END_SQL');
|
|
Packit |
723767 |
select mygroup, sum(mynumber) as total
|
|
Packit |
723767 |
from foo
|
|
Packit |
723767 |
group by mygroup
|
|
Packit |
723767 |
order by total
|
|
Packit |
723767 |
limit 3
|
|
Packit |
723767 |
END_SQL
|
|
Packit |
723767 |
|
|
Packit |
723767 |
is_deeply(
|
|
Packit |
723767 |
$rv,
|
|
Packit |
723767 |
[
|
|
Packit |
723767 |
[ 'a', -1 ],
|
|
Packit |
723767 |
[ 'c', 2 ],
|
|
Packit |
723767 |
[ 'b', 3 ],
|
|
Packit |
723767 |
],
|
|
Packit |
723767 |
'group/sum/sort/limit query ok'
|
|
Packit |
723767 |
);
|