summaryrefslogtreecommitdiff
path: root/ext/pdo_pgsql/tests
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2014-12-21 19:07:19 +0100
committerOndřej Surý <ondrej@sury.org>2014-12-21 19:07:19 +0100
commit60fede4c90746ef3408ed27a15dd405b3a46a83b (patch)
tree068e6a8018345664b5d0e8d838995a4a3e97cc3d /ext/pdo_pgsql/tests
parentf40f1ce174885cd0f526c003eca3fa523e0ef269 (diff)
downloadphp-60fede4c90746ef3408ed27a15dd405b3a46a83b.tar.gz
New upstream version 5.6.4+dfsgupstream/5.6.4+dfsg
Diffstat (limited to 'ext/pdo_pgsql/tests')
-rw-r--r--ext/pdo_pgsql/tests/bug62593.phpt15
-rw-r--r--ext/pdo_pgsql/tests/bug67462.phpt34
2 files changed, 49 insertions, 0 deletions
diff --git a/ext/pdo_pgsql/tests/bug62593.phpt b/ext/pdo_pgsql/tests/bug62593.phpt
index e3ebf46ed..4ab4566f0 100644
--- a/ext/pdo_pgsql/tests/bug62593.phpt
+++ b/ext/pdo_pgsql/tests/bug62593.phpt
@@ -34,6 +34,19 @@ $query->execute();
$errors[] = $query->errorInfo();
var_dump($value);
+// Try with strings - Bug #68351
+$value = '0';
+$query->bindParam(':foo', $value, PDO::PARAM_BOOL);
+$query->execute();
+$errors[] = $query->errorInfo();
+var_dump($query->fetchColumn());
+
+$value = "abc";
+$query->bindParam(':foo', $value, PDO::PARAM_BOOL);
+$query->execute();
+$errors[] = $query->errorInfo();
+var_dump($query->fetchColumn());
+
$expect = 'No errors found';
foreach ($errors as $error)
@@ -48,4 +61,6 @@ echo $expect;
--EXPECTF--
bool(true)
bool(false)
+bool(true)
+bool(false)
No errors found
diff --git a/ext/pdo_pgsql/tests/bug67462.phpt b/ext/pdo_pgsql/tests/bug67462.phpt
new file mode 100644
index 000000000..888b19c24
--- /dev/null
+++ b/ext/pdo_pgsql/tests/bug67462.phpt
@@ -0,0 +1,34 @@
+--TEST--
+PDO PgSQL Bug #67462 (PDO_PGSQL::beginTransaction() wrongly throws exception when not in transaction)
+--SKIPIF--
+<?php
+if (!extension_loaded('pdo') || !extension_loaded('pdo_pgsql')) die('skip not loaded');
+require dirname(__FILE__) . '/config.inc';
+require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
+PDOTest::skip();
+?>
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
+$pdo = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt');
+$pdo->setAttribute (\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
+
+$pdo->beginTransaction();
+
+try {
+ $pdo->query("CREATE TABLE b67462 (a int NOT NULL PRIMARY KEY DEFERRABLE INITIALLY DEFERRED)");
+ $pdo->query("INSERT INTO b67462 VALUES (1), (1)");
+
+ var_dump($pdo->inTransaction());
+ $pdo->commit(); // This should fail!
+} catch (\Exception $e) {
+ var_dump($pdo->inTransaction());
+ var_dump($pdo->beginTransaction());
+}
+
+?>
+--EXPECT--
+bool(true)
+bool(false)
+bool(true)