[PHP-CVS] cvs: php-src /ext/pdo pdo_sql_parser.re /ext/phar phar_path_check.re

2008-12-31 Thread Sebastian Bergmann
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

2008-03-22 Thread Felipe Pena
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

2007-12-30 Thread Sebastian Bergmann
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

2005-09-03 Thread Edin Kadribasic
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

2005-07-18 Thread Wez Furlong
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

2005-07-11 Thread Wez Furlong
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

2005-07-08 Thread Wez Furlong
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

2005-07-08 Thread Wez Furlong
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

2005-04-14 Thread Ilia Alshanetsky
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

2005-02-26 Thread Wez Furlong
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

2005-02-26 Thread Wez Furlong
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