summaryrefslogtreecommitdiff
path: root/ext/pdo_pgsql
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2016-04-06 14:07:03 +0200
committerAnatol Belski <ab@php.net>2016-04-06 14:07:03 +0200
commit9056a36c9b16f968247fa256f2b93529df308ff5 (patch)
tree18e9ddd781f903b2a681a5480a766988cb977052 /ext/pdo_pgsql
parent2ead9be91bef1106cbbb387b505cece0a63d83ef (diff)
parent4f7d89a33563302241af11f1861294a0df6c0a3f (diff)
downloadphp-git-9056a36c9b16f968247fa256f2b93529df308ff5.tar.gz
Merge branch 'PHP-7.0'
* PHP-7.0: add 32-bit specific variont for #62498 skip test on 32-bit
Diffstat (limited to 'ext/pdo_pgsql')
-rw-r--r--ext/pdo_pgsql/tests/bug62498-32bit.phpt185
-rw-r--r--ext/pdo_pgsql/tests/bug62498.phpt3
2 files changed, 187 insertions, 1 deletions
diff --git a/ext/pdo_pgsql/tests/bug62498-32bit.phpt b/ext/pdo_pgsql/tests/bug62498-32bit.phpt
new file mode 100644
index 0000000000..3727ed7d11
--- /dev/null
+++ b/ext/pdo_pgsql/tests/bug62498-32bit.phpt
@@ -0,0 +1,185 @@
+--TEST--
+PDO PgSQL Bug #62498 (pdo_pgsql inefficient when getColumnMeta() is used), 32-bit
+--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();
+if (PHP_INT_SIZE > 4) die("skip relevant for 32-bit only");
+?>
+--FILE--
+<?php
+echo "Begin test...\n";
+
+require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
+$db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt');
+$db->setAttribute (\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
+
+// create the table
+$db->exec("CREATE TEMPORARY TABLE bugtest_62498 (int2col INT2, int4col INT4, int8col INT8, stringcol VARCHAR(255), boolcol BOOLEAN, datecol DATE, textcol TEXT, tscol TIMESTAMP, byteacol BYTEA)");
+
+// insert some data
+$statement = $db->prepare("INSERT INTO bugtest_62498 (int2col, int4col, int8col, stringcol, boolcol, datecol, textcol, tscol, byteacol) VALUES (:int2val, :int4val, :int8val, :stringval, :boolval, :dateval, :textval, :tsval, :byteaval)");
+$vals = array(
+ "int2val" => "42",
+ "int4val" => "42",
+ "int8val" => "42",
+ "stringval" => "The Answer",
+ "boolval" => true,
+ "dateval" => '2015-12-14',
+ "textval" => "some text",
+ "tsval" => 19990108,
+ "byteaval" => 0,
+);
+$statement->execute($vals);
+
+$select = $db->query('SELECT int2col, int4col, int8col, stringcol, boolcol, datecol, textcol, tscol, byteacol FROM bugtest_62498');
+$meta = [];
+for ($i=0; $i < count($vals); $i++) {
+ $meta[] = $select->getColumnMeta($i);
+}
+var_dump($meta);
+
+?>
+Done
+--EXPECT--
+Begin test...
+array(9) {
+ [0]=>
+ array(6) {
+ ["pgsql:oid"]=>
+ int(21)
+ ["native_type"]=>
+ string(4) "int2"
+ ["name"]=>
+ string(7) "int2col"
+ ["len"]=>
+ int(2)
+ ["precision"]=>
+ int(-1)
+ ["pdo_type"]=>
+ int(1)
+ }
+ [1]=>
+ array(6) {
+ ["pgsql:oid"]=>
+ int(23)
+ ["native_type"]=>
+ string(4) "int4"
+ ["name"]=>
+ string(7) "int4col"
+ ["len"]=>
+ int(4)
+ ["precision"]=>
+ int(-1)
+ ["pdo_type"]=>
+ int(1)
+ }
+ [2]=>
+ array(6) {
+ ["pgsql:oid"]=>
+ int(20)
+ ["native_type"]=>
+ string(4) "int8"
+ ["name"]=>
+ string(7) "int8col"
+ ["len"]=>
+ int(8)
+ ["precision"]=>
+ int(-1)
+ ["pdo_type"]=>
+ int(2)
+ }
+ [3]=>
+ array(6) {
+ ["pgsql:oid"]=>
+ int(1043)
+ ["native_type"]=>
+ string(7) "varchar"
+ ["name"]=>
+ string(9) "stringcol"
+ ["len"]=>
+ int(-1)
+ ["precision"]=>
+ int(259)
+ ["pdo_type"]=>
+ int(2)
+ }
+ [4]=>
+ array(6) {
+ ["pgsql:oid"]=>
+ int(16)
+ ["native_type"]=>
+ string(4) "bool"
+ ["name"]=>
+ string(7) "boolcol"
+ ["len"]=>
+ int(1)
+ ["precision"]=>
+ int(-1)
+ ["pdo_type"]=>
+ int(5)
+ }
+ [5]=>
+ array(6) {
+ ["pgsql:oid"]=>
+ int(1082)
+ ["native_type"]=>
+ string(4) "date"
+ ["name"]=>
+ string(7) "datecol"
+ ["len"]=>
+ int(4)
+ ["precision"]=>
+ int(-1)
+ ["pdo_type"]=>
+ int(2)
+ }
+ [6]=>
+ array(6) {
+ ["pgsql:oid"]=>
+ int(25)
+ ["native_type"]=>
+ string(4) "text"
+ ["name"]=>
+ string(7) "textcol"
+ ["len"]=>
+ int(-1)
+ ["precision"]=>
+ int(-1)
+ ["pdo_type"]=>
+ int(2)
+ }
+ [7]=>
+ array(6) {
+ ["pgsql:oid"]=>
+ int(1114)
+ ["native_type"]=>
+ string(9) "timestamp"
+ ["name"]=>
+ string(5) "tscol"
+ ["len"]=>
+ int(8)
+ ["precision"]=>
+ int(-1)
+ ["pdo_type"]=>
+ int(2)
+ }
+ [8]=>
+ array(6) {
+ ["pgsql:oid"]=>
+ int(17)
+ ["native_type"]=>
+ string(5) "bytea"
+ ["name"]=>
+ string(8) "byteacol"
+ ["len"]=>
+ int(-1)
+ ["precision"]=>
+ int(-1)
+ ["pdo_type"]=>
+ int(3)
+ }
+}
+Done
diff --git a/ext/pdo_pgsql/tests/bug62498.phpt b/ext/pdo_pgsql/tests/bug62498.phpt
index e4ca3dec4f..ed25899990 100644
--- a/ext/pdo_pgsql/tests/bug62498.phpt
+++ b/ext/pdo_pgsql/tests/bug62498.phpt
@@ -1,11 +1,12 @@
--TEST--
-PDO PgSQL Bug #62498 (pdo_pgsql inefficient when getColumnMeta() is used)
+PDO PgSQL Bug #62498 (pdo_pgsql inefficient when getColumnMeta() is used), 64-bit
--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();
+if (PHP_INT_SIZE < 8) die("skip valid for 64-bit only");
?>
--FILE--
<?php