wez Fri Jul 8 13:01:20 2005 EDT Modified files: /php-src/ext/pdo_pgsql pgsql_statement.c Log: rewrite original names to our preferred format http://cvs.php.net/diff.php/php-src/ext/pdo_pgsql/pgsql_statement.c?r1=1.26&r2=1.27&ty=u Index: php-src/ext/pdo_pgsql/pgsql_statement.c diff -u php-src/ext/pdo_pgsql/pgsql_statement.c:1.26 php-src/ext/pdo_pgsql/pgsql_statement.c:1.27 --- php-src/ext/pdo_pgsql/pgsql_statement.c:1.26 Fri Jul 8 12:20:13 2005 +++ php-src/ext/pdo_pgsql/pgsql_statement.c Fri Jul 8 13:01:20 2005 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pgsql_statement.c,v 1.26 2005/07/08 16:20:13 iliaa Exp $ */ +/* $Id: pgsql_statement.c,v 1.27 2005/07/08 17:01:20 wez Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -164,7 +164,19 @@ case PDO_PARAM_EVT_ALLOC: /* decode name from $1, $2 into 0, 1 etc. */ if (param->name) { - param->paramno = atoi(param->name + 1); + if (param->name[0] == '$') { + param->paramno = atoi(param->name + 1); + } else { + /* resolve parameter name to rewritten name */ + char *nameptr; + if (SUCCESS == zend_hash_find(stmt->bound_param_map, + param->name, param->namelen + 1, (void**)&nameptr)) { + param->paramno = atoi(nameptr + 1) - 1; + } else { + pdo_pgsql_error_stmt(stmt, PGRES_FATAL_ERROR, "HY093"); + return 0; + } + } } break; @@ -191,7 +203,6 @@ S->param_lengths[param->paramno] = Z_STRLEN_P(param->parameter); S->param_formats[param->paramno] = 1; } - break; } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php