[PHP-CVS] cvs: php-src /ext/pdo pdo_sql_parser.re /ext/phar phar_path_check.re
sebastian Wed Dec 31 11:10:02 2008 UTC Modified files: /php-src/ext/pdopdo_sql_parser.re /php-src/ext/phar phar_path_check.re Log: Bump copyright year, 2 of 3. http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_sql_parser.re?r1=1.48&r2=1.49&diff_format=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.48 php-src/ext/pdo/pdo_sql_parser.re:1.49 --- php-src/ext/pdo/pdo_sql_parser.re:1.48 Thu Nov 13 18:14:31 2008 +++ php-src/ext/pdo/pdo_sql_parser.re Wed Dec 31 11:10:02 2008 @@ -2,7 +2,7 @@ +--+ | PHP Version 5| +--+ - | Copyright (c) 1997-2008 The PHP Group| + | Copyright (c) 1997-2009 The PHP Group| +--+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is| @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_sql_parser.re,v 1.48 2008/11/13 18:14:31 felipe Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.49 2008/12/31 11:10:02 sebastian Exp $ */ #include "php.h" #include "php_pdo_driver.h" http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar_path_check.re?r1=1.9&r2=1.10&diff_format=u Index: php-src/ext/phar/phar_path_check.re diff -u php-src/ext/phar/phar_path_check.re:1.9 php-src/ext/phar/phar_path_check.re:1.10 --- php-src/ext/phar/phar_path_check.re:1.9 Fri Aug 1 13:45:05 2008 +++ php-src/ext/phar/phar_path_check.re Wed Dec 31 11:10:02 2008 @@ -2,7 +2,7 @@ +--+ | phar php single-file executable PHP extension| +--+ - | Copyright (c) 2007-2008 The PHP Group| + | Copyright (c) 2007-2009 The PHP Group| +--+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is| @@ -16,7 +16,7 @@ +--+ */ -/* $Id: phar_path_check.re,v 1.9 2008/08/01 13:45:05 sfox Exp $ */ +/* $Id: phar_path_check.re,v 1.10 2008/12/31 11:10:02 sebastian Exp $ */ #include "phar_internal.h" -- 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_sql_parser.re /ext/pdo_sqlite sqlite_statement.c /ext/sqlite pdo_sqlite2.c /ext/standard exec.c
felipe Sat Mar 22 20:37:08 2008 UTC Modified files: /php-src/ext/pdopdo_sql_parser.re /php-src/ext/pdo_sqlite sqlite_statement.c /php-src/ext/sqlite pdo_sqlite2.c /php-src/ext/standard exec.c Log: - Fixed compilation warnings http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_sql_parser.re?r1=1.43&r2=1.44&diff_format=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.43 php-src/ext/pdo/pdo_sql_parser.re:1.44 --- php-src/ext/pdo/pdo_sql_parser.re:1.43 Mon Dec 31 07:09:33 2007 +++ php-src/ext/pdo/pdo_sql_parser.re Sat Mar 22 20:37:08 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_sql_parser.re,v 1.43 2007/12/31 07:09:33 sebastian Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.44 2008/03/22 20:37:08 felipe Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -205,7 +205,7 @@ size_t len; char *buf = NULL; - len = php_stream_copy_to_mem(stm, &buf, PHP_STREAM_COPY_ALL, 0); + len = php_stream_copy_to_mem(stm, (void *)&buf, PHP_STREAM_COPY_ALL, 0); if (!stmt->dbh->methods->quoter(stmt->dbh, buf, len, &plc->quoted, &plc->qlen, param->param_type TSRMLS_CC)) { /* bork */ http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_sqlite/sqlite_statement.c?r1=1.25&r2=1.26&diff_format=u Index: php-src/ext/pdo_sqlite/sqlite_statement.c diff -u php-src/ext/pdo_sqlite/sqlite_statement.c:1.25 php-src/ext/pdo_sqlite/sqlite_statement.c:1.26 --- php-src/ext/pdo_sqlite/sqlite_statement.c:1.25 Fri Mar 7 17:02:48 2008 +++ php-src/ext/pdo_sqlite/sqlite_statement.c Sat Mar 22 20:37:08 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: sqlite_statement.c,v 1.25 2008/03/07 17:02:48 scottmac Exp $ */ +/* $Id: sqlite_statement.c,v 1.26 2008/03/22 20:37:08 felipe Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -127,7 +127,7 @@ SEPARATE_ZVAL(¶m->parameter); Z_TYPE_P(param->parameter) = IS_STRING; Z_STRLEN_P(param->parameter) = php_stream_copy_to_mem(stm, - &Z_STRVAL_P(param->parameter), PHP_STREAM_COPY_ALL, 0); + (void *)&Z_STRVAL_P(param->parameter), PHP_STREAM_COPY_ALL, 0); } else { pdo_raise_impl_error(stmt->dbh, stmt, "HY105", "Expected a stream resource" TSRMLS_CC); return 0; http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite/pdo_sqlite2.c?r1=1.17&r2=1.18&diff_format=u Index: php-src/ext/sqlite/pdo_sqlite2.c diff -u php-src/ext/sqlite/pdo_sqlite2.c:1.17 php-src/ext/sqlite/pdo_sqlite2.c:1.18 --- php-src/ext/sqlite/pdo_sqlite2.c:1.17 Mon Dec 31 07:12:15 2007 +++ php-src/ext/sqlite/pdo_sqlite2.cSat Mar 22 20:37:08 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_sqlite2.c,v 1.17 2007/12/31 07:12:15 sebastian Exp $ */ +/* $Id: pdo_sqlite2.c,v 1.18 2008/03/22 20:37:08 felipe Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -374,7 +374,7 @@ } } -static char *pdo_sqlite2_last_insert_id(pdo_dbh_t *dbh, const char *name, unsigned int *len TSRMLS_DC) +static char *pdo_sqlite2_last_insert_id(pdo_dbh_t *dbh, const char *name, int *len TSRMLS_DC) { pdo_sqlite2_db_handle *H = (pdo_sqlite2_db_handle *)dbh->driver_data; char *id; @@ -515,7 +515,8 @@ pdo_sqlite2_fetch_error_func, pdo_sqlite2_get_attribute, NULL, /* check_liveness: not needed */ - get_driver_methods + get_driver_methods, + NULL }; static char *make_filename_safe(const char *filename TSRMLS_DC) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/exec.c?r1=1.130&r2=1.131&diff_format=u Index: php-src/ext/standard/exec.c diff -u php-src/ext/standard/exec.c:1.130 php-src/ext/standard/exec.c:1.131 --- php-src/ext/standard/exec.c:1.130 Fri Mar 21 08:28:09 2008 +++ php-src/ext/standard/exec.c Sat Mar 22 20:37:08 2008 @@ -16,7 +16,7 @@ | Ilia Alshanetsky <[EMAIL PROTECTED]> | +---
[PHP-CVS] cvs: php-src /ext/pdo pdo_sql_parser.re
sebastian Mon Dec 31 07:09:34 2007 UTC Modified files: /php-src/ext/pdopdo_sql_parser.re Log: Bump copyright year, 1 of 2. http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_sql_parser.re?r1=1.42&r2=1.43&diff_format=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.42 php-src/ext/pdo/pdo_sql_parser.re:1.43 --- php-src/ext/pdo/pdo_sql_parser.re:1.42 Mon Nov 26 21:10:18 2007 +++ php-src/ext/pdo/pdo_sql_parser.re Mon Dec 31 07:09:33 2007 @@ -2,7 +2,7 @@ +--+ | PHP Version 5| +--+ - | Copyright (c) 1997-2007 The PHP Group| + | Copyright (c) 1997-2008 The PHP Group| +--+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is| @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_sql_parser.re,v 1.42 2007/11/26 21:10:18 iliaa Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.43 2007/12/31 07:09:33 sebastian Exp $ */ #include "php.h" #include "php_pdo_driver.h" -- 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_sql_parser.re
edink Sat Sep 3 20:58:23 2005 EDT Modified files: /php-src/ext/pdopdo_sql_parser.re Log: MFB http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_sql_parser.re?r1=1.28&r2=1.29&ty=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.28 php-src/ext/pdo/pdo_sql_parser.re:1.29 --- php-src/ext/pdo/pdo_sql_parser.re:1.28 Wed Aug 3 10:07:38 2005 +++ php-src/ext/pdo/pdo_sql_parser.re Sat Sep 3 20:58:21 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_sql_parser.re,v 1.28 2005/08/03 14:07:38 sniper Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.29 2005/09/04 00:58:21 edink Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -56,7 +56,7 @@ /*!re2c (["] (ESCQQ|ANYNOEOF\[\\"])* ["]) { RET(PDO_PARSER_TEXT); } - (['] (ESCQ|ANYNOEOF\[\\"])* [']){ RET(PDO_PARSER_TEXT); } + (['] (ESCQ|ANYNOEOF\[\\'])* [']){ RET(PDO_PARSER_TEXT); } SPECIALS{2,} { RET(PDO_PARSER_TEXT); } BINDCHR { RET(PDO_PARSER_BIND); } QUESTION { RET(PDO_PARSER_BIND_POS); } -- 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_sql_parser.re
wez Mon Jul 18 10:44:14 2005 EDT Modified files: /php-src/ext/pdopdo_sql_parser.re Log: avoid :: when looking for named parameters. Refs Bug #33736. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_sql_parser.re?r1=1.26&r2=1.27&ty=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.26 php-src/ext/pdo/pdo_sql_parser.re:1.27 --- php-src/ext/pdo/pdo_sql_parser.re:1.26 Mon Jul 11 23:19:44 2005 +++ php-src/ext/pdo/pdo_sql_parser.re Mon Jul 18 10:44:14 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_sql_parser.re,v 1.26 2005/07/12 03:19:44 wez Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.27 2005/07/18 14:44:14 wez Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -57,11 +57,12 @@ /*!re2c (["] (ESCQQ|ANYNOEOF\[\\"])* ["]) { RET(PDO_PARSER_TEXT); } (['] (ESCQ|ANYNOEOF\[\\"])* [']){ RET(PDO_PARSER_TEXT); } - BINDCHR { RET(PDO_PARSER_BIND); } - QUESTION{ RET(PDO_PARSER_BIND_POS); } - SPECIALS{ RET(PDO_PARSER_TEXT); } - (ANYNOEOF\SPECIALS)+ { RET(PDO_PARSER_TEXT); } - EOF { RET(PDO_PARSER_EOI); } + SPECIALS{2,} { RET(PDO_PARSER_TEXT); } + BINDCHR { RET(PDO_PARSER_BIND); } + QUESTION { RET(PDO_PARSER_BIND_POS); } + SPECIALS { RET(PDO_PARSER_TEXT); } + (ANYNOEOF\SPECIALS)+{ RET(PDO_PARSER_TEXT); } + EOF { RET(PDO_PARSER_EOI); } */ } -- 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_sql_parser.re pdo_stmt.c
wez Mon Jul 11 23:19:44 2005 EDT Modified files: /php-src/ext/pdopdo_stmt.c pdo_sql_parser.re Log: remember ? -> :pdox mapping so that binds by position can be mapped to names if required. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_stmt.c?r1=1.110&r2=1.111&ty=u Index: php-src/ext/pdo/pdo_stmt.c diff -u php-src/ext/pdo/pdo_stmt.c:1.110 php-src/ext/pdo/pdo_stmt.c:1.111 --- php-src/ext/pdo/pdo_stmt.c:1.110Mon Jul 11 22:40:59 2005 +++ php-src/ext/pdo/pdo_stmt.c Mon Jul 11 23:19:44 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_stmt.c,v 1.110 2005/07/12 02:40:59 wez Exp $ */ +/* $Id: pdo_stmt.c,v 1.111 2005/07/12 03:19:44 wez Exp $ */ /* The PDO Statement Handle Class */ @@ -92,7 +92,14 @@ return 1; } if (!param->name) { - return 1; + /* do the reverse; map the parameter number to the name */ + if (SUCCESS == zend_hash_index_find(stmt->bound_param_map, param->paramno, (void**)&name)) { + param->name = estrdup(name); + param->namelen = strlen(param->name); + return 1; + } + pdo_raise_impl_error(stmt->dbh, stmt, "HY093", "parameter was not defined" TSRMLS_CC); + return 0; } zend_hash_internal_pointer_reset(stmt->bound_param_map); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_sql_parser.re?r1=1.25&r2=1.26&ty=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.25 php-src/ext/pdo/pdo_sql_parser.re:1.26 --- php-src/ext/pdo/pdo_sql_parser.re:1.25 Fri Jul 8 16:35:41 2005 +++ php-src/ext/pdo/pdo_sql_parser.re Mon Jul 11 23:19:44 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_sql_parser.re,v 1.25 2005/07/08 20:35:41 helly Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.26 2005/07/12 03:19:44 wez Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -276,9 +276,15 @@ /* rewrite ? to :pdoX */ char idxbuf[32]; const char *tmpl = stmt->named_rewrite_template ? stmt->named_rewrite_template : ":pdo%d"; + char *name; newbuffer_len = inquery_len; + if (stmt->bound_param_map == NULL) { + ALLOC_HASHTABLE(stmt->bound_param_map); + zend_hash_init(stmt->bound_param_map, 13, NULL, NULL, 0); + } + for (plc = placeholders; plc; plc = plc->next) { snprintf(idxbuf, sizeof(idxbuf), tmpl, plc->bindno + 1); plc->quoted = estrdup(idxbuf); @@ -286,18 +292,18 @@ plc->freeq = 1; newbuffer_len += plc->qlen; + name = estrndup(plc->pos, plc->len); + if (stmt->named_rewrite_template) { /* create a mapping */ - char *name = estrndup(plc->pos, plc->len); - if (stmt->bound_param_map == NULL) { - ALLOC_HASHTABLE(stmt->bound_param_map); - zend_hash_init(stmt->bound_param_map, 13, NULL, NULL, 0); - } - zend_hash_update(stmt->bound_param_map, name, plc->len + 1, idxbuf, plc->qlen + 1, NULL); - efree(name); } + + /* map number to name */ + zend_hash_index_update(stmt->bound_param_map, plc->bindno, idxbuf, plc->qlen + 1, NULL); + + efree(name); } goto rewrite; -- 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_sql_parser.re pdo_stmt.c
wez Fri Jul 8 13:00:34 2005 EDT Modified files: /php-src/ext/pdopdo_sql_parser.re pdo_stmt.c Log: For named-parameter-to-named-parameter rewrites, we need to map the original names to the new names. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_sql_parser.re?r1=1.23&r2=1.24&ty=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.23 php-src/ext/pdo/pdo_sql_parser.re:1.24 --- php-src/ext/pdo/pdo_sql_parser.re:1.23 Fri Jul 8 11:24:21 2005 +++ php-src/ext/pdo/pdo_sql_parser.re Fri Jul 8 13:00:28 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_sql_parser.re,v 1.23 2005/07/08 15:24:21 wez Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.24 2005/07/08 17:00:28 wez Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -285,6 +285,19 @@ plc->qlen = strlen(plc->quoted); plc->freeq = 1; newbuffer_len += plc->qlen; + + if (stmt->named_rewrite_template) { + /* create a mapping */ + char *name = estrndup(plc->pos, plc->len); + + if (stmt->bound_param_map == NULL) { + ALLOC_HASHTABLE(stmt->bound_param_map); + zend_hash_init(stmt->bound_param_map, 13, NULL, NULL, 0); + } + + zend_hash_update(stmt->bound_param_map, name, plc->len + 1, idxbuf, plc->qlen + 1, NULL); + efree(name); + } } goto rewrite; http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_stmt.c?r1=1.106&r2=1.107&ty=u Index: php-src/ext/pdo/pdo_stmt.c diff -u php-src/ext/pdo/pdo_stmt.c:1.106 php-src/ext/pdo/pdo_stmt.c:1.107 --- php-src/ext/pdo/pdo_stmt.c:1.106Fri Jul 8 11:25:15 2005 +++ php-src/ext/pdo/pdo_stmt.c Fri Jul 8 13:00:28 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_stmt.c,v 1.106 2005/07/08 15:25:15 wez Exp $ */ +/* $Id: pdo_stmt.c,v 1.107 2005/07/08 17:00:28 wez Exp $ */ /* The PDO Statement Handle Class */ @@ -86,6 +86,12 @@ * driver */ char *name; int position = 0; + + if (stmt->named_rewrite_template) { + /* this is not an error here */ + return 1; + } + zend_hash_internal_pointer_reset(stmt->bound_param_map); while (SUCCESS == zend_hash_get_current_data(stmt->bound_param_map, (void**)&name)) { if (strcmp(name, param->name)) { -- 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_sql_parser.re php_pdo_driver.h
wez Fri Jul 8 11:24:22 2005 EDT Modified files: /php-src/ext/pdopdo_sql_parser.re php_pdo_driver.h Log: add a bit of a hack to cater for pgsql prepared statements. These are effectively named statements with strong constraints on the naming format. We cater for this in a fairly generic way: allow a driver to replace the format string we use to generate names from positional parameters. In addition, if that format is set, we always force a rewrite from regular names to the strongly enforced names. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_sql_parser.re?r1=1.22&r2=1.23&ty=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.22 php-src/ext/pdo/pdo_sql_parser.re:1.23 --- php-src/ext/pdo/pdo_sql_parser.re:1.22 Thu Apr 14 10:00:39 2005 +++ php-src/ext/pdo/pdo_sql_parser.re Fri Jul 8 11:24:21 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_sql_parser.re,v 1.22 2005/04/14 14:00:39 iliaa Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.23 2005/07/08 15:24:21 wez Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -130,12 +130,22 @@ return -1; } - if (stmt->supports_placeholders == query_type) { + + if (stmt->supports_placeholders == query_type && !stmt->named_rewrite_template) { /* query matches native syntax */ ret = 0; goto clean_up; } + if (stmt->named_rewrite_template) { + /* magic/hack. +* We we pretend that the query was positional even if +* it was named so that we fall into the +* named rewrite case below. Not too pretty, +* but it works. */ + query_type = PDO_PLACEHOLDER_POSITIONAL; + } + params = stmt->bound_params; /* Do we have placeholders but no bound params */ @@ -265,11 +275,12 @@ } else if (query_type == PDO_PLACEHOLDER_POSITIONAL) { /* rewrite ? to :pdoX */ char idxbuf[32]; + const char *tmpl = stmt->named_rewrite_template ? stmt->named_rewrite_template : ":pdo%d"; newbuffer_len = inquery_len; for (plc = placeholders; plc; plc = plc->next) { - snprintf(idxbuf, sizeof(idxbuf), ":pdo%d", plc->bindno); + snprintf(idxbuf, sizeof(idxbuf), tmpl, plc->bindno + 1); plc->quoted = estrdup(idxbuf); plc->qlen = strlen(plc->quoted); plc->freeq = 1; http://cvs.php.net/diff.php/php-src/ext/pdo/php_pdo_driver.h?r1=1.61&r2=1.62&ty=u Index: php-src/ext/pdo/php_pdo_driver.h diff -u php-src/ext/pdo/php_pdo_driver.h:1.61 php-src/ext/pdo/php_pdo_driver.h:1.62 --- php-src/ext/pdo/php_pdo_driver.h:1.61 Fri Jul 8 00:12:58 2005 +++ php-src/ext/pdo/php_pdo_driver.hFri Jul 8 11:24:21 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_pdo_driver.h,v 1.61 2005/07/08 04:12:58 wez Exp $ */ +/* $Id: php_pdo_driver.h,v 1.62 2005/07/08 15:24:21 wez Exp $ */ #ifndef PHP_PDO_DRIVER_H #define PHP_PDO_DRIVER_H @@ -578,6 +578,10 @@ } func; zval *into; } fetch; + + /* used by the query parser for driver specific +* parameter naming (see pgsql driver for example) */ + const char *named_rewrite_template; }; /* call this in MINIT to register your PDO driver */ -- 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_sql_parser.re
iliaa Thu Apr 14 10:00:42 2005 EDT Modified files: /php-src/ext/pdopdo_sql_parser.re Log: Added missing header. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_sql_parser.re?r1=1.21&r2=1.22&ty=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.21 php-src/ext/pdo/pdo_sql_parser.re:1.22 --- php-src/ext/pdo/pdo_sql_parser.re:1.21 Sat Feb 26 11:03:22 2005 +++ php-src/ext/pdo/pdo_sql_parser.re Thu Apr 14 10:00:39 2005 @@ -16,10 +16,11 @@ +--+ */ -/* $Id: pdo_sql_parser.re,v 1.21 2005/02/26 16:03:22 wez Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.22 2005/04/14 14:00:39 iliaa Exp $ */ #include "php.h" #include "php_pdo_driver.h" +#include "php_pdo_int.h" #define PDO_PARSER_TEXT 1 #define PDO_PARSER_BIND 2 -- 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_sql_parser.re
wez Sat Feb 26 11:03:22 2005 EDT Modified files: /php-src/ext/pdopdo_sql_parser.re Log: *cough* http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_sql_parser.re?r1=1.20&r2=1.21&ty=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.20 php-src/ext/pdo/pdo_sql_parser.re:1.21 --- php-src/ext/pdo/pdo_sql_parser.re:1.20 Sat Feb 26 10:44:38 2005 +++ php-src/ext/pdo/pdo_sql_parser.re Sat Feb 26 11:03:22 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_sql_parser.re,v 1.20 2005/02/26 15:44:38 wez Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.21 2005/02/26 16:03:22 wez Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -204,7 +204,7 @@ case IS_DOUBLE: convert_to_string(param->parameter); plc->qlen = Z_STRLEN_P(param->parameter); - plc->quoted = Z_STRLEN_P(param->parameter); + plc->quoted = Z_STRVAL_P(param->parameter); plc->freeq = 0; break; -- 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_sql_parser.re
wez Sat Feb 26 10:44:38 2005 EDT Modified files: /php-src/ext/pdopdo_sql_parser.re Log: fix for PECL #3545 http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_sql_parser.re?r1=1.19&r2=1.20&ty=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.19 php-src/ext/pdo/pdo_sql_parser.re:1.20 --- php-src/ext/pdo/pdo_sql_parser.re:1.19 Sun Feb 13 01:29:35 2005 +++ php-src/ext/pdo/pdo_sql_parser.re Sat Feb 26 10:44:38 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_sql_parser.re,v 1.19 2005/02/13 06:29:35 wez Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.20 2005/02/26 15:44:38 wez Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -189,18 +189,38 @@ ret = -1; goto clean_up; } + plc->freeq = 1; } else { - convert_to_string(param->parameter); - if (!stmt->dbh->methods->quoter(stmt->dbh, Z_STRVAL_P(param->parameter), - Z_STRLEN_P(param->parameter), &plc->quoted, &plc->qlen, - param->param_type TSRMLS_CC)) { - /* bork */ - ret = -1; - strcpy(stmt->error_code, stmt->dbh->error_code); - goto clean_up; + switch (Z_TYPE_P(param->parameter)) { + case IS_NULL: + plc->quoted = "NULL"; + plc->qlen = sizeof("NULL")-1; + plc->freeq = 0; + break; + + case IS_BOOL: + convert_to_long(param->parameter); + case IS_LONG: + case IS_DOUBLE: + convert_to_string(param->parameter); + plc->qlen = Z_STRLEN_P(param->parameter); + plc->quoted = Z_STRLEN_P(param->parameter); + plc->freeq = 0; + break; + + default: + convert_to_string(param->parameter); + if (!stmt->dbh->methods->quoter(stmt->dbh, Z_STRVAL_P(param->parameter), + Z_STRLEN_P(param->parameter), &plc->quoted, &plc->qlen, + param->param_type TSRMLS_CC)) { + /* bork */ + ret = -1; + strcpy(stmt->error_code, stmt->dbh->error_code); + goto clean_up; + } + plc->freeq = 1; } } - plc->freeq = 1; } else { plc->quoted = Z_STRVAL_P(param->parameter); plc->qlen = Z_STRLEN_P(param->parameter); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php