sets in pdo_mysql).
- Fixed bug #39775 ("Indirect modification ..." message is not shown). (Dmitry)
- Fixed bug #39763 (magic quotes are applied twice by ext/filter in
parse_str()). (Ilia)
+- Fixed bug #39759 (Can't use stored procedures fetching multiple result
+ sets in pdo_mysql). (Ilia)
- Fixed bug #39754 (Some POSIX extension functions not thread safe).
(Ilia, wharmby at uk dot ibm dot com)
- Fixed bug #39724 (Broken build due to spl/filter usage of pcre extension).
static int pdo_stmt_do_next_rowset(pdo_stmt_t *stmt TSRMLS_DC)
{
- if (!stmt->methods->next_rowset(stmt TSRMLS_CC)) {
- return 0;
- }
-
/* un-describe */
if (stmt->columns) {
int i;
stmt->column_count = 0;
}
+ if (!stmt->methods->next_rowset(stmt TSRMLS_CC)) {
+ return 0;
+ }
+
pdo_stmt_describe_columns(stmt TSRMLS_CC);
return 1;
PDO_HANDLE_STMT_ERR();
RETURN_FALSE;
}
-
- pdo_stmt_describe_columns(stmt TSRMLS_CC);
RETURN_TRUE;
}
dbh->driver_data = H;
H->max_buffer_size = 1024*1024;
- H->emulate_prepare = 1;
+ H->buffered = H->emulate_prepare = 1;
/* handle MySQL options */
if (driver_options) {
/* No more results */
return 0;
} else {
- if ((my_ulonglong)-1 == (row_count = mysql_affected_rows(H->server))) {
- pdo_mysql_error_stmt(stmt);
- return 0;
- }
-
if (!H->buffered) {
S->result = mysql_use_result(H->server);
+ row_count = 0;
} else {
S->result = mysql_store_result(H->server);
+ if ((my_ulonglong)-1 == (row_count = mysql_affected_rows(H->server))) {
+ pdo_mysql_error_stmt(stmt);
+ return 0;
+ }
}
if (NULL == S->result) {
[1]=>
string(7) "testing"
}
-bool(false)
-array(2) {
+bool(true)
+array(1) {
[0]=>
- string(5) "HY000"
- [1]=>
- int(2014)
+ string(5) "00000"
}