summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2014-03-10 18:18:56 +0200
committerAndrey Hristov <andrey@php.net>2014-03-10 18:18:56 +0200
commit73f03a47d0cd97a3c55a79b897ba55ea1ed2e90e (patch)
treea47a96838d8f9f9bc00460c4bdedb0b43146261a
parent16043b261fade04498408e5835321720f1328779 (diff)
downloadphp-git-73f03a47d0cd97a3c55a79b897ba55ea1ed2e90e.tar.gz
DI
-rw-r--r--ext/mysqlnd/mysqlnd_ps.c6
-rw-r--r--ext/mysqlnd/mysqlnd_result.c9
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) {