diff options
author | Andrey Hristov <andrey@php.net> | 2014-03-10 18:18:56 +0200 |
---|---|---|
committer | Andrey Hristov <andrey@php.net> | 2014-03-10 18:18:56 +0200 |
commit | 73f03a47d0cd97a3c55a79b897ba55ea1ed2e90e (patch) | |
tree | a47a96838d8f9f9bc00460c4bdedb0b43146261a | |
parent | 16043b261fade04498408e5835321720f1328779 (diff) | |
download | php-git-73f03a47d0cd97a3c55a79b897ba55ea1ed2e90e.tar.gz |
DI
-rw-r--r-- | ext/mysqlnd/mysqlnd_ps.c | 6 | ||||
-rw-r--r-- | ext/mysqlnd/mysqlnd_result.c | 9 |
2 files changed, 13 insertions, 2 deletions
diff --git a/ext/mysqlnd/mysqlnd_ps.c b/ext/mysqlnd/mysqlnd_ps.c index dc97d2d36f..fc30bddcb5 100644 --- a/ext/mysqlnd/mysqlnd_ps.c +++ b/ext/mysqlnd/mysqlnd_ps.c @@ -89,6 +89,12 @@ MYSQLND_METHOD(mysqlnd_stmt, store_result)(MYSQLND_STMT * const s TSRMLS_DC) result->type = MYSQLND_RES_PS_BUF; /* result->m.row_decoder = php_mysqlnd_rowp_read_binary_protocol; */ + result->stored_data = mysqlnd_result_buffered_init(result->field_count, TRUE, result->persistent TSRMLS_CC); + if (!result->stored_data) { + SET_OOM_ERROR(*conn->error_info); + DBG_RETURN(NULL); + } + ret = result->m.store_result_fetch_data(conn, result, result->meta, TRUE TSRMLS_CC); result->stored_data->m.fetch_row = mysqlnd_stmt_fetch_row_buffered; diff --git a/ext/mysqlnd/mysqlnd_result.c b/ext/mysqlnd/mysqlnd_result.c index 2ed6acf3ab..fc6f48581c 100644 --- a/ext/mysqlnd/mysqlnd_result.c +++ b/ext/mysqlnd/mysqlnd_result.c @@ -1140,10 +1140,9 @@ MYSQLND_METHOD(mysqlnd_res, store_result_fetch_data)(MYSQLND_CONN_DATA * const c DBG_ENTER("mysqlnd_res::store_result_fetch_data"); - result->stored_data = set = mysqlnd_result_buffered_init(result->field_count, binary_protocol, result->persistent TSRMLS_CC); + set = result->stored_data; if (!set) { - SET_OOM_ERROR(*conn->error_info); ret = FAIL; goto end; } @@ -1271,6 +1270,12 @@ MYSQLND_METHOD(mysqlnd_res, store_result)(MYSQLND_RES * result, CONN_SET_STATE(conn, CONN_FETCHING_DATA); + result->stored_data = mysqlnd_result_buffered_init(result->field_count, flags & MYSQLND_STORE_PS, result->persistent TSRMLS_CC); + if (!result->stored_data) { + SET_OOM_ERROR(*conn->error_info); + DBG_RETURN(NULL); + } + ret = result->m.store_result_fetch_data(conn, result, result->meta, flags & MYSQLND_STORE_PS TSRMLS_CC); if (FAIL == ret) { if (result->stored_data) { |