mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00

SQLITE_DETERMINISTIC only exists in recent version e.g. missing on 3.7 which is the default on RHEL/CentOS-7 and probably others (wheezy have 3.7, jessie 3.8...)
41 lines
881 B
PHP
41 lines
881 B
PHP
--TEST--
|
|
PDO_sqlite: Testing sqliteCreateFunction() with flags
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded('pdo_sqlite')) print 'skip not loaded';
|
|
if (!defined('PDO::SQLITE_DETERMINISTIC')) die('skip system sqlite is to old');
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
|
|
$db = new pdo('sqlite::memory:');
|
|
|
|
$db->query('CREATE TABLE IF NOT EXISTS foobar (id INT AUTO INCREMENT, name TEXT)');
|
|
|
|
$db->query('INSERT INTO foobar VALUES (NULL, "PHP")');
|
|
$db->query('INSERT INTO foobar VALUES (NULL, "PHP6")');
|
|
|
|
|
|
$db->sqliteCreateFunction('testing', function($v) { return strtolower($v); }, 1, PDO::SQLITE_DETERMINISTIC);
|
|
|
|
|
|
foreach ($db->query('SELECT testing(name) FROM foobar') as $row) {
|
|
var_dump($row);
|
|
}
|
|
|
|
$db->query('DROP TABLE foobar');
|
|
|
|
?>
|
|
--EXPECTF--
|
|
array(2) {
|
|
["testing(name)"]=>
|
|
string(3) "php"
|
|
[0]=>
|
|
string(3) "php"
|
|
}
|
|
array(2) {
|
|
["testing(name)"]=>
|
|
string(4) "php6"
|
|
[0]=>
|
|
string(4) "php6"
|
|
}
|