Annotation of embedaddon/php/ext/sqlite3/tests/sqlite3_25_create_aggregate.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SQLite3::createAggregate() test
! 3: --SKIPIF--
! 4: <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: require_once(dirname(__FILE__) . '/new_db.inc');
! 9:
! 10: function sum_list_step($context, $rows, $string) {
! 11: if (empty($context))
! 12: {
! 13: $context = array('total' => 0, 'values' => array());
! 14: }
! 15: $context['total'] += intval($string);
! 16: $context['values'][] = $context['total'];
! 17: return $context;
! 18: }
! 19:
! 20: function sum_list_finalize($context) {
! 21: return implode(',', $context['values']);
! 22: }
! 23:
! 24: echo "Creating Table\n";
! 25: var_dump($db->exec('CREATE TABLE test (a INTEGER, b INTEGER)'));
! 26:
! 27: echo "INSERT into table\n";
! 28: var_dump($db->exec("INSERT INTO test (a, b) VALUES (1, -1)"));
! 29: var_dump($db->exec("INSERT INTO test (a, b) VALUES (2, -2)"));
! 30: var_dump($db->exec("INSERT INTO test (a, b) VALUES (3, -3)"));
! 31: var_dump($db->exec("INSERT INTO test (a, b) VALUES (4, -4)"));
! 32: var_dump($db->exec("INSERT INTO test (a, b) VALUES (4, -4)"));
! 33:
! 34: $db->createAggregate('S', 'sum_list_step', 'sum_list_finalize', 1);
! 35:
! 36: print_r($db->querySingle("SELECT S(a), S(b) FROM test", true));
! 37:
! 38: echo "Closing database\n";
! 39: var_dump($db->close());
! 40: echo "Done\n";
! 41: ?>
! 42: --EXPECTF--
! 43: Creating Table
! 44: bool(true)
! 45: INSERT into table
! 46: bool(true)
! 47: bool(true)
! 48: bool(true)
! 49: bool(true)
! 50: bool(true)
! 51: Array
! 52: (
! 53: [S(a)] => 1,3,6,10,14
! 54: [S(b)] => -1,-3,-6,-10,-14
! 55: )
! 56: Closing database
! 57: bool(true)
! 58: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>