Skip to content

Commit

Permalink
Switch sqlite tests from " to ' for strings
Browse files Browse the repository at this point in the history
This behavior is discouraged and seems to be disabled by default in new versions.

https://www.sqlite.org/quirks.html#double_quoted_string_literals_are_accepted
  • Loading branch information
iluuu1994 committed Nov 15, 2024
1 parent c456b83 commit 050c586
Show file tree
Hide file tree
Showing 22 changed files with 36 additions and 40 deletions.
8 changes: 4 additions & 4 deletions ext/pdo_sqlite/tests/bug38334.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ pdo_sqlite

$db = new PDO('sqlite::memory:');
$db->exec('CREATE TABLE test_38334 (i INTEGER , f DOUBLE, s VARCHAR(255))');
$db->exec('INSERT INTO test_38334 VALUES (42, 46.7, "test")');
$db->exec('INSERT INTO test_38334 VALUES (42, 46.7, \'test\')');
var_dump($db->query('SELECT * FROM test_38334')->fetch(PDO::FETCH_ASSOC));

// Check handling of integers larger than 32-bit.
$db->exec('INSERT INTO test_38334 VALUES (10000000000, 0.0, "")');
$db->exec('INSERT INTO test_38334 VALUES (10000000000, 0.0, \'\')');
$i = $db->query('SELECT i FROM test_38334 WHERE f = 0.0')->fetchColumn(0);
if (PHP_INT_SIZE >= 8) {
var_dump($i === 10000000000);
Expand All @@ -20,8 +20,8 @@ if (PHP_INT_SIZE >= 8) {
}

// Check storing of strings into integer/float columns.
$db->exec('INSERT INTO test_38334 VALUES ("test", "test", "x")');
var_dump($db->query('SELECT * FROM test_38334 WHERE s = "x"')->fetch(PDO::FETCH_ASSOC));
$db->exec('INSERT INTO test_38334 VALUES (\'test\', \'test\', \'x\')');
var_dump($db->query('SELECT * FROM test_38334 WHERE s = \'x\'')->fetch(PDO::FETCH_ASSOC));

?>
--EXPECT--
Expand Down
2 changes: 1 addition & 1 deletion ext/pdo_sqlite/tests/bug_42589.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ if(!in_array('ENABLE_COLUMN_METADATA', $options, true))
$db = new PDO("sqlite::memory:");

$db->exec('CREATE TABLE test_42589 (field1 VARCHAR(10))');
$db->exec('INSERT INTO test_42589 VALUES("test")');
$db->exec('INSERT INTO test_42589 VALUES(\'test\')');

$result = $db->query('SELECT * FROM test_42589 t1 LEFT JOIN test_42589 t2 ON t1.field1 = t2.field1');
$meta1 = $result->getColumnMeta(0);
Expand Down
2 changes: 1 addition & 1 deletion ext/pdo_sqlite/tests/pdo_fetch_func_001.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ $db = new PDO('sqlite::memory:');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

$db->exec('CREATE TABLE test_fetch_func_001 (id INTEGER , name VARCHAR)');
$db->exec('INSERT INTO test_fetch_func_001 VALUES(1, "php"), (2, "")');
$db->exec('INSERT INTO test_fetch_func_001 VALUES(1, \'php\'), (2, \'\')');

$st = $db->query('SELECT * FROM test_fetch_func_001');
$st->fetchAll(
Expand Down
2 changes: 1 addition & 1 deletion ext/pdo_sqlite/tests/pdo_sqlite_createaggregate.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ $db = new PDO('sqlite::memory:');

$db->query('CREATE TABLE test_pdo_sqlite_createaggregate (id INT AUTO INCREMENT, name TEXT)');

$db->query('INSERT INTO test_pdo_sqlite_createaggregate VALUES (NULL, "PHP"), (NULL, "PHP6")');
$db->query('INSERT INTO test_pdo_sqlite_createaggregate VALUES (NULL, \'PHP\'), (NULL, \'PHP6\')');

$db->sqliteCreateAggregate('testing', function(&$a, $b) { $a .= $b; return $a; }, function(&$v) { return $v; });

Expand Down
2 changes: 1 addition & 1 deletion ext/pdo_sqlite/tests/pdo_sqlite_createcollation.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$db->query('CREATE TABLE test_pdo_sqlite_createcollation (id INT AUTO INCREMENT, name TEXT)');

$db->query('INSERT INTO test_pdo_sqlite_createcollation VALUES (NULL, "1"), (NULL, "2"), (NULL, "10")');
$db->query('INSERT INTO test_pdo_sqlite_createcollation VALUES (NULL, \'1\'), (NULL, \'2\'), (NULL, \'10\')');

$db->sqliteCreateCollation('MYCOLLATE', function($a, $b) { return strnatcmp($a, $b); });

Expand Down
2 changes: 1 addition & 1 deletion ext/pdo_sqlite/tests/pdo_sqlite_createfunction.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ $db = new PDO('sqlite::memory:');

$db->query('CREATE TABLE test_pdo_sqlite_createfunction (id INT AUTO INCREMENT, name TEXT)');

$db->query('INSERT INTO test_pdo_sqlite_createfunction VALUES (NULL, "PHP"), (NULL, "PHP6")');
$db->query('INSERT INTO test_pdo_sqlite_createfunction VALUES (NULL, \'PHP\'), (NULL, \'PHP6\')');


$db->sqliteCreateFunction('testing', function($v) { return strtolower($v); });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ $db = new PDO('sqlite::memory:');

$db->query('CREATE TABLE test_pdo_sqlite_createfunction_with_flags (id INT AUTO INCREMENT, name TEXT)');

$db->query('INSERT INTO test_pdo_sqlite_createfunction_with_flags VALUES (NULL, "PHP"), (NULL, "PHP6")');
$db->query('INSERT INTO test_pdo_sqlite_createfunction_with_flags VALUES (NULL, \'PHP\'), (NULL, \'PHP6\')');


$db->sqliteCreateFunction('testing', function($v) { return strtolower($v); }, 1, PDO::SQLITE_DETERMINISTIC);
Expand Down
2 changes: 1 addition & 1 deletion ext/pdo_sqlite/tests/pdo_sqlite_lastinsertid.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ pdo_sqlite

$db = new PDO('sqlite::memory:');
$db->query('CREATE TABLE test_pdo_sqlite_lastinsertid (id INT AUTO INCREMENT, name TEXT)');
$db->query('INSERT INTO test_pdo_sqlite_lastinsertid VALUES (NULL, "PHP"), (NULL, "PHP6")');
$db->query('INSERT INTO test_pdo_sqlite_lastinsertid VALUES (NULL, \'PHP\'), (NULL, \'PHP6\')');
var_dump($db->query('SELECT * FROM test_pdo_sqlite_lastinsertid'));
var_dump($db->errorInfo());
var_dump($db->lastInsertId());
Expand Down
4 changes: 0 additions & 4 deletions ext/pdo_sqlite/tests/pdo_sqlite_parser.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,7 @@ foreach ($queries as $k => $query) {
// One parameter
$queries = [
"SELECT * FROM {$table} WHERE '1' = ?",
"SELECT * FROM {$table} WHERE \"?\" IN (?, \"?\")",
"SELECT * FROM {$table} WHERE `a``?` = ?",
"SELECT * FROM {$table} WHERE \"a`?\" = ?",
"SELECT * FROM {$table} WHERE [a`?] = ?",
];

Expand All @@ -58,5 +56,3 @@ bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
2 changes: 1 addition & 1 deletion ext/pdo_sqlite/tests/pdo_sqlite_transaction.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ $db->query('CREATE TABLE test_pdo_sqlite_transaction (id INT AUTO INCREMENT, nam
$db->commit();

$db->beginTransaction();
$db->query('INSERT INTO test_pdo_sqlite_transaction VALUES (NULL, "PHP"), (NULL, "PHP6")');
$db->query('INSERT INTO test_pdo_sqlite_transaction VALUES (NULL, \'PHP\'), (NULL, \'PHP6\')');
$db->rollback();

$r = $db->query('SELECT COUNT(*) FROM test_pdo_sqlite_transaction');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ class TrampolineTest {

var_dump($db->createFunction('strtoupper', [new TrampolineTest(), 'strtoupper']));

foreach ($db->query('SELECT strtoupper("test")') as $row) {
foreach ($db->query('SELECT strtoupper(\'test\')') as $row) {
var_dump($row);
}

foreach ($db->query('SELECT strtoupper("test")') as $row) {
foreach ($db->query('SELECT strtoupper(\'test\')') as $row) {
var_dump($row);
}

Expand All @@ -33,14 +33,14 @@ foreach ($db->query('SELECT strtoupper("test")') as $row) {
bool(true)
Trampoline for strtoupper
array(2) {
["strtoupper("test")"]=>
["strtoupper('test')"]=>
string(4) "TEST"
[0]=>
string(4) "TEST"
}
Trampoline for strtoupper
array(2) {
["strtoupper("test")"]=>
["strtoupper('test')"]=>
string(4) "TEST"
[0]=>
string(4) "TEST"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ $db = new Pdo\Sqlite('sqlite::memory:');

$db->query('CREATE TABLE test_pdo_sqlite_createaggregate (id INT AUTO INCREMENT, name TEXT)');

$db->query('INSERT INTO test_pdo_sqlite_createaggregate VALUES (NULL, "PHP"), (NULL, "PHP6")');
$db->query('INSERT INTO test_pdo_sqlite_createaggregate VALUES (NULL, \'PHP\'), (NULL, \'PHP6\')');

$db->createAggregate('testing', function(&$a, $b) { $a .= $b; return $a; }, function(&$v) { return $v; });

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$db->query('CREATE TABLE test_pdo_sqlite_createcollation (id INT AUTO INCREMENT, name TEXT)');

$db->query('INSERT INTO test_pdo_sqlite_createcollation VALUES (NULL, "1"), (NULL, "2"), (NULL, "10")');
$db->query('INSERT INTO test_pdo_sqlite_createcollation VALUES (NULL, \'1\'), (NULL, \'2\'), (NULL, \'10\')');

$db->createCollation('MYCOLLATE', function($a, $b) { return strnatcmp($a, $b); });

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ $db = new Pdo\Sqlite('sqlite::memory:');

$db->query('CREATE TABLE test_pdo_sqlite_createcollation_trampoline (s VARCHAR(4))');

$stmt = $db->query('INSERT INTO test_pdo_sqlite_createcollation_trampoline VALUES ("a1"), ("a10"), ("a2")');
$stmt = $db->query('INSERT INTO test_pdo_sqlite_createcollation_trampoline VALUES (\'a1\'), (\'a10\'), (\'a2\')');

class TrampolineTest {
public function __call(string $name, array $arguments) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if (!defined('PDO::SQLITE_DETERMINISTIC')) die('skip system sqlite is too old');
// This test was copied from the pdo_sqlite test for sqliteCreateCollation
$db = new Pdo\Sqlite('sqlite::memory:');
$db->query('CREATE TABLE test_pdo_sqlite_createfunction_with_flags (id INT AUTO INCREMENT, name TEXT)');
$db->query('INSERT INTO test_pdo_sqlite_createfunction_with_flags VALUES (NULL, "PHP"), (NULL, "PHP6")');
$db->query('INSERT INTO test_pdo_sqlite_createfunction_with_flags VALUES (NULL, \'PHP\'), (NULL, \'PHP6\')');

$db->createFunction('testing', function($v) { return strtolower($v); }, 1, Pdo\Sqlite::DETERMINISTIC);

Expand Down
4 changes: 2 additions & 2 deletions ext/pdo_sqlite/tests/subclasses/pdosqlite_001.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ $db = new Pdo\Sqlite('sqlite::memory:');

$db->query('CREATE TABLE pdosqlite_001 (id INT AUTO INCREMENT, name TEXT)');

$db->query('INSERT INTO pdosqlite_001 VALUES (NULL, "PHP")');
$db->query('INSERT INTO pdosqlite_001 VALUES (NULL, "PHP6")');
$db->query('INSERT INTO pdosqlite_001 VALUES (NULL, \'PHP\')');
$db->query('INSERT INTO pdosqlite_001 VALUES (NULL, \'PHP6\')');

$db->createFunction('testing', function($v) { return strtolower($v); }, 1, Pdo\Sqlite::DETERMINISTIC);

Expand Down
4 changes: 2 additions & 2 deletions ext/pdo_sqlite/tests/subclasses/pdosqlite_002.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ if (!$db instanceof Pdo\Sqlite) {
}

$db->query('CREATE TABLE pdosqlite_002 (id INT AUTO INCREMENT, name TEXT)');
$db->query('INSERT INTO pdosqlite_002 VALUES (NULL, "PHP")');
$db->query('INSERT INTO pdosqlite_002 VALUES (NULL, "PHP6")');
$db->query('INSERT INTO pdosqlite_002 VALUES (NULL, \'PHP\')');
$db->query('INSERT INTO pdosqlite_002 VALUES (NULL, \'PHP6\')');

$db->createFunction('testing', function($v) { return strtolower($v); }, 1, Pdo\Sqlite::DETERMINISTIC);

Expand Down
6 changes: 3 additions & 3 deletions ext/sqlite3/tests/bug72668.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@ $db = new SQLite3(':memory:');
$db->createFunction('my_udf_md5', 'my_udf_md5');

try {
$result = $db->query('SELECT my_udf_md5("test")');
$result = $db->query('SELECT my_udf_md5(\'test\')');
var_dump($result);
}
catch(\Exception $e) {
echo "Exception: ".$e->getMessage();
}
try {
$result = $db->querySingle('SELECT my_udf_md5("test")');
$result = $db->querySingle('SELECT my_udf_md5(\'test\')');
var_dump($result);
}
catch(\Exception $e) {
echo "Exception: ".$e->getMessage();
}
$statement = $db->prepare('SELECT my_udf_md5("test")');
$statement = $db->prepare('SELECT my_udf_md5(\'test\')');
try {
$result = $statement->execute();
var_dump($result);
Expand Down
6 changes: 3 additions & 3 deletions ext/sqlite3/tests/sqlite3_29_createfunction.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ require_once(__DIR__ . '/new_db.inc');

$func = 'strtoupper';
var_dump($db->createfunction($func, $func));
var_dump($db->querySingle('SELECT strtoupper("test")'));
var_dump($db->querySingle('SELECT strtoupper(\'test\')'));

$func2 = 'strtolower';
var_dump($db->createfunction($func2, $func2));
var_dump($db->querySingle('SELECT strtolower("TEST")'));
var_dump($db->querySingle('SELECT strtolower(\'TEST\')'));

var_dump($db->createfunction($func, $func2));
var_dump($db->querySingle('SELECT strtoupper("tEst")'));
var_dump($db->querySingle('SELECT strtoupper(\'tEst\')'));


?>
Expand Down
6 changes: 3 additions & 3 deletions ext/sqlite3/tests/sqlite3_37_createfunction_flags.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ require_once(__DIR__ . '/new_db.inc');

$func = 'strtoupper';
var_dump($db->createfunction($func, $func, 1, SQLITE3_DETERMINISTIC));
var_dump($db->querySingle('SELECT strtoupper("test")'));
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->querySingle('SELECT strtolower(\'TEST\')'));

var_dump($db->createfunction($func, $func2, 1, SQLITE3_DETERMINISTIC));
var_dump($db->querySingle('SELECT strtoupper("tEst")'));
var_dump($db->querySingle('SELECT strtoupper(\'tEst\')'));


?>
Expand Down
2 changes: 1 addition & 1 deletion ext/sqlite3/tests/sqlite3_rename_column.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ if (SQLite3::version()['versionNumber'] < 3025000) {
$db = new SQLite3(':memory:');

$db->exec('CREATE TABLE tbl (orig text)');
$db->exec('insert into tbl values ("one"), ("two")');
$db->exec('insert into tbl values (\'one\'), (\'two\')');

$res1 = $db->prepare('select * from tbl')->execute();
$res2 = $db->prepare('select * from tbl')->execute();
Expand Down
4 changes: 2 additions & 2 deletions ext/sqlite3/tests/sqlite3_trampoline_createfunction.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ class TrampolineTest {
$o = new TrampolineTest();
$callback = [$o, 'strtoupper'];
var_dump($db->createfunction('strtoupper', $callback));
var_dump($db->querySingle('SELECT strtoupper("test")'));
var_dump($db->querySingle('SELECT strtoupper("test")'));
var_dump($db->querySingle('SELECT strtoupper(\'test\')'));
var_dump($db->querySingle('SELECT strtoupper(\'test\')'));

?>
--EXPECT--
Expand Down

0 comments on commit 050c586

Please sign in to comment.