Commit: 7f05a39fce42029c126d6dc315ffdad43d27c8e9 Author: Pierrick Charron <pierr...@php.net> Sat, 24 Mar 2012 17:59:46 -0400 Parents: 10809686f0dbcbbf0eb06c968d65e0febe1dc034 da2da13f935b2775635cd21b47a78fbf025a462d Branches: PHP-5.4 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=7f05a39fce42029c126d6dc315ffdad43d27c8e9 Log: Merge branch 'PHP-5.3' into PHP-5.4 Changed paths: MM ext/pdo_mysql/mysql_statement.c Diff: 7f05a39fce42029c126d6dc315ffdad43d27c8e9 diff --combined ext/pdo_mysql/mysql_statement.c index 20e67e4,115e74c..0c2689f --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@@ -59,10 -59,12 +59,10 @@@ static int pdo_mysql_stmt_dtor(pdo_stmt pefree(S->einfo.errmsg, stmt->dbh->is_persistent); S->einfo.errmsg = NULL; } -#if HAVE_MYSQL_STMT_PREPARE || PDO_USE_MYSQLND if (S->stmt) { pdo_mysql_stmt_close(S->stmt); S->stmt = NULL; } -#endif /* HAVE_MYSQL_STMT_PREPARE || PDO_USE_MYSQLND */ #ifndef PDO_USE_MYSQLND if (S->params) { @@@ -75,6 -77,9 +75,6 @@@ efree(S->in_length); } -#endif /* PDO_USE_MYSQLND */ - -#ifdef HAVE_MYSQL_STMT_PREPARE if (S->bound_result) { int i; @@@ -86,9 -91,10 +86,9 @@@ efree(S->out_null); efree(S->out_length); } -#endif /* HAVE_MYSQL_STMT_PREPARE */ +#endif -#if HAVE_MYSQL_NEXT_RESULT || PDO_USE_MYSQLND if (S->H->server) { while (mysql_more_results(S->H->server)) { MYSQL_RES *res; @@@ -101,8 -107,8 +101,8 @@@ mysql_free_result(res); } } - } -#endif /* HAVE_MYSQL_NEXT_RESULT || PDO_USE_MYSQLND */ + } + #if PDO_USE_MYSQLND if (!S->stmt && S->current_data) { mnd_free(S->current_data); @@@ -158,7 -164,7 +158,7 @@@ static int pdo_mysql_fill_stmt_from_res } /* }}} */ -#ifdef HAVE_MYSQL_STMT_PREPARE +#ifndef PDO_USE_MYSQLND static int pdo_mysql_stmt_execute_prepared_libmysql(pdo_stmt_t *stmt TSRMLS_DC) /* {{{ */ { pdo_mysql_stmt *S = stmt->driver_data; @@@ -316,13 -322,14 +316,12 @@@ static int pdo_mysql_stmt_execute(pdo_s { pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data; pdo_mysql_db_handle *H = S->H; PDO_DBG_ENTER("pdo_mysql_stmt_execute"); PDO_DBG_INF_FMT("stmt=%p", S->stmt); if (S->stmt) { PDO_DBG_RETURN(pdo_mysql_stmt_execute_prepared(stmt)); } -#endif /* ensure that we free any previous unfetched results */ if (S->result) { @@@ -341,6 -348,7 +340,6 @@@ static int pdo_mysql_stmt_next_rowset(pdo_stmt_t *stmt TSRMLS_DC) /* {{{ */ { -#if HAVE_MYSQL_NEXT_RESULT || PDO_USE_MYSQLND pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data; pdo_mysql_db_handle *H = S->H; long row_count; @@@ -402,7 -410,7 +401,7 @@@ #endif /* ensure that we free any previous unfetched results */ -#if HAVE_MYSQL_STMT_PREPARE +#ifndef PDO_USE_MYSQLND if (S->stmt) { stmt->column_count = (int)mysql_num_fields(S->result); mysql_stmt_free_result(S->stmt); @@@ -424,6 -432,10 +423,6 @@@ } else { PDO_DBG_RETURN(pdo_mysql_fill_stmt_from_result(stmt TSRMLS_CC)); } -#else - strcpy(stmt->error_code, "HYC00"); - PDO_DBG_RETURN(0); -#endif /* HAVE_MYSQL_STMT_PREPARE */ } /* }}} */ @@@ -445,6 -457,7 +444,6 @@@ static int pdo_mysql_stmt_param_hook(pd #ifndef PDO_USE_MYSQLND PDO_MYSQL_PARAM_BIND *b; #endif -#if HAVE_MYSQL_STMT_PREPARE || PDO_USE_MYSQLND pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data; PDO_DBG_ENTER("pdo_mysql_stmt_param_hook"); @@@ -576,7 -589,7 +575,7 @@@ break; } } -#endif /* HAVE_MYSQL_STMT_PREPARE || PDO_USE_MYSQLND */ + PDO_DBG_RETURN(1); } /* }}} */ @@@ -597,6 -610,7 +596,6 @@@ static int pdo_mysql_stmt_fetch(pdo_stm PDO_DBG_RETURN(1); } #else -# if HAVE_MYSQL_STMT_PREPARE int ret; if (S->stmt) { @@@ -617,6 -631,7 +616,6 @@@ PDO_DBG_RETURN(1); } -# endif /* HAVE_MYSQL_STMT_PREPARE */ #endif /* PDO_USE_MYSQLND */ if (!S->result) { @@@ -707,12 -722,15 +706,12 @@@ static int pdo_mysql_stmt_get_col(pdo_s } /* With mysqlnd data is stored inside mysqlnd, not S->current_data */ -#if HAVE_MYSQL_STMT_PREPARE || PDO_USE_MYSQLND if (!S->stmt) { if (S->current_data == NULL || !S->result) { PDO_DBG_RETURN(0); } -#if HAVE_MYSQL_STMT_PREPARE || PDO_USE_MYSQLND } -#endif + if (colno >= stmt->column_count) { /* error invalid column */ PDO_DBG_RETURN(0); @@@ -724,7 -742,7 +723,7 @@@ *len = sizeof(zval); PDO_DBG_RETURN(1); } -#elif HAVE_MYSQL_STMT_PREPARE +#else if (S->stmt) { if (S->out_null[colno]) { *ptr = NULL; @@@ -742,7 -760,7 +741,7 @@@ *len = S->out_length[colno]; PDO_DBG_RETURN(1); } -#endif /* PDO_USE_MYSQLND else HAVE_MYSQL_STMT_PREPARE */ +#endif *ptr = S->current_data[colno]; *len = S->current_lengths[colno]; PDO_DBG_RETURN(1); @@@ -860,7 -878,7 +859,7 @@@ static int pdo_mysql_stmt_col_meta(pdo_ #endif add_assoc_zval(return_value, "flags", flags); - add_assoc_string(return_value, "table",(char *) (F->table?F->table:""), 1); + add_assoc_string(return_value, "table", (char *) (F->table?F->table:""), 1); PDO_DBG_RETURN(SUCCESS); } /* }}} */ @@@ -874,12 -892,15 +873,12 @@@ static int pdo_mysql_stmt_cursor_closer mysql_free_result(S->result); S->result = NULL; } -#if HAVE_MYSQL_STMT_PREPARE || PDO_USE_MYSQLND if (S->stmt) { int retval; retval = mysql_stmt_free_result(S->stmt); PDO_DBG_RETURN(retval ? 0 : 1); } -#endif -#if HAVE_MYSQL_NEXT_RESULT || PDO_USE_MYSQLND while (mysql_more_results(S->H->server)) { MYSQL_RES *res; if (mysql_next_result(S->H->server) != 0) { @@@ -890,6 -911,7 +889,6 @@@ mysql_free_result(res); } } -#endif PDO_DBG_RETURN(1); } /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php