[PHP-CVS] cvs: php-src /ext/pdo pdo_stmt.c /ext/pdo_sqlite/tests debugdumpparams_001.phpt

2008-11-05 Thread Felipe Pena
felipe  Wed Nov  5 23:39:09 2008 UTC

  Modified files:  
/php-src/ext/pdopdo_stmt.c 
/php-src/ext/pdo_sqlite/tests   debugdumpparams_001.phpt 
  Log:
  - Fixed wrong check
  - Improved test
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_stmt.c?r1=1.207r2=1.208diff_format=u
Index: php-src/ext/pdo/pdo_stmt.c
diff -u php-src/ext/pdo/pdo_stmt.c:1.207 php-src/ext/pdo/pdo_stmt.c:1.208
--- php-src/ext/pdo/pdo_stmt.c:1.207Mon Nov  3 23:43:51 2008
+++ php-src/ext/pdo/pdo_stmt.c  Wed Nov  5 23:39:09 2008
@@ -18,7 +18,7 @@
   +--+
 */
 
-/* $Id: pdo_stmt.c,v 1.207 2008/11/03 23:43:51 felipe Exp $ */
+/* $Id: pdo_stmt.c,v 1.208 2008/11/05 23:39:09 felipe Exp $ */
 
 /* The PDO Statement Handle Class */
 
@@ -2200,14 +2200,14 @@
uint len;
ulong num;
 
-   if (zend_hash_get_current_key_ex(stmt-bound_params, 
str, len, num, 0, pos) == HASH_KEY_IS_STRING) {
-   php_stream_printf(out TSRMLS_CC, Key: Position 
#%d:\n, num);
+   if (zend_hash_get_current_key_ex(stmt-bound_params, 
str, len, num, 0, pos) == HASH_KEY_IS_LONG) {
+   php_stream_printf(out TSRMLS_CC, Key: Position 
#%ld:\n, num);
} else {
php_stream_printf(out TSRMLS_CC, Key: Name: 
[%d] %.*s\n, len, len, str);
}
 
-   php_stream_printf(out TSRMLS_CC, paramno=%d\nname=[%d] 
%.*s\nis_param=%d\nparam_type=%d\n,
-   param-paramno, param-namelen, param-namelen, 
param-name,
+   php_stream_printf(out TSRMLS_CC, paramno=%d\nname=[%d] 
\%.*s\\nis_param=%d\nparam_type=%d\n,
+   param-paramno, param-namelen, param-namelen, 
param-name ? param-name : ,
param-is_param,
param-param_type);

http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_sqlite/tests/debugdumpparams_001.phpt?r1=1.1r2=1.2diff_format=u
Index: php-src/ext/pdo_sqlite/tests/debugdumpparams_001.phpt
diff -u php-src/ext/pdo_sqlite/tests/debugdumpparams_001.phpt:1.1 
php-src/ext/pdo_sqlite/tests/debugdumpparams_001.phpt:1.2
--- php-src/ext/pdo_sqlite/tests/debugdumpparams_001.phpt:1.1   Mon Nov  3 
20:45:43 2008
+++ php-src/ext/pdo_sqlite/tests/debugdumpparams_001.phpt   Wed Nov  5 
23:39:09 2008
@@ -9,23 +9,29 @@
 
 $db = new pdo('sqlite:memory');
 
-$x= $db-prepare('select :a, :b');
+$x= $db-prepare('select :a, :b, ?');
 $x-bindValue(':a', 1, PDO::PARAM_INT);
 $x-bindValue(':b', 'foo');
+$x-bindValue(3, 1313);
 var_dump($x-debugDumpParams());
 
 ?
 --EXPECT--
-SQL: [13] select :a, :b
-Params:  2
-Key: Position #0:
+SQL: [16] select :a, :b, ?
+Params:  3
+Key: Name: [2] :a
 paramno=-1
-name=[2] :a
+name=[2] :a
 is_param=1
 param_type=1
-Key: Position #0:
+Key: Name: [2] :b
 paramno=-1
-name=[2] :b
+name=[2] :b
+is_param=1
+param_type=2
+Key: Position #2:
+paramno=2
+name=[0] 
 is_param=1
 param_type=2
 NULL



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/pdo pdo_stmt.c /ext/pdo_sqlite/tests debugdumpparams_001.phpt

2008-11-03 Thread Felipe Pena
felipe  Mon Nov  3 20:45:43 2008 UTC

  Added files: 
/php-src/ext/pdo_sqlite/tests   debugdumpparams_001.phpt 

  Modified files:  
/php-src/ext/pdopdo_stmt.c 
  Log:
  - Fixed endless loop in PDOStatement::debugDumpParams()
patch by: Jonah H. Harris jonah.harris at gmail dot com
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_stmt.c?r1=1.205r2=1.206diff_format=u
Index: php-src/ext/pdo/pdo_stmt.c
diff -u php-src/ext/pdo/pdo_stmt.c:1.205 php-src/ext/pdo/pdo_stmt.c:1.206
--- php-src/ext/pdo/pdo_stmt.c:1.205Mon Nov  3 15:31:51 2008
+++ php-src/ext/pdo/pdo_stmt.c  Mon Nov  3 20:45:43 2008
@@ -18,7 +18,7 @@
   +--+
 */
 
-/* $Id: pdo_stmt.c,v 1.205 2008/11/03 15:31:51 felipe Exp $ */
+/* $Id: pdo_stmt.c,v 1.206 2008/11/03 20:45:43 felipe Exp $ */
 
 /* The PDO Statement Handle Class */
 
@@ -2211,6 +2211,7 @@
param-is_param,
param-param_type);

+   zend_hash_move_forward_ex(stmt-bound_params, pos);
}
}
 

http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_sqlite/tests/debugdumpparams_001.phpt?view=markuprev=1.1
Index: php-src/ext/pdo_sqlite/tests/debugdumpparams_001.phpt
+++ php-src/ext/pdo_sqlite/tests/debugdumpparams_001.phpt
--TEST--
Testing PDOStatement::debugDumpParams() with bound params
--SKIPIF--
?php
if (!extension_loaded('pdo_sqlite')) print 'skip not loaded';
?
--FILE--
?php

$db = new pdo('sqlite:memory');

$x= $db-prepare('select :a, :b');
$x-bindValue(':a', 1, PDO::PARAM_INT);
$x-bindValue(':b', 'foo');
var_dump($x-debugDumpParams());

?
--EXPECT--
SQL: [13] select :a, :b
Params:  2
Key: Position #0:
paramno=-1
name=[2] :a
is_param=1
param_type=1
Key: Position #0:
paramno=-1
name=[2] :b
is_param=1
param_type=2
NULL



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php