2003-04-20 13:08:40 +00:00
|
|
|
--TEST--
|
|
|
|
sqlite: aggregate functions
|
2003-05-01 13:29:11 +00:00
|
|
|
--INI--
|
|
|
|
sqlite.assoc_case=0
|
2003-04-20 13:08:40 +00:00
|
|
|
--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);
|
|
|
|
}
|
2003-12-05 02:12:21 +00:00
|
|
|
|
|
|
|
sqlite_close($db);
|
|
|
|
|
2003-04-20 13:08:40 +00:00
|
|
|
echo "DONE!\n";
|
|
|
|
?>
|
|
|
|
--EXPECT--
|
|
|
|
array(1) {
|
|
|
|
[0]=>
|
|
|
|
string(11) "onetwothree"
|
|
|
|
}
|
|
|
|
DONE!
|
2005-08-16 15:09:51 +00:00
|
|
|
--UEXPECT--
|
|
|
|
array(1) {
|
|
|
|
[0]=>
|
|
|
|
unicode(11) "onetwothree"
|
|
|
|
}
|
|
|
|
DONE!
|