5 changed files with 81 additions and 6 deletions
-
2ext/pdo_sqlite/pdo_sqlite.c
-
8ext/pdo_sqlite/sqlite_driver.c
-
38ext/pdo_sqlite/tests/pdo_sqlite_createfunction_with_flags.phpt
-
10ext/sqlite3/sqlite3.c
-
29ext/sqlite3/tests/sqlite3_37_createfunction_flags.phpt
@ -0,0 +1,38 @@ |
|||
--TEST-- |
|||
PDO_sqlite: Testing sqliteCreateFunction() with flags |
|||
--SKIPIF-- |
|||
<?php if (!extension_loaded('pdo_sqlite')) print 'skip not loaded'; ?> |
|||
--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" |
|||
} |
|||
@ -0,0 +1,29 @@ |
|||
--TEST-- |
|||
SQLite3::createFunction - Test with flags |
|||
--SKIPIF-- |
|||
<?php require_once(__DIR__ . '/skipif.inc'); ?> |
|||
--FILE-- |
|||
<?php |
|||
|
|||
require_once(__DIR__ . '/new_db.inc'); |
|||
|
|||
$func = 'strtoupper'; |
|||
var_dump($db->createfunction($func, $func, 1, SQLITE3_DETERMINISTIC)); |
|||
var_dump($db->querySingle('SELECT strtoupper("test")')); |
|||
|
|||
$func2 = 'strtolower'; |
|||
var_dump($db->createfunction($func2, $func2, 1, SQLITE3_DETERMINISTIC)); |
|||
var_dump($db->querySingle('SELECT strtolower("TEST")')); |
|||
|
|||
var_dump($db->createfunction($func, $func2, 1, SQLITE3_DETERMINISTIC)); |
|||
var_dump($db->querySingle('SELECT strtoupper("tEst")')); |
|||
|
|||
|
|||
?> |
|||
--EXPECTF-- |
|||
bool(true) |
|||
string(4) "TEST" |
|||
bool(true) |
|||
string(4) "test" |
|||
bool(true) |
|||
string(4) "test" |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue