summaryrefslogtreecommitdiff
path: root/ext/pdo
diff options
context:
space:
mode:
authorJulien Pauli <jpauli@php.net>2016-07-12 15:50:58 +0200
committerJulien Pauli <jpauli@php.net>2016-07-12 15:50:58 +0200
commit152d53c8440f7f9f4c97af899ef3d5cf5126084d (patch)
treef899f25f18778f80cd3619d7a6109c72c303052a /ext/pdo
parentc96a9ca6f5630495fe2b34ca709111160a156684 (diff)
parent1896ca4e88451d5190d3ce921d6f7a52b3ec6e9f (diff)
downloadphp-git-152d53c8440f7f9f4c97af899ef3d5cf5126084d.tar.gz
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: Updated NEWS Revert "Fixes #52384: Adds parameter value to dumped output. Also adds output flag indicating presence of PDO::PARAM_INPUT_OUTPUT." Revert "Fix test for #52384" Conflicts: ext/pdo/pdo_stmt.c
Diffstat (limited to 'ext/pdo')
-rw-r--r--ext/pdo/pdo_stmt.c45
-rw-r--r--ext/pdo/tests/bug_52384.phpt87
2 files changed, 5 insertions, 127 deletions
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c
index 3437869eec..8d1d909acc 100644
--- a/ext/pdo/pdo_stmt.c
+++ b/ext/pdo/pdo_stmt.c
@@ -2120,7 +2120,6 @@ static PHP_METHOD(PDOStatement, debugDumpParams)
if (stmt->bound_params) {
zend_ulong num;
zend_string *key = NULL;
- zval parameter;
ZEND_HASH_FOREACH_KEY_PTR(stmt->bound_params, num, key, param) {
if (key) {
php_stream_printf(out, "Key: Name: [%zd] %.*s\n",
@@ -2129,45 +2128,11 @@ static PHP_METHOD(PDOStatement, debugDumpParams)
php_stream_printf(out, "Key: Position #%pd:\n", num);
}
- php_stream_printf(out, "paramno=%pd\nname=[%zd] \"%.*s\"\nis_param=%d\nparam_type=%d\nis_input_output=%d\n",
- param->paramno, param->name ? ZSTR_LEN(param->name) : 0, param->name ? (int) ZSTR_LEN(param->name) : 0,
- param->name ? ZSTR_VAL(param->name) : "",
- param->is_param,
- PDO_PARAM_TYPE(param->param_type),
- (param->param_type & PDO_PARAM_INPUT_OUTPUT) == PDO_PARAM_INPUT_OUTPUT);
-
- /*
- * Check the type of the parameter and print out the value.
- *
- * Most are self explanatory with the following exceptions:
- * PDO::PARAM_INT evaluates to a long
- * PDO::PARAM_LOB evaluates to a string
- */
- parameter = param->parameter;
-again:
- switch (Z_TYPE(parameter)) {
- case IS_REFERENCE:
- parameter = *Z_REFVAL(parameter);
- goto again;
- case IS_TRUE:
- php_stream_printf(out, "param_value=true\n");
- break;
- case IS_FALSE:
- php_stream_printf(out, "param_value=false\n");
- break;
- case IS_NULL:
- php_stream_printf(out, "param_value=null\n");
- break;
- case IS_LONG:
- php_stream_printf(out, "param_value=%ld\n", Z_LVAL(parameter));
- break;
- case IS_STRING:
- php_stream_printf(out, "param_value=%s\n", Z_STRVAL(parameter));
- break;
- default:
- php_stream_printf(out, "param_value=unknown\n");
- break;
- }
+ php_stream_printf(out, "paramno=%pd\nname=[%zd] \"%.*s\"\nis_param=%d\nparam_type=%d\n",
+ param->paramno, param->name ? ZSTR_LEN(param->name) : 0, param->name ? (int) ZSTR_LEN(param->name) : 0,
+ param->name ? ZSTR_VAL(param->name) : "",
+ param->is_param,
+ param->param_type);
} ZEND_HASH_FOREACH_END();
}
diff --git a/ext/pdo/tests/bug_52384.phpt b/ext/pdo/tests/bug_52384.phpt
deleted file mode 100644
index b6eac4fb11..0000000000
--- a/ext/pdo/tests/bug_52384.phpt
+++ /dev/null
@@ -1,87 +0,0 @@
---TEST--
-PDO Common: Bug #52384 (debugDumpParams does not emit the bind parameter value)
---SKIPIF--
-<?php # vim:ft=php
-# PDOTEST_DSN=sqlite::memory: REDIR_TEST_DIR=ext/pdo/tests/ TEST_PHP_EXECUTABLE=sapi/cli/php sapi/cli/php run-tests.php ext/pdo/tests/pdo_038.phpt
-if (!extension_loaded('pdo')) die('skip');
-$dir = getenv('REDIR_TEST_DIR');
-if (false == $dir) die('skip no driver');
-require_once $dir . 'pdo_test.inc';
-PDOTest::skip();
-?>
---FILE--
-<?php
-if (getenv('REDIR_TEST_DIR') === false) putenv('REDIR_TEST_DIR='.dirname(__FILE__) . '/../../pdo/tests/');
-require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
-$db = PDOTest::factory();
-
-$calories = 150;
-$colour = 'red';
-$tf = true;
-$n = null;
-$lob = str_repeat('a',1000);
-$dob = '1978-10-17';
-
-$errmode = $db->getAttribute(PDO::ATTR_ERRMODE);
-$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
-$db->exec("DROP table bug_52384");
-$db->setAttribute(PDO::ATTR_ERRMODE, $errmode);
-$db->exec("CREATE table bug_52384 (calories int, colour varchar(64), tf int, n int, lob varchar(255), dob varchar(255))");
-
-$sth = $db->prepare('SELECT 1 FROM bug_52384 WHERE calories=:calories AND colour=:colour AND tf=:tf AND n=:n AND lob=:lob AND dob=:dob');
-$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
-$sth->bindValue(':colour', $colour, PDO::PARAM_STR);
-$sth->bindValue(':tf', $tf, PDO::PARAM_BOOL);
-$sth->bindValue(':n', $n, PDO::PARAM_NULL);
-$sth->bindValue(':lob', $lob, PDO::PARAM_LOB);
-$sth->bindValue(':dob', $dob, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT);
-
-$sth->debugDumpParams();
-unset($dbh);
-?>
---EXPECT--
-SQL: [113] SELECT 1 FROM bug_52384 WHERE calories=:calories AND colour=:colour AND tf=:tf AND n=:n AND lob=:lob AND dob=:dob
-Params: 6
-Key: Name: [9] :calories
-paramno=-1
-name=[9] ":calories"
-is_param=1
-param_type=1
-is_input_output=0
-param_value=150
-Key: Name: [7] :colour
-paramno=-1
-name=[7] ":colour"
-is_param=1
-param_type=2
-is_input_output=0
-param_value=red
-Key: Name: [3] :tf
-paramno=-1
-name=[3] ":tf"
-is_param=1
-param_type=5
-is_input_output=0
-param_value=true
-Key: Name: [2] :n
-paramno=-1
-name=[2] ":n"
-is_param=1
-param_type=0
-is_input_output=0
-param_value=null
-Key: Name: [4] :lob
-paramno=-1
-name=[4] ":lob"
-is_param=1
-param_type=3
-is_input_output=0
-param_value=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-Key: Name: [4] :dob
-paramno=-1
-name=[4] ":dob"
-is_param=1
-param_type=2
-is_input_output=1
-param_value=1978-10-17
-