Annotation of embedaddon/php/ext/sqlite/tests/sqlite_closures_001.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: sqlite: aggregate functions with closures
3: --INI--
4: sqlite.assoc_case=0
5: --SKIPIF--
6: <?php # vim:ft=php
7: if (!extension_loaded("sqlite")) print "skip"; ?>
8: --FILE--
9: <?php
10: include "blankdb.inc";
11:
12: $data = array(
13: "one",
14: "two",
15: "three"
16: );
17:
18: sqlite_query("CREATE TABLE strings(a)", $db);
19:
20: foreach ($data as $str) {
21: sqlite_query("INSERT INTO strings VALUES('" . sqlite_escape_string($str) . "')", $db);
22: }
23:
24: function cat_step(&$context, $string)
25: {
26: $context .= $string;
27: }
28:
29: function cat_fin(&$context)
30: {
31: return $context;
32: }
33:
34: sqlite_create_aggregate($db, "cat", function (&$context, $string) {
35: $context .= $string;
36: }, function (&$context) {
37: return $context;
38: });
39:
40: $r = sqlite_query("SELECT cat(a) from strings", $db);
41: while ($row = sqlite_fetch_array($r, SQLITE_NUM)) {
42: var_dump($row);
43: }
44:
45: sqlite_close($db);
46:
47: echo "DONE!\n";
48: ?>
49: --EXPECT--
50: array(1) {
51: [0]=>
52: string(11) "onetwothree"
53: }
54: DONE!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>