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
);