Skip to content

Commit 72981f1

Browse files
committed
Split bug 44159 SQLite difference in behaviour to a dedicated variant
1 parent cb7f133 commit 72981f1

File tree

2 files changed

+28
-4
lines changed

2 files changed

+28
-4
lines changed

ext/pdo/tests/bug_44159.phpt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
1515
$pdo = PDOTest::factory();
1616
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
1717

18-
$attrs = array(PDO::ATTR_STATEMENT_CLASS, PDO::ATTR_STRINGIFY_FETCHES, PDO::NULL_TO_STRING);
18+
$attrs = array(PDO::ATTR_STATEMENT_CLASS, PDO::ATTR_STRINGIFY_FETCHES);
1919

2020
foreach ($attrs as $attr) {
2121
try {
@@ -45,6 +45,3 @@ TypeError: PDO::ATTR_STATEMENT_CLASS's value must be of type array, string given
4545
TypeError: Attribute value must be int for selected attribute, null given
4646
bool(true)
4747
bool(true)
48-
bool(false)
49-
bool(false)
50-
bool(false)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
--TEST--
2+
PDO Common: Bug #44159 (Crash: $pdo->setAttribute(PDO::STATEMENT_ATTR_CLASS, NULL)): SQLite variant
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('pdo')) die('skip PDO not available');
6+
try {
7+
$pdo = new PDO("sqlite:".__DIR__."/foo.db");
8+
} catch (Exception $e) {
9+
die("skip PDP_SQLITE not available");
10+
}
11+
?>
12+
--FILE--
13+
<?php
14+
$pdo = new PDO("sqlite:".__DIR__."/foo.db");
15+
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
16+
17+
var_dump($pdo->setAttribute(PDO::NULL_TO_STRING, NULL));
18+
var_dump($pdo->setAttribute(PDO::NULL_TO_STRING, 1));
19+
var_dump($pdo->setAttribute(PDO::NULL_TO_STRING, 'nonsense'));
20+
21+
@unlink(__DIR__."/foo.db");
22+
23+
?>
24+
--EXPECT--
25+
bool(true)
26+
bool(true)
27+
bool(true)

0 commit comments

Comments
 (0)