From: Ilia Alshanetsky Date: Tue, 17 May 2005 01:41:51 +0000 (+0000) Subject: As per PDO meeting on PHP|Tropics fetchSingle is being renamed to X-Git-Tag: php-5.0.1b1~229 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=def27b9959365ab6f50e6a5db9be7abc5cea52a0;p=php As per PDO meeting on PHP|Tropics fetchSingle is being renamed to fetchColumn and now supports specification of the column to retrieve. --- diff --git a/ext/pdo/pdo_sql_parser.c b/ext/pdo/pdo_sql_parser.c index d25161ba41..1b59014489 100644 --- a/ext/pdo/pdo_sql_parser.c +++ b/ext/pdo/pdo_sql_parser.c @@ -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 "" +#line 65 "" 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 "" +#line 81 "" 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 "" +#line 94 "" yy11: ++YYCURSOR; goto yy12; yy12: #line 64 "pdo_sql_parser.re" { RET(PDO_PARSER_EOI); } -#line 94 "" +#line 100 "" 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 "" +#line 113 "" 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 "" +#line 144 "" 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 "" +#line 173 "" } #line 65 "pdo_sql_parser.re" diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index fade85d0de..1e83b34b63 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -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)