@@ -251,6 +251,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, simple_command_handle_response)(MYSQLND_CONN_D
251
251
conn -> persistent );
252
252
253
253
if (!ignore_upsert_status ) {
254
+ memset (conn -> upsert_status , 0 , sizeof (* conn -> upsert_status ));
254
255
conn -> upsert_status -> warning_count = ok_response -> warning_count ;
255
256
conn -> upsert_status -> server_status = ok_response -> server_status ;
256
257
conn -> upsert_status -> affected_rows = ok_response -> affected_rows ;
@@ -314,6 +315,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, simple_command)(MYSQLND_CONN_DATA * conn, enum
314
315
315
316
DBG_ENTER ("mysqlnd_conn_data::simple_command" );
316
317
DBG_INF_FMT ("command=%s ok_packet=%u silent=%u" , mysqlnd_command_to_text [command ], ok_packet , silent );
318
+ DBG_INF_FMT ("conn->server_status=%u" , conn -> upsert_status -> server_status );
317
319
318
320
switch (CONN_GET_STATE (conn )) {
319
321
case CONN_READY :
@@ -328,10 +330,6 @@ MYSQLND_METHOD(mysqlnd_conn_data, simple_command)(MYSQLND_CONN_DATA * conn, enum
328
330
DBG_RETURN (FAIL );
329
331
}
330
332
331
- /* clean UPSERT info */
332
- if (!ignore_upsert_status ) {
333
- memset (conn -> upsert_status , 0 , sizeof (* conn -> upsert_status ));
334
- }
335
333
SET_ERROR_AFF_ROWS (conn );
336
334
SET_EMPTY_ERROR (* conn -> error_info );
337
335
@@ -888,6 +886,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, connect)(MYSQLND_CONN_DATA * conn,
888
886
conn -> max_packet_size = MYSQLND_ASSEMBLED_PACKET_MAX_SIZE ;
889
887
/* todo: check if charset is available */
890
888
conn -> server_capabilities = greet_packet -> server_capabilities ;
889
+ memset (conn -> upsert_status , 0 , sizeof (* conn -> upsert_status ));
891
890
conn -> upsert_status -> warning_count = 0 ;
892
891
conn -> upsert_status -> server_status = greet_packet -> server_status ;
893
892
conn -> upsert_status -> affected_rows = 0 ;
@@ -1064,6 +1063,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, send_query)(MYSQLND_CONN_DATA * conn, const ch
1064
1063
enum_func_status ret = FAIL ;
1065
1064
DBG_ENTER ("mysqlnd_conn_data::send_query" );
1066
1065
DBG_INF_FMT ("conn=%llu query=%s" , conn -> thread_id , query );
1066
+ DBG_INF_FMT ("conn->server_status=%u" , conn -> upsert_status -> server_status );
1067
1067
1068
1068
if (PASS == conn -> m -> local_tx_start (conn , this_func TSRMLS_CC )) {
1069
1069
ret = conn -> m -> simple_command (conn , COM_QUERY , (zend_uchar * ) query , query_len ,
@@ -1074,6 +1074,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, send_query)(MYSQLND_CONN_DATA * conn, const ch
1074
1074
}
1075
1075
conn -> m -> local_tx_end (conn , this_func , ret TSRMLS_CC );
1076
1076
}
1077
+ DBG_INF_FMT ("conn->server_status=%u" , conn -> upsert_status -> server_status );
1077
1078
DBG_RETURN (ret );
1078
1079
}
1079
1080
/* }}} */
@@ -1089,6 +1090,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, reap_query)(MYSQLND_CONN_DATA * conn TSRMLS_DC
1089
1090
DBG_ENTER ("mysqlnd_conn_data::reap_query" );
1090
1091
DBG_INF_FMT ("conn=%llu" , conn -> thread_id );
1091
1092
1093
+ DBG_INF_FMT ("conn->server_status=%u" , conn -> upsert_status -> server_status );
1092
1094
if (PASS == conn -> m -> local_tx_start (conn , this_func TSRMLS_CC )) {
1093
1095
if (state <= CONN_READY || state == CONN_QUIT_SENT ) {
1094
1096
php_error_docref (NULL TSRMLS_CC , E_WARNING , "Connection not opened, clear or has been closed" );
@@ -1099,6 +1101,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, reap_query)(MYSQLND_CONN_DATA * conn TSRMLS_DC
1099
1101
1100
1102
conn -> m -> local_tx_end (conn , this_func , ret TSRMLS_CC );
1101
1103
}
1104
+ DBG_INF_FMT ("conn->server_status=%u" , conn -> upsert_status -> server_status );
1102
1105
DBG_RETURN (ret );
1103
1106
}
1104
1107
/* }}} */
@@ -1477,6 +1480,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, escape_string)(MYSQLND_CONN_DATA * const conn,
1477
1480
DBG_INF_FMT ("conn=%llu" , conn -> thread_id );
1478
1481
1479
1482
if (PASS == conn -> m -> local_tx_start (conn , this_func TSRMLS_CC )) {
1483
+ DBG_INF_FMT ("server_status=%u" , conn -> upsert_status -> server_status );
1480
1484
if (conn -> upsert_status -> server_status & SERVER_STATUS_NO_BACKSLASH_ESCAPES ) {
1481
1485
ret = mysqlnd_cset_escape_quotes (conn -> charset , newstr , escapestr , escapestr_len TSRMLS_CC );
1482
1486
} else {
0 commit comments