Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : SQLite Functions : sqlite_create_aggregate

sqlite_create_aggregate

Register an aggregating UDF for use in SQL statements (PHP 5, PECL sqlite:1.0-1.0.3)
void sqlite_create_aggregate ( resource dbhandle, string function_name, callback step_func, callback finalize_func [, int num_args] )

Example 2323. max_length aggregation function example

<?php
$data
= array(
 
'one',
 
'two',
 
'three',
 
'four',
 
'five',
 
'six',
 
'seven',
 
'eight',
 
'nine',
 
'ten',
  );
$dbhandle = sqlite_open(':memory:');
sqlite_query($dbhandle, "CREATE TABLE strings(a)");
foreach (
$data as $str) {
   
$str = sqlite_escape_string($str);
   
sqlite_query($dbhandle, "INSERT INTO strings VALUES ('$str')");
}

function
max_len_step(&$context, $string)
{
   if (
strlen($string) > $context) {
       
$context = strlen($string);
   }
}

function
max_len_finalize(&$context)
{
   return
$context;
}

sqlite_create_aggregate($dbhandle, 'max_len', 'max_len_step', 'max_len_finalize');

var_dump(sqlite_array_query($dbhandle, 'SELECT max_len(a) from strings'));

?>

Change Language


Follow Navioo On Twitter
sqlite_array_query
sqlite_busy_timeout
sqlite_changes
sqlite_close
sqlite_column
sqlite_create_aggregate
sqlite_create_function
sqlite_current
sqlite_error_string
sqlite_escape_string
sqlite_exec
sqlite_factory
sqlite_fetch_all
sqlite_fetch_array
sqlite_fetch_column_types
sqlite_fetch_object
sqlite_fetch_single
sqlite_fetch_string
sqlite_field_name
sqlite_has_more
sqlite_has_prev
sqlite_key
sqlite_last_error
sqlite_last_insert_rowid
sqlite_libencoding
sqlite_libversion
sqlite_next
sqlite_num_fields
sqlite_num_rows
sqlite_open
sqlite_popen
sqlite_prev
sqlite_query
sqlite_rewind
sqlite_seek
sqlite_single_query
sqlite_udf_decode_binary
sqlite_udf_encode_binary
sqlite_unbuffered_query
sqlite_valid
eXTReMe Tracker