]> granicus.if.org Git - php/commitdiff
As per PDO meeting on PHP|Tropics fetchSingle is being renamed to
authorIlia Alshanetsky <iliaa@php.net>
Tue, 17 May 2005 01:41:51 +0000 (01:41 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Tue, 17 May 2005 01:41:51 +0000 (01:41 +0000)
fetchColumn and now supports specification of the column to retrieve.

ext/pdo/pdo_sql_parser.c
ext/pdo/pdo_stmt.c

index d25161ba41b989bda5eefe8aafded3b5d51e95c2..1b590144890def6d675ab2e0cad4d97d484dd21c 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.9.4 on Thu Apr 14 09:40:52 2005 */
+/* Generated by re2c 0.9.6 on Thu Apr 14 18:29:11 2005 */
 #line 1 "pdo_sql_parser.re"
 /*
   +----------------------------------------------------------------------+
@@ -89,11 +89,13 @@ static int scan(Scanner *s)
        168, 168, 168, 168, 168, 168, 168, 168, 
        };
        goto yy0;
-yy1:   ++YYCURSOR;
+       ++YYCURSOR;
 yy0:
        if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
        yych = *YYCURSOR;
-       if(yybm[0+yych] & 8)    goto yy8;
+       if(yybm[0+yych] & 8) {
+               goto yy8;
+       }
        if(yych <= 0x00)        goto yy11;
        if(yych <= '&') goto yy2;
        if(yych <= '\'')        goto yy4;
@@ -106,52 +108,60 @@ yy2:      yyaccept = 0;
 yy3:
 #line 62 "pdo_sql_parser.re"
 { RET(PDO_PARSER_TEXT); }
-#line 63 "<stdout>"
+#line 65 "<stdout>"
 yy4:   yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 0x00)        goto yy3;
        if(yych == '"') goto yy3;
        goto yy17;
 yy5:   yych = *++YYCURSOR;
-       if(yybm[0+yych] & 16)   goto yy13;
+       if(yybm[0+yych] & 16) {
+               goto yy13;
+       }
        goto yy3;
 yy6:   ++YYCURSOR;
        goto yy7;
 yy7:
 #line 61 "pdo_sql_parser.re"
 { RET(PDO_PARSER_BIND_POS); }
-#line 77 "<stdout>"
+#line 81 "<stdout>"
 yy8:   ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        goto yy9;
-yy9:   if(yybm[0+yych] & 8)    goto yy8;
+yy9:   if(yybm[0+yych] & 8) {
+               goto yy8;
+       }
        goto yy10;
 yy10:
 #line 63 "pdo_sql_parser.re"
 { RET(PDO_PARSER_TEXT); }
-#line 88 "<stdout>"
+#line 94 "<stdout>"
 yy11:  ++YYCURSOR;
        goto yy12;
 yy12:
 #line 64 "pdo_sql_parser.re"
 { RET(PDO_PARSER_EOI); }
-#line 94 "<stdout>"
+#line 100 "<stdout>"
 yy13:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        goto yy14;
-yy14:  if(yybm[0+yych] & 16)   goto yy13;
+yy14:  if(yybm[0+yych] & 16) {
+               goto yy13;
+       }
        goto yy15;
 yy15:
 #line 60 "pdo_sql_parser.re"
 { RET(PDO_PARSER_BIND); }
-#line 105 "<stdout>"
+#line 113 "<stdout>"
 yy16:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        goto yy17;
-yy17:  if(yybm[0+yych] & 32)   goto yy16;
+yy17:  if(yybm[0+yych] & 32) {
+               goto yy16;
+       }
        if(yych <= '&') goto yy18;
        if(yych <= '\'')        goto yy19;
        goto yy22;
@@ -165,14 +175,16 @@ yy19:     yyaccept = 1;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        goto yy20;
-yy20:  if(yybm[0+yych] & 32)   goto yy16;
+yy20:  if(yybm[0+yych] & 32) {
+               goto yy16;
+       }
        if(yych <= '&') goto yy21;
        if(yych <= '\'')        goto yy19;
        goto yy22;
 yy21:
 #line 59 "pdo_sql_parser.re"
 { RET(PDO_PARSER_TEXT); }
-#line 132 "<stdout>"
+#line 144 "<stdout>"
 yy22:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
@@ -182,7 +194,9 @@ yy23:       ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        goto yy24;
-yy24:  if(yybm[0+yych] & 128)  goto yy23;
+yy24:  if(yybm[0+yych] & 128) {
+               goto yy23;
+       }
        if(yych <= 0x00)        goto yy18;
        if(yych <= '[') goto yy26;
        goto yy25;
@@ -196,7 +210,7 @@ yy26:       ++YYCURSOR;
 yy27:
 #line 58 "pdo_sql_parser.re"
 { RET(PDO_PARSER_TEXT); }
-#line 159 "<stdout>"
+#line 173 "<stdout>"
 }
 #line 65 "pdo_sql_parser.re"
        
index fade85d0ded21733caeddf5750601f0514b1c6b1..1e83b34b639c7411d0213713fa548edf7567c85d 100755 (executable)
@@ -1115,13 +1115,14 @@ static PHP_METHOD(PDOStatement, fetchObject)
 }
 /* }}} */
 
-/* {{{ proto string PDOStatement::fetchSingle()
-   Returns a data of the 1st column in the result set. */
-static PHP_METHOD(PDOStatement, fetchSingle)
+/* {{{ proto string PDOStatement::fetchColumn([int column_number])
+   Returns a data of the specified column in the result set. */
+static PHP_METHOD(PDOStatement, fetchColumn)
 {
        pdo_stmt_t *stmt = (pdo_stmt_t*)zend_object_store_get_object(getThis() TSRMLS_CC);
+       long col_n = 0;
 
-       if (ZEND_NUM_ARGS()) {
+       if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &col_n)) {
                RETURN_FALSE;
        }
 
@@ -1132,7 +1133,7 @@ static PHP_METHOD(PDOStatement, fetchSingle)
                RETURN_FALSE;
        }
 
-       fetch_value(stmt, return_value, 0 TSRMLS_CC);
+       fetch_value(stmt, return_value, col_n TSRMLS_CC);
 }
 /* }}} */
 
@@ -1656,7 +1657,7 @@ function_entry pdo_dbstmt_functions[] = {
        PHP_ME(PDOStatement, bindParam,         second_arg_force_ref,   ZEND_ACC_PUBLIC)
        PHP_ME(PDOStatement, bindColumn,        second_arg_force_ref,   ZEND_ACC_PUBLIC)
        PHP_ME(PDOStatement, rowCount,          NULL,                                   ZEND_ACC_PUBLIC)
-       PHP_ME(PDOStatement, fetchSingle,       NULL,                                   ZEND_ACC_PUBLIC)
+       PHP_ME(PDOStatement, fetchColumn,       NULL,                                   ZEND_ACC_PUBLIC)
        PHP_ME(PDOStatement, fetchAll,          NULL,                                   ZEND_ACC_PUBLIC)
        PHP_ME(PDOStatement, fetchObject,       NULL,                                   ZEND_ACC_PUBLIC)
        PHP_ME(PDOStatement, errorCode,         NULL,                                   ZEND_ACC_PUBLIC)