]> granicus.if.org Git - php/commitdiff
Add test for aggregates
authorWez Furlong <wez@php.net>
Sun, 20 Apr 2003 13:08:40 +0000 (13:08 +0000)
committerWez Furlong <wez@php.net>
Sun, 20 Apr 2003 13:08:40 +0000 (13:08 +0000)
ext/sqlite/tests/sqlite_005.phpt [new file with mode: 0644]

diff --git a/ext/sqlite/tests/sqlite_005.phpt b/ext/sqlite/tests/sqlite_005.phpt
new file mode 100644 (file)
index 0000000..4f37c94
--- /dev/null
@@ -0,0 +1,45 @@
+--TEST--
+sqlite: aggregate functions
+--SKIPIF--
+<?php # vim:ft=php
+if (!extension_loaded("sqlite")) print "skip"; ?>
+--FILE--
+<?php 
+include "blankdb.inc";
+
+$data = array(
+       "one",
+       "two",
+       "three"
+       );
+
+sqlite_query("CREATE TABLE strings(a)", $db);
+
+foreach ($data as $str) {
+       sqlite_query("INSERT INTO strings VALUES('" . sqlite_escape_string($str) . "')", $db);
+}
+
+function cat_step(&$context, $string)
+{
+       $context .= $string;
+}
+
+function cat_fin(&$context)
+{
+       return $context;
+}
+
+sqlite_create_aggregate($db, "cat", "cat_step", "cat_fin");
+
+$r = sqlite_query("SELECT cat(a) from strings", $db);
+while ($row = sqlite_fetch_array($r, SQLITE_NUM)) {
+       var_dump($row);
+}
+echo "DONE!\n";
+?>
+--EXPECT--
+array(1) {
+  [0]=>
+  string(11) "onetwothree"
+}
+DONE!