summaryrefslogtreecommitdiff
path: root/ext/pdo/pdo_sql_parser.c
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2005-07-12 03:20:08 +0000
committerWez Furlong <wez@php.net>2005-07-12 03:20:08 +0000
commit0562581de89cd7bedd4b572b5204f60f3ad6a22f (patch)
tree9e4c50a9e88be7f2d8efe8151006d564c6c22efb /ext/pdo/pdo_sql_parser.c
parent9240c5f5216d289a4162bfd112774bb21566db62 (diff)
downloadphp-git-0562581de89cd7bedd4b572b5204f60f3ad6a22f.tar.gz
touch generated file
Diffstat (limited to 'ext/pdo/pdo_sql_parser.c')
-rw-r--r--ext/pdo/pdo_sql_parser.c74
1 files changed, 40 insertions, 34 deletions
diff --git a/ext/pdo/pdo_sql_parser.c b/ext/pdo/pdo_sql_parser.c
index 6009d1a5e8..635f9dbdb8 100644
--- a/ext/pdo/pdo_sql_parser.c
+++ b/ext/pdo/pdo_sql_parser.c
@@ -1,5 +1,5 @@
-/* Generated by re2c 0.9.8 on Fri Jul 8 22:33:49 2005 */
-#line 1 "ext/pdo/pdo_sql_parser.re"
+/* Generated by re2c 0.9.3 on Mon Jul 11 23:09:09 2005 */
+#line 1 "../pdo/pdo_sql_parser.re"
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
@@ -46,21 +46,21 @@ static int scan(Scanner *s)
char *cursor = s->cur;
s->tok = cursor;
- #line 55 "ext/pdo/pdo_sql_parser.re"
+ #line 55 "../pdo/pdo_sql_parser.re"
-#line 54 "ext/pdo/pdo_sql_parser.c"
+#line 7 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
goto yy0;
- ++YYCURSOR;
+yy1: ++YYCURSOR;
yy0:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
switch(yych){
- case 0x00: goto yy11;
+ case '\000': goto yy11;
case '"': goto yy2;
case '\'': goto yy4;
case ':': goto yy5;
@@ -69,16 +69,16 @@ yy0:
}
yy2: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych >= 0x01) goto yy24;
+ if(yych >= '\001') goto yy24;
goto yy3;
yy3:
-#line 62 "ext/pdo/pdo_sql_parser.re"
+#line 62 "../pdo/pdo_sql_parser.re"
{ RET(PDO_PARSER_TEXT); }
-#line 78 "ext/pdo/pdo_sql_parser.c"
+#line 31 "<stdout>"
yy4: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch(yych){
- case 0x00: case '"': goto yy3;
+ case '\000': case '"': goto yy3;
default: goto yy17;
}
yy5: yych = *++YYCURSOR;
@@ -148,27 +148,27 @@ yy5: yych = *++YYCURSOR;
yy6: ++YYCURSOR;
goto yy7;
yy7:
-#line 61 "ext/pdo/pdo_sql_parser.re"
+#line 61 "../pdo/pdo_sql_parser.re"
{ RET(PDO_PARSER_BIND_POS); }
-#line 154 "ext/pdo/pdo_sql_parser.c"
+#line 107 "<stdout>"
yy8: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
goto yy9;
yy9: switch(yych){
- case 0x00: case '"': case '\'': case ':': case '?': goto yy10;
+ case '\000': case '"': case '\'': case ':': case '?': goto yy10;
default: goto yy8;
}
yy10:
-#line 63 "ext/pdo/pdo_sql_parser.re"
+#line 63 "../pdo/pdo_sql_parser.re"
{ RET(PDO_PARSER_TEXT); }
-#line 166 "ext/pdo/pdo_sql_parser.c"
+#line 120 "<stdout>"
yy11: ++YYCURSOR;
goto yy12;
yy12:
-#line 64 "ext/pdo/pdo_sql_parser.re"
+#line 64 "../pdo/pdo_sql_parser.re"
{ RET(PDO_PARSER_EOI); }
-#line 172 "ext/pdo/pdo_sql_parser.c"
+#line 126 "<stdout>"
yy13: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
@@ -237,15 +237,15 @@ yy14: switch(yych){
default: goto yy15;
}
yy15:
-#line 60 "ext/pdo/pdo_sql_parser.re"
+#line 60 "../pdo/pdo_sql_parser.re"
{ RET(PDO_PARSER_BIND); }
-#line 243 "ext/pdo/pdo_sql_parser.c"
+#line 198 "<stdout>"
yy16: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
goto yy17;
yy17: switch(yych){
- case 0x00: case '"': goto yy18;
+ case '\000': case '"': goto yy18;
case '\'': goto yy19;
case '\\': goto yy22;
default: goto yy16;
@@ -261,15 +261,15 @@ yy19: yyaccept = 1;
yych = *YYCURSOR;
goto yy20;
yy20: switch(yych){
- case 0x00: case '"': goto yy21;
+ case '\000': case '"': goto yy21;
case '\'': goto yy19;
case '\\': goto yy22;
default: goto yy16;
}
yy21:
-#line 59 "ext/pdo/pdo_sql_parser.re"
+#line 59 "../pdo/pdo_sql_parser.re"
{ RET(PDO_PARSER_TEXT); }
-#line 273 "ext/pdo/pdo_sql_parser.c"
+#line 229 "<stdout>"
yy22: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
@@ -282,7 +282,7 @@ yy23: ++YYCURSOR;
yych = *YYCURSOR;
goto yy24;
yy24: switch(yych){
- case 0x00: goto yy18;
+ case '\000': goto yy18;
case '"': goto yy26;
case '\\': goto yy25;
default: goto yy23;
@@ -297,11 +297,11 @@ yy25: ++YYCURSOR;
yy26: ++YYCURSOR;
goto yy27;
yy27:
-#line 58 "ext/pdo/pdo_sql_parser.re"
+#line 58 "../pdo/pdo_sql_parser.re"
{ RET(PDO_PARSER_TEXT); }
-#line 303 "ext/pdo/pdo_sql_parser.c"
+#line 262 "<stdout>"
}
-#line 65 "ext/pdo/pdo_sql_parser.re"
+#line 65 "../pdo/pdo_sql_parser.re"
}
@@ -516,9 +516,15 @@ rewrite:
/* 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);
@@ -526,18 +532,18 @@ rewrite:
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;