version 1.1.1.3, 2013/07/22 01:31:56
|
version 1.1.1.4, 2014/06/15 20:03:52
|
Line 2
|
Line 2
|
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| PHP Version 5 | |
| PHP Version 5 | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| Copyright (c) 2006-2013 The PHP Group | | | Copyright (c) 2006-2014 The PHP Group | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| This source file is subject to version 3.01 of the PHP license, | |
| This source file is subject to version 3.01 of the PHP license, | |
| that is bundled with this package in the file LICENSE, and is | |
| that is bundled with this package in the file LICENSE, and is | |
Line 198 MYSQLND_METHOD(mysqlnd_res, free_buffered_data)(MYSQLN
|
Line 198 MYSQLND_METHOD(mysqlnd_res, free_buffered_data)(MYSQLN
|
if (set->data) { |
if (set->data) { |
unsigned int copy_on_write_performed = 0; |
unsigned int copy_on_write_performed = 0; |
unsigned int copy_on_write_saved = 0; |
unsigned int copy_on_write_saved = 0; |
|
zval **data = set->data; |
|
set->data = NULL; /* prevent double free if following loop is interrupted */ |
|
|
for (row = set->row_count - 1; row >= 0; row--) { |
for (row = set->row_count - 1; row >= 0; row--) { |
zval **current_row = set->data + row * field_count; | zval **current_row = data + row * field_count; |
MYSQLND_MEMORY_POOL_CHUNK *current_buffer = set->row_buffers[row]; |
MYSQLND_MEMORY_POOL_CHUNK *current_buffer = set->row_buffers[row]; |
int64_t col; |
int64_t col; |
|
|
Line 222 MYSQLND_METHOD(mysqlnd_res, free_buffered_data)(MYSQLN
|
Line 224 MYSQLND_METHOD(mysqlnd_res, free_buffered_data)(MYSQLN
|
|
|
MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_COPY_ON_WRITE_PERFORMED, copy_on_write_performed, |
MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_COPY_ON_WRITE_PERFORMED, copy_on_write_performed, |
STAT_COPY_ON_WRITE_SAVED, copy_on_write_saved); |
STAT_COPY_ON_WRITE_SAVED, copy_on_write_saved); |
mnd_efree(set->data); | mnd_efree(data); |
set->data = NULL; | |
} |
} |
|
|
if (set->row_buffers) { |
if (set->row_buffers) { |
Line 426 mysqlnd_query_read_result_set_header(MYSQLND_CONN_DATA
|
Line 427 mysqlnd_query_read_result_set_header(MYSQLND_CONN_DATA
|
DBG_INF("UPSERT"); |
DBG_INF("UPSERT"); |
conn->last_query_type = QUERY_UPSERT; |
conn->last_query_type = QUERY_UPSERT; |
conn->field_count = rset_header->field_count; |
conn->field_count = rset_header->field_count; |
|
memset(conn->upsert_status, 0, sizeof(*conn->upsert_status)); |
conn->upsert_status->warning_count = rset_header->warning_count; |
conn->upsert_status->warning_count = rset_header->warning_count; |
conn->upsert_status->server_status = rset_header->server_status; |
conn->upsert_status->server_status = rset_header->server_status; |
conn->upsert_status->affected_rows = rset_header->affected_rows; |
conn->upsert_status->affected_rows = rset_header->affected_rows; |
Line 714 mysqlnd_fetch_row_unbuffered_c(MYSQLND_RES * result TS
|
Line 716 mysqlnd_fetch_row_unbuffered_c(MYSQLND_RES * result TS
|
/* Mark the connection as usable again */ |
/* Mark the connection as usable again */ |
DBG_INF_FMT("warnings=%u server_status=%u", row_packet->warning_count, row_packet->server_status); |
DBG_INF_FMT("warnings=%u server_status=%u", row_packet->warning_count, row_packet->server_status); |
result->unbuf->eof_reached = TRUE; |
result->unbuf->eof_reached = TRUE; |
|
memset(result->conn->upsert_status, 0, sizeof(*result->conn->upsert_status)); |
result->conn->upsert_status->warning_count = row_packet->warning_count; |
result->conn->upsert_status->warning_count = row_packet->warning_count; |
result->conn->upsert_status->server_status = row_packet->server_status; |
result->conn->upsert_status->server_status = row_packet->server_status; |
/* |
/* |
Line 849 mysqlnd_fetch_row_unbuffered(MYSQLND_RES * result, voi
|
Line 852 mysqlnd_fetch_row_unbuffered(MYSQLND_RES * result, voi
|
/* Mark the connection as usable again */ |
/* Mark the connection as usable again */ |
DBG_INF_FMT("warnings=%u server_status=%u", row_packet->warning_count, row_packet->server_status); |
DBG_INF_FMT("warnings=%u server_status=%u", row_packet->warning_count, row_packet->server_status); |
result->unbuf->eof_reached = TRUE; |
result->unbuf->eof_reached = TRUE; |
|
memset(result->conn->upsert_status, 0, sizeof(*result->conn->upsert_status)); |
result->conn->upsert_status->warning_count = row_packet->warning_count; |
result->conn->upsert_status->warning_count = row_packet->warning_count; |
result->conn->upsert_status->server_status = row_packet->server_status; |
result->conn->upsert_status->server_status = row_packet->server_status; |
/* |
/* |
Line 1206 MYSQLND_METHOD(mysqlnd_res, store_result_fetch_data)(M
|
Line 1210 MYSQLND_METHOD(mysqlnd_res, store_result_fetch_data)(M
|
|
|
/* Finally clean */ |
/* Finally clean */ |
if (row_packet->eof) { |
if (row_packet->eof) { |
|
memset(conn->upsert_status, 0, sizeof(*conn->upsert_status)); |
conn->upsert_status->warning_count = row_packet->warning_count; |
conn->upsert_status->warning_count = row_packet->warning_count; |
conn->upsert_status->server_status = row_packet->server_status; |
conn->upsert_status->server_status = row_packet->server_status; |
} |
} |