Lines Matching refs:stmt

40 static void mysqlnd_stmt_separate_result_bind(MYSQLND_STMT * const stmt);
41 static void mysqlnd_stmt_separate_one_result_bind(MYSQLND_STMT * const stmt, const unsigned int par…
44 const MYSQLND_STMT_DATA *stmt, unsigned max_rows) in mysqlnd_stmt_send_cursor_fetch_command() argument
46 MYSQLND_CONN_DATA *conn = stmt->conn; in mysqlnd_stmt_send_cursor_fetch_command()
50 int4store(buf, stmt->stmt_id); in mysqlnd_stmt_send_cursor_fetch_command()
54 COPY_CLIENT_ERROR(stmt->error_info, *conn->error_info); in mysqlnd_stmt_send_cursor_fetch_command()
60 static zend_bool mysqlnd_stmt_check_state(const MYSQLND_STMT_DATA *stmt) in mysqlnd_stmt_check_state() argument
62 const MYSQLND_CONN_DATA *conn = stmt->conn; in mysqlnd_stmt_check_state()
63 if (stmt->state != MYSQLND_STMT_WAITING_USE_OR_STORE) { in mysqlnd_stmt_check_state()
66 if (stmt->cursor_exists) { in mysqlnd_stmt_check_state()
78 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
79 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
83 if (!stmt || !conn || !stmt->result) { in MYSQLND_METHOD()
86 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in MYSQLND_METHOD()
89 if (!stmt->field_count) { in MYSQLND_METHOD()
94 if (!mysqlnd_stmt_check_state(stmt)) { in MYSQLND_METHOD()
95 …SET_CLIENT_ERROR(stmt->error_info, CR_COMMANDS_OUT_OF_SYNC, UNKNOWN_SQLSTATE, mysqlnd_out_of_sync); in MYSQLND_METHOD()
99 stmt->default_rset_handler = s->m->store_result; in MYSQLND_METHOD()
101 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
105 if (stmt->cursor_exists) { in MYSQLND_METHOD()
106 if (mysqlnd_stmt_send_cursor_fetch_command(stmt, -1) == FAIL) { in MYSQLND_METHOD()
111 result = stmt->result; in MYSQLND_METHOD()
149 UPSERT_STATUS_SET_AFFECTED_ROWS(stmt->upsert_status, stmt->result->stored_data->row_count); in MYSQLND_METHOD()
151 stmt->state = MYSQLND_STMT_USE_OR_STORE_CALLED; in MYSQLND_METHOD()
154 COPY_CLIENT_ERROR(stmt->error_info, result->stored_data->error_info); in MYSQLND_METHOD()
155 stmt->result->m.free_result_contents(stmt->result); in MYSQLND_METHOD()
156 stmt->result = NULL; in MYSQLND_METHOD()
157 stmt->state = MYSQLND_STMT_PREPARED; in MYSQLND_METHOD()
170 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
171 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
175 if (!stmt || !conn || !stmt->result) { in MYSQLND_METHOD()
178 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in MYSQLND_METHOD()
181 if (!stmt->field_count) { in MYSQLND_METHOD()
186 if (!mysqlnd_stmt_check_state(stmt)) { in MYSQLND_METHOD()
187 …SET_CLIENT_ERROR(stmt->error_info, CR_COMMANDS_OUT_OF_SYNC, UNKNOWN_SQLSTATE, mysqlnd_out_of_sync); in MYSQLND_METHOD()
191 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
195 if (stmt->cursor_exists) { in MYSQLND_METHOD()
196 if (mysqlnd_stmt_send_cursor_fetch_command(stmt, -1) == FAIL) { in MYSQLND_METHOD()
202 result = conn->m->result_init(stmt->result->field_count); in MYSQLND_METHOD()
208 result->meta = stmt->result->meta->m->clone_metadata(result, stmt->result->meta); in MYSQLND_METHOD()
215 UPSERT_STATUS_SET_AFFECTED_ROWS(stmt->upsert_status, result->stored_data->row_count); in MYSQLND_METHOD()
216 stmt->state = MYSQLND_STMT_PREPARED; in MYSQLND_METHOD()
219 COPY_CLIENT_ERROR(stmt->error_info, *conn->error_info); in MYSQLND_METHOD()
220 stmt->state = MYSQLND_STMT_PREPARED; in MYSQLND_METHOD()
238 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
239 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
242 …DBG_RETURN((stmt && conn && (conn->m->get_server_status(conn) & SERVER_MORE_RESULTS_EXISTS))? TRUE… in MYSQLND_METHOD()
251 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
252 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
255 if (!stmt || !conn || !stmt->result) { in MYSQLND_METHOD()
258 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in MYSQLND_METHOD()
280 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in mysqlnd_stmt_skip_metadata() local
281 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in mysqlnd_stmt_skip_metadata()
289 if (!stmt || !conn) { in mysqlnd_stmt_skip_metadata()
296 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in mysqlnd_stmt_skip_metadata()
303 for (;i < stmt->param_count; i++) { in mysqlnd_stmt_skip_metadata()
321 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in mysqlnd_stmt_read_prepare_response() local
322 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in mysqlnd_stmt_read_prepare_response()
327 if (!stmt || !conn) { in mysqlnd_stmt_read_prepare_response()
330 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in mysqlnd_stmt_read_prepare_response()
339 COPY_CLIENT_ERROR(stmt->error_info, prepare_resp.error_info); in mysqlnd_stmt_read_prepare_response()
344 stmt->stmt_id = prepare_resp.stmt_id; in mysqlnd_stmt_read_prepare_response()
346 UPSERT_STATUS_SET_AFFECTED_ROWS(stmt->upsert_status, 0); /* be like libmysql */ in mysqlnd_stmt_read_prepare_response()
347 stmt->field_count = conn->field_count = prepare_resp.field_count; in mysqlnd_stmt_read_prepare_response()
348 stmt->param_count = prepare_resp.param_count; in mysqlnd_stmt_read_prepare_response()
361 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in mysqlnd_stmt_prepare_read_eof() local
362 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in mysqlnd_stmt_prepare_read_eof()
367 if (!stmt || !conn) { in mysqlnd_stmt_prepare_read_eof()
370 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in mysqlnd_stmt_prepare_read_eof()
374 if (stmt->result) { in mysqlnd_stmt_prepare_read_eof()
375 stmt->result->m.free_result_contents(stmt->result); in mysqlnd_stmt_prepare_read_eof()
381 memset(stmt, 0, sizeof(MYSQLND_STMT_DATA)); in mysqlnd_stmt_prepare_read_eof()
382 stmt->state = MYSQLND_STMT_INITTED; in mysqlnd_stmt_prepare_read_eof()
385 UPSERT_STATUS_SET_SERVER_STATUS(stmt->upsert_status, fields_eof.server_status); in mysqlnd_stmt_prepare_read_eof()
386 UPSERT_STATUS_SET_WARNINGS(stmt->upsert_status, fields_eof.warning_count); in mysqlnd_stmt_prepare_read_eof()
387 stmt->state = MYSQLND_STMT_PREPARED; in mysqlnd_stmt_prepare_read_eof()
399 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
400 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
402 MYSQLND_STMT_DATA * stmt_to_prepare = stmt; in MYSQLND_METHOD()
405 if (!stmt || !conn) { in MYSQLND_METHOD()
408 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in MYSQLND_METHOD()
411 UPSERT_STATUS_SET_AFFECTED_ROWS_TO_ERROR(stmt->upsert_status); in MYSQLND_METHOD()
414 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
417 if (stmt->state > MYSQLND_STMT_INITTED) { in MYSQLND_METHOD()
419 if (stmt->state == MYSQLND_STMT_WAITING_USE_OR_STORE) { in MYSQLND_METHOD()
421 stmt->default_rset_handler = s->m->use_result; in MYSQLND_METHOD()
422 stmt->default_rset_handler(s); in MYSQLND_METHOD()
425 if (stmt->state > MYSQLND_STMT_WAITING_USE_OR_STORE && stmt->result) { in MYSQLND_METHOD()
426 stmt->result->m.skip_result(stmt->result); in MYSQLND_METHOD()
445 COPY_CLIENT_ERROR(stmt->error_info, *conn->error_info); in MYSQLND_METHOD()
487 if (stmt_to_prepare != stmt) { in MYSQLND_METHOD()
497 stmt_to_prepare = stmt; in MYSQLND_METHOD()
498 stmt = tmp_swap_data; in MYSQLND_METHOD()
502 stmt->state = MYSQLND_STMT_PREPARED; in MYSQLND_METHOD()
507 if (stmt_to_prepare != stmt && s_to_prepare) { in MYSQLND_METHOD()
510 stmt->state = MYSQLND_STMT_INITTED; in MYSQLND_METHOD()
522 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in mysqlnd_stmt_execute_parse_response() local
523 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in mysqlnd_stmt_execute_parse_response()
527 if (!stmt || !conn) { in mysqlnd_stmt_execute_parse_response()
534 COPY_CLIENT_ERROR(stmt->error_info, *conn->error_info); in mysqlnd_stmt_execute_parse_response()
535 UPSERT_STATUS_RESET(stmt->upsert_status); in mysqlnd_stmt_execute_parse_response()
536 …UPSERT_STATUS_SET_AFFECTED_ROWS(stmt->upsert_status, UPSERT_STATUS_GET_AFFECTED_ROWS(conn->upsert_… in mysqlnd_stmt_execute_parse_response()
540 stmt->state = MYSQLND_STMT_PREPARED; in mysqlnd_stmt_execute_parse_response()
541 stmt->send_types_to_server = 1; in mysqlnd_stmt_execute_parse_response()
550 SET_EMPTY_ERROR(stmt->error_info); in mysqlnd_stmt_execute_parse_response()
552 UPSERT_STATUS_SET_WARNINGS(stmt->upsert_status, UPSERT_STATUS_GET_WARNINGS(conn->upsert_status)); in mysqlnd_stmt_execute_parse_response()
553 …UPSERT_STATUS_SET_AFFECTED_ROWS(stmt->upsert_status, UPSERT_STATUS_GET_AFFECTED_ROWS(conn->upsert_… in mysqlnd_stmt_execute_parse_response()
554 …UPSERT_STATUS_SET_SERVER_STATUS(stmt->upsert_status, UPSERT_STATUS_GET_SERVER_STATUS(conn->upsert_… in mysqlnd_stmt_execute_parse_response()
555 …UPSERT_STATUS_SET_LAST_INSERT_ID(stmt->upsert_status, UPSERT_STATUS_GET_LAST_INSERT_ID(conn->upser… in mysqlnd_stmt_execute_parse_response()
557 stmt->state = MYSQLND_STMT_EXECUTED; in mysqlnd_stmt_execute_parse_response()
563 stmt->result->type = MYSQLND_RES_PS_BUF; in mysqlnd_stmt_execute_parse_response()
564 if (!stmt->result->conn) { in mysqlnd_stmt_execute_parse_response()
569 stmt->result->conn = conn->m->get_reference(conn); in mysqlnd_stmt_execute_parse_response()
573 stmt->field_count = stmt->result->field_count = conn->field_count; in mysqlnd_stmt_execute_parse_response()
574 if (stmt->result->stored_data) { in mysqlnd_stmt_execute_parse_response()
575 stmt->result->stored_data->lengths = NULL; in mysqlnd_stmt_execute_parse_response()
576 } else if (stmt->result->unbuf) { in mysqlnd_stmt_execute_parse_response()
577 stmt->result->unbuf->lengths = NULL; in mysqlnd_stmt_execute_parse_response()
579 if (stmt->field_count) { in mysqlnd_stmt_execute_parse_response()
580 stmt->state = MYSQLND_STMT_WAITING_USE_OR_STORE; in mysqlnd_stmt_execute_parse_response()
586 DBG_INF_FMT("server_status=%u cursor=%u", UPSERT_STATUS_GET_SERVER_STATUS(stmt->upsert_status), in mysqlnd_stmt_execute_parse_response()
587 UPSERT_STATUS_GET_SERVER_STATUS(stmt->upsert_status) & SERVER_STATUS_CURSOR_EXISTS); in mysqlnd_stmt_execute_parse_response()
589 if (stmt->flags & CURSOR_TYPE_READ_ONLY) { in mysqlnd_stmt_execute_parse_response()
590 if (UPSERT_STATUS_GET_SERVER_STATUS(stmt->upsert_status) & SERVER_STATUS_CURSOR_EXISTS) { in mysqlnd_stmt_execute_parse_response()
592 stmt->cursor_exists = TRUE; in mysqlnd_stmt_execute_parse_response()
595 stmt->default_rset_handler = s->m->use_result; in mysqlnd_stmt_execute_parse_response()
610 stmt->default_rset_handler = s->m->store_result; in mysqlnd_stmt_execute_parse_response()
616 stmt->default_rset_handler = s->m->use_result; in mysqlnd_stmt_execute_parse_response()
622 if (UPSERT_STATUS_GET_SERVER_STATUS(stmt->upsert_status) & SERVER_PS_OUT_PARAMS) { in mysqlnd_stmt_execute_parse_response()
630 …%u cursor=%u", UPSERT_STATUS_GET_SERVER_STATUS(stmt->upsert_status), UPSERT_STATUS_GET_SERVER_STAT… in mysqlnd_stmt_execute_parse_response()
632 …if (ret == PASS && conn->last_query_type == QUERY_UPSERT && UPSERT_STATUS_GET_AFFECTED_ROWS(stmt->… in mysqlnd_stmt_execute_parse_response()
633 …_W_VALUE(conn->stats, STAT_ROWS_AFFECTED_PS, UPSERT_STATUS_GET_AFFECTED_ROWS(stmt->upsert_status)); in mysqlnd_stmt_execute_parse_response()
661 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
662 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
669 if (!stmt || !conn) { in MYSQLND_METHOD()
672 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in MYSQLND_METHOD()
674 UPSERT_STATUS_SET_AFFECTED_ROWS_TO_ERROR(stmt->upsert_status); in MYSQLND_METHOD()
677 if (stmt->result && stmt->state >= MYSQLND_STMT_PREPARED && stmt->field_count) { in MYSQLND_METHOD()
685 stmt->result->m.free_result_buffers(stmt->result); in MYSQLND_METHOD()
687 stmt->state = MYSQLND_STMT_PREPARED; in MYSQLND_METHOD()
688 } else if (stmt->state < MYSQLND_STMT_PREPARED) { in MYSQLND_METHOD()
690 …SET_CLIENT_ERROR(stmt->error_info, CR_COMMANDS_OUT_OF_SYNC, UNKNOWN_SQLSTATE, mysqlnd_out_of_sync); in MYSQLND_METHOD()
695 if (stmt->param_count) { in MYSQLND_METHOD()
697 if (!stmt->param_bind) { in MYSQLND_METHOD()
698 …SET_CLIENT_ERROR(stmt->error_info, CR_PARAMS_NOT_BOUND, UNKNOWN_SQLSTATE, "No data supplied for pa… in MYSQLND_METHOD()
702 for (i = 0; i < stmt->param_count; i++) { in MYSQLND_METHOD()
703 if (Z_ISUNDEF(stmt->param_bind[i].zv)) { in MYSQLND_METHOD()
711 SET_CLIENT_ERROR(stmt->error_info, CR_PARAMS_NOT_BOUND, UNKNOWN_SQLSTATE, msg); in MYSQLND_METHOD()
725 …SET_CLIENT_ERROR(stmt->error_info, CR_UNKNOWN_ERROR, UNKNOWN_SQLSTATE, "Couldn't generate the requ… in MYSQLND_METHOD()
733 COPY_CLIENT_ERROR(stmt->error_info, *conn->error_info); in MYSQLND_METHOD()
737 stmt->execute_count++; in MYSQLND_METHOD()
749 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in mysqlnd_stmt_fetch_row_buffered() local
755 DBG_INF_FMT("stmt=%lu", stmt != NULL ? stmt->stmt_id : 0L); in mysqlnd_stmt_fetch_row_buffered()
764 if (stmt->result_bind) { in mysqlnd_stmt_fetch_row_buffered()
780 if (stmt->update_max_length) { in mysqlnd_stmt_fetch_row_buffered()
799 zval *resultzv = &stmt->result_bind[i].zv; in mysqlnd_stmt_fetch_row_buffered()
800 if (stmt->result_bind[i].bound == TRUE) { in mysqlnd_stmt_fetch_row_buffered()
830 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in mysqlnd_stmt_fetch_row_unbuffered() local
855 row_packet->skip_extraction = stmt && stmt->result_bind? FALSE:TRUE; in mysqlnd_stmt_fetch_row_unbuffered()
888 zval *resultzv = &stmt->result_bind[i].zv; in mysqlnd_stmt_fetch_row_unbuffered()
889 if (stmt->result_bind[i].bound == TRUE) { in mysqlnd_stmt_fetch_row_unbuffered()
920 if (stmt) { in mysqlnd_stmt_fetch_row_unbuffered()
921 COPY_CLIENT_ERROR(stmt->error_info, row_packet->error_info); in mysqlnd_stmt_fetch_row_unbuffered()
960 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
961 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
965 if (!stmt || !conn || !stmt->result) { in MYSQLND_METHOD()
968 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in MYSQLND_METHOD()
970 if (!stmt->field_count || !mysqlnd_stmt_check_state(stmt)) { in MYSQLND_METHOD()
976 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
979 result = stmt->result; in MYSQLND_METHOD()
981 result->m.use_result(stmt->result, TRUE); in MYSQLND_METHOD()
982 result->unbuf->m.fetch_row = stmt->cursor_exists? mysqlnd_fetch_stmt_row_cursor: in MYSQLND_METHOD()
984 stmt->state = MYSQLND_STMT_USE_OR_STORE_CALLED; in MYSQLND_METHOD()
998 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in mysqlnd_fetch_stmt_row_cursor() local
999 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in mysqlnd_fetch_stmt_row_cursor()
1004 if (!stmt || !stmt->conn || !result || !result->conn || !result->unbuf) { in mysqlnd_fetch_stmt_row_cursor()
1008 DBG_INF_FMT("stmt=%lu flags=%u", stmt->stmt_id, flags); in mysqlnd_fetch_stmt_row_cursor()
1010 if (stmt->state < MYSQLND_STMT_USER_FETCHING) { in mysqlnd_fetch_stmt_row_cursor()
1020 SET_EMPTY_ERROR(stmt->error_info); in mysqlnd_fetch_stmt_row_cursor()
1024 if (mysqlnd_stmt_send_cursor_fetch_command(stmt, 1) == FAIL) { in mysqlnd_fetch_stmt_row_cursor()
1028 row_packet->skip_extraction = stmt->result_bind? FALSE:TRUE; in mysqlnd_fetch_stmt_row_cursor()
1030 UPSERT_STATUS_RESET(stmt->upsert_status); in mysqlnd_fetch_stmt_row_cursor()
1055 zval *resultzv = &stmt->result_bind[i].zv; in mysqlnd_fetch_stmt_row_cursor()
1056 if (stmt->result_bind[i].bound == TRUE) { in mysqlnd_fetch_stmt_row_cursor()
1059 DBG_INF_FMT("i=%u bound_var=%p type=%u refc=%u", i, &stmt->result_bind[i].zv, in mysqlnd_fetch_stmt_row_cursor()
1060 Z_TYPE_P(data), Z_REFCOUNTED(stmt->result_bind[i].zv)? in mysqlnd_fetch_stmt_row_cursor()
1061 Z_REFCOUNT(stmt->result_bind[i].zv) : 0); in mysqlnd_fetch_stmt_row_cursor()
1098 UPSERT_STATUS_SET_WARNINGS(stmt->upsert_status, row_packet->warning_count); in mysqlnd_fetch_stmt_row_cursor()
1101 UPSERT_STATUS_SET_SERVER_STATUS(stmt->upsert_status, row_packet->server_status); in mysqlnd_fetch_stmt_row_cursor()
1106 UPSERT_STATUS_SET_WARNINGS(stmt->upsert_status, row_packet->warning_count); in mysqlnd_fetch_stmt_row_cursor()
1109 UPSERT_STATUS_SET_SERVER_STATUS(stmt->upsert_status, row_packet->server_status); in mysqlnd_fetch_stmt_row_cursor()
1125 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1126 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
1129 if (!stmt || !stmt->conn) { in MYSQLND_METHOD()
1132 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in MYSQLND_METHOD()
1134 if (!stmt->result || stmt->state < MYSQLND_STMT_WAITING_USE_OR_STORE) { in MYSQLND_METHOD()
1135 …SET_CLIENT_ERROR(stmt->error_info, CR_COMMANDS_OUT_OF_SYNC, UNKNOWN_SQLSTATE, mysqlnd_out_of_sync); in MYSQLND_METHOD()
1138 } else if (stmt->state == MYSQLND_STMT_WAITING_USE_OR_STORE) { in MYSQLND_METHOD()
1141 stmt->default_rset_handler(s); in MYSQLND_METHOD()
1143 stmt->state = MYSQLND_STMT_USER_FETCHING; in MYSQLND_METHOD()
1145 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
1148 ret = stmt->result->m.fetch_row(stmt->result, (void*)s, 0, fetched_anything); in MYSQLND_METHOD()
1159 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1160 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
1163 if (!stmt || !conn) { in MYSQLND_METHOD()
1166 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in MYSQLND_METHOD()
1168 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
1171 if (stmt->stmt_id) { in MYSQLND_METHOD()
1172 MYSQLND_CONN_DATA * conn = stmt->conn; in MYSQLND_METHOD()
1173 if (stmt->param_bind) { in MYSQLND_METHOD()
1177 for (i = 0; i < stmt->param_count; i++) { in MYSQLND_METHOD()
1178 if (stmt->param_bind[i].flags & MYSQLND_PARAM_BIND_BLOB_USED) { in MYSQLND_METHOD()
1179 stmt->param_bind[i].flags &= ~MYSQLND_PARAM_BIND_BLOB_USED; in MYSQLND_METHOD()
1193 size_t stmt_id = stmt->stmt_id; in MYSQLND_METHOD()
1195 ret = stmt->conn->command->stmt_reset(stmt->conn, stmt_id); in MYSQLND_METHOD()
1197 COPY_CLIENT_ERROR(stmt->error_info, *conn->error_info); in MYSQLND_METHOD()
1200 *stmt->upsert_status = *conn->upsert_status; in MYSQLND_METHOD()
1213 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1214 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
1217 if (!stmt || !conn) { in MYSQLND_METHOD()
1220 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in MYSQLND_METHOD()
1222 if (stmt->stmt_id) { in MYSQLND_METHOD()
1229 if (stmt->state == MYSQLND_STMT_WAITING_USE_OR_STORE) { in MYSQLND_METHOD()
1231 stmt->default_rset_handler(s); in MYSQLND_METHOD()
1232 stmt->state = MYSQLND_STMT_USER_FETCHING; in MYSQLND_METHOD()
1235 if (stmt->result) { in MYSQLND_METHOD()
1237 stmt->result->m.skip_result(stmt->result); in MYSQLND_METHOD()
1253 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1254 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
1258 if (!stmt || !conn) { in MYSQLND_METHOD()
1261 DBG_INF_FMT("stmt=%lu param_no=%u data_len=%lu", stmt->stmt_id, param_no, data_length); in MYSQLND_METHOD()
1263 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
1266 if (stmt->state < MYSQLND_STMT_PREPARED) { in MYSQLND_METHOD()
1267 …SET_CLIENT_ERROR(stmt->error_info, CR_NO_PREPARE_STMT, UNKNOWN_SQLSTATE, mysqlnd_stmt_not_prepared… in MYSQLND_METHOD()
1271 if (!stmt->param_bind) { in MYSQLND_METHOD()
1272 …SET_CLIENT_ERROR(stmt->error_info, CR_COMMANDS_OUT_OF_SYNC, UNKNOWN_SQLSTATE, mysqlnd_out_of_sync); in MYSQLND_METHOD()
1276 if (param_no >= stmt->param_count) { in MYSQLND_METHOD()
1277 …SET_CLIENT_ERROR(stmt->error_info, CR_INVALID_PARAMETER_NO, UNKNOWN_SQLSTATE, "Invalid parameter n… in MYSQLND_METHOD()
1281 if (stmt->param_bind[param_no].type != MYSQL_TYPE_LONG_BLOB) { in MYSQLND_METHOD()
1282 …SET_CLIENT_ERROR(stmt->error_info, CR_INVALID_BUFFER_USE, UNKNOWN_SQLSTATE, mysqlnd_not_bound_as_b… in MYSQLND_METHOD()
1291 stmt->param_bind[param_no].flags |= MYSQLND_PARAM_BIND_BLOB_USED; in MYSQLND_METHOD()
1293 int4store(cmd_buf, stmt->stmt_id); in MYSQLND_METHOD()
1303 COPY_CLIENT_ERROR(stmt->error_info, *conn->error_info); in MYSQLND_METHOD()
1310 SET_OOM_ERROR(stmt->error_info); in MYSQLND_METHOD()
1338 SET_CLIENT_ERROR(stmt->error_info, CR_CONNECTION_ERROR, UNKNOWN_SQLSTATE, in MYSQLND_METHOD()
1355 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1356 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
1359 if (!stmt || !conn) { in MYSQLND_METHOD()
1362 DBG_INF_FMT("stmt=%lu param_count=%u", stmt->stmt_id, stmt->param_count); in MYSQLND_METHOD()
1364 if (stmt->state < MYSQLND_STMT_PREPARED) { in MYSQLND_METHOD()
1365 …SET_CLIENT_ERROR(stmt->error_info, CR_NO_PREPARE_STMT, UNKNOWN_SQLSTATE, mysqlnd_stmt_not_prepared… in MYSQLND_METHOD()
1373 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
1376 if (stmt->param_count) { in MYSQLND_METHOD()
1380 …SET_CLIENT_ERROR(stmt->error_info, CR_COMMANDS_OUT_OF_SYNC, UNKNOWN_SQLSTATE, "Re-binding (still) … in MYSQLND_METHOD()
1383 } else if (stmt->param_bind) { in MYSQLND_METHOD()
1389 for (i = 0; i < stmt->param_count; i++) { in MYSQLND_METHOD()
1394 zval_ptr_dtor(&stmt->param_bind[i].zv); in MYSQLND_METHOD()
1396 if (stmt->param_bind != param_bind) { in MYSQLND_METHOD()
1397 s->m->free_parameter_bind(s, stmt->param_bind); in MYSQLND_METHOD()
1401 stmt->param_bind = param_bind; in MYSQLND_METHOD()
1402 for (i = 0; i < stmt->param_count; i++) { in MYSQLND_METHOD()
1404 DBG_INF_FMT("%u is of type %u", i, stmt->param_bind[i].type); in MYSQLND_METHOD()
1407 Z_TRY_ADDREF(stmt->param_bind[i].zv); in MYSQLND_METHOD()
1408 stmt->param_bind[i].flags = 0; in MYSQLND_METHOD()
1409 if (stmt->param_bind[i].type == MYSQL_TYPE_LONG_BLOB) { in MYSQLND_METHOD()
1410 stmt->param_bind[i].flags &= ~MYSQLND_PARAM_BIND_BLOB_USED; in MYSQLND_METHOD()
1413 stmt->send_types_to_server = 1; in MYSQLND_METHOD()
1426 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1427 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
1430 if (!stmt || !conn) { in MYSQLND_METHOD()
1433 …DBG_INF_FMT("stmt=%lu param_no=%u param_count=%u type=%u", stmt->stmt_id, param_no, stmt->param_co… in MYSQLND_METHOD()
1435 if (stmt->state < MYSQLND_STMT_PREPARED) { in MYSQLND_METHOD()
1436 …SET_CLIENT_ERROR(stmt->error_info, CR_NO_PREPARE_STMT, UNKNOWN_SQLSTATE, mysqlnd_stmt_not_prepared… in MYSQLND_METHOD()
1441 if (param_no >= stmt->param_count) { in MYSQLND_METHOD()
1442 …SET_CLIENT_ERROR(stmt->error_info, CR_INVALID_PARAMETER_NO, UNKNOWN_SQLSTATE, "Invalid parameter n… in MYSQLND_METHOD()
1446 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
1449 if (stmt->param_count) { in MYSQLND_METHOD()
1450 if (!stmt->param_bind) { in MYSQLND_METHOD()
1451 stmt->param_bind = mnd_ecalloc(stmt->param_count, sizeof(MYSQLND_PARAM_BIND)); in MYSQLND_METHOD()
1452 if (!stmt->param_bind) { in MYSQLND_METHOD()
1462 zval_ptr_dtor(&stmt->param_bind[param_no].zv); in MYSQLND_METHOD()
1465 stmt->param_bind[param_no].flags &= ~MYSQLND_PARAM_BIND_BLOB_USED; in MYSQLND_METHOD()
1467 ZVAL_COPY_VALUE(&stmt->param_bind[param_no].zv, zv); in MYSQLND_METHOD()
1468 stmt->param_bind[param_no].type = type; in MYSQLND_METHOD()
1470 stmt->send_types_to_server = 1; in MYSQLND_METHOD()
1482 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1483 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
1486 if (!stmt || !conn) { in MYSQLND_METHOD()
1489 DBG_INF_FMT("stmt=%lu param_count=%u", stmt->stmt_id, stmt->param_count); in MYSQLND_METHOD()
1491 if (stmt->state < MYSQLND_STMT_PREPARED) { in MYSQLND_METHOD()
1492 …SET_CLIENT_ERROR(stmt->error_info, CR_NO_PREPARE_STMT, UNKNOWN_SQLSTATE, mysqlnd_stmt_not_prepared… in MYSQLND_METHOD()
1497 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
1500 if (stmt->param_count) { in MYSQLND_METHOD()
1501 stmt->send_types_to_server = 1; in MYSQLND_METHOD()
1513 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1514 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
1517 if (!stmt || !conn) { in MYSQLND_METHOD()
1520 DBG_INF_FMT("stmt=%lu field_count=%u", stmt->stmt_id, stmt->field_count); in MYSQLND_METHOD()
1522 if (stmt->state < MYSQLND_STMT_PREPARED) { in MYSQLND_METHOD()
1523 …SET_CLIENT_ERROR(stmt->error_info, CR_NO_PREPARE_STMT, UNKNOWN_SQLSTATE, mysqlnd_stmt_not_prepared… in MYSQLND_METHOD()
1531 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
1534 if (stmt->field_count) { in MYSQLND_METHOD()
1543 stmt->result_bind = result_bind; in MYSQLND_METHOD()
1544 for (i = 0; i < stmt->field_count; i++) { in MYSQLND_METHOD()
1546 Z_TRY_ADDREF(stmt->result_bind[i].zv); in MYSQLND_METHOD()
1548 DBG_INF_FMT("ref of %p = %u", &stmt->result_bind[i].zv, in MYSQLND_METHOD()
1549 Z_REFCOUNTED(stmt->result_bind[i].zv)? Z_REFCOUNT(stmt->result_bind[i].zv) : 0); in MYSQLND_METHOD()
1555 stmt->result_bind[i].bound = TRUE; in MYSQLND_METHOD()
1570 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1571 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
1574 if (!stmt || !conn) { in MYSQLND_METHOD()
1577 DBG_INF_FMT("stmt=%lu field_count=%u", stmt->stmt_id, stmt->field_count); in MYSQLND_METHOD()
1579 if (stmt->state < MYSQLND_STMT_PREPARED) { in MYSQLND_METHOD()
1580 …SET_CLIENT_ERROR(stmt->error_info, CR_NO_PREPARE_STMT, UNKNOWN_SQLSTATE, mysqlnd_stmt_not_prepared… in MYSQLND_METHOD()
1585 if (param_no >= stmt->field_count) { in MYSQLND_METHOD()
1586 …SET_CLIENT_ERROR(stmt->error_info, CR_INVALID_PARAMETER_NO, UNKNOWN_SQLSTATE, "Invalid parameter n… in MYSQLND_METHOD()
1591 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD()
1594 if (stmt->field_count) { in MYSQLND_METHOD()
1597 if (!stmt->result_bind) { in MYSQLND_METHOD()
1598 stmt->result_bind = mnd_ecalloc(stmt->field_count, sizeof(MYSQLND_RESULT_BIND)); in MYSQLND_METHOD()
1600stmt->result_bind = mnd_erealloc(stmt->result_bind, stmt->field_count * sizeof(MYSQLND_RESULT_BIND… in MYSQLND_METHOD()
1602 if (!stmt->result_bind) { in MYSQLND_METHOD()
1605 ZVAL_NULL(&stmt->result_bind[param_no].zv); in MYSQLND_METHOD()
1611 stmt->result_bind[param_no].bound = TRUE; in MYSQLND_METHOD()
1623 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1624 return stmt? UPSERT_STATUS_GET_LAST_INSERT_ID(stmt->upsert_status) : 0; in MYSQLND_METHOD()
1633 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1634 return stmt? UPSERT_STATUS_GET_AFFECTED_ROWS(stmt->upsert_status) : 0; in MYSQLND_METHOD()
1643 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1644 return stmt && stmt->result? mysqlnd_num_rows(stmt->result):0; in MYSQLND_METHOD()
1653 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1654 return stmt? UPSERT_STATUS_GET_WARNINGS(stmt->upsert_status) : 0; in MYSQLND_METHOD()
1663 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1664 return stmt? UPSERT_STATUS_GET_SERVER_STATUS(stmt->upsert_status) : 0; in MYSQLND_METHOD()
1673 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1674 return stmt? stmt->field_count : 0; in MYSQLND_METHOD()
1683 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1684 return stmt? stmt->param_count : 0; in MYSQLND_METHOD()
1693 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1694 return stmt? stmt->error_info->error_no : 0; in MYSQLND_METHOD()
1703 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1704 return stmt? stmt->error_info->error : 0; in MYSQLND_METHOD()
1713 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1714 return stmt && stmt->error_info->sqlstate[0] ? stmt->error_info->sqlstate:MYSQLND_SQLSTATE_NULL; in MYSQLND_METHOD()
1723 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1724 return stmt && stmt->result? stmt->result->m.seek_data(stmt->result, row) : FAIL; in MYSQLND_METHOD()
1733 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1734 if (!stmt || !stmt->param_count) { in MYSQLND_METHOD()
1746 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1747 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
1751 if (!stmt || ! conn) { in MYSQLND_METHOD()
1754 DBG_INF_FMT("stmt=%u field_count=%u", stmt->stmt_id, stmt->field_count); in MYSQLND_METHOD()
1756 if (!stmt->field_count || !stmt->result || !stmt->result->meta) { in MYSQLND_METHOD()
1761 if (stmt->update_max_length && stmt->result->stored_data) { in MYSQLND_METHOD()
1763 stmt->result->stored_data->m.initialize_result_set_rest(stmt->result->stored_data, in MYSQLND_METHOD()
1764 stmt->result->meta, in MYSQLND_METHOD()
1775 result_meta = conn->m->result_init(stmt->field_count); in MYSQLND_METHOD()
1780 result_meta->unbuf = mysqlnd_result_unbuffered_init(result_meta, stmt->field_count, TRUE); in MYSQLND_METHOD()
1785 result_meta->meta = stmt->result->meta->m->clone_metadata(result_meta, stmt->result->meta); in MYSQLND_METHOD()
1809 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1811 if (!stmt) { in MYSQLND_METHOD()
1814 DBG_INF_FMT("stmt=%lu attr_type=%u", stmt->stmt_id, attr_type); in MYSQLND_METHOD()
1823 stmt->update_max_length = bval? TRUE:FALSE; in MYSQLND_METHOD()
1829 SET_CLIENT_ERROR(stmt->error_info, CR_NOT_IMPLEMENTED, UNKNOWN_SQLSTATE, "Not implemented"); in MYSQLND_METHOD()
1833 stmt->flags = ival; in MYSQLND_METHOD()
1841 SET_CLIENT_ERROR(stmt->error_info, CR_NOT_IMPLEMENTED, UNKNOWN_SQLSTATE, "Not implemented"); in MYSQLND_METHOD()
1845 stmt->prefetch_rows = ival; in MYSQLND_METHOD()
1849 SET_CLIENT_ERROR(stmt->error_info, CR_NOT_IMPLEMENTED, UNKNOWN_SQLSTATE, "Not implemented"); in MYSQLND_METHOD()
1864 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1866 if (!stmt) { in MYSQLND_METHOD()
1869 DBG_INF_FMT("stmt=%lu attr_type=%u", stmt->stmt_id, attr_type); in MYSQLND_METHOD()
1873 *(zend_bool *) value= stmt->update_max_length; in MYSQLND_METHOD()
1876 *(unsigned long *) value= stmt->flags; in MYSQLND_METHOD()
1879 *(unsigned long *) value= stmt->prefetch_rows; in MYSQLND_METHOD()
1895 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
1896 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD()
1899 if (!stmt || !conn) { in MYSQLND_METHOD()
1902 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in MYSQLND_METHOD()
1904 if (!stmt->result) { in MYSQLND_METHOD()
1913 if (stmt->state == MYSQLND_STMT_WAITING_USE_OR_STORE) { in MYSQLND_METHOD()
1916 stmt->default_rset_handler = s->m->use_result; in MYSQLND_METHOD()
1917 stmt->default_rset_handler(s); in MYSQLND_METHOD()
1920 if (stmt->state > MYSQLND_STMT_WAITING_USE_OR_STORE) { in MYSQLND_METHOD()
1923 stmt->result->m.skip_result(stmt->result); in MYSQLND_METHOD()
1931 stmt->result->m.free_result_buffers(stmt->result); in MYSQLND_METHOD()
1934 if (stmt->state > MYSQLND_STMT_PREPARED) { in MYSQLND_METHOD()
1936 stmt->state = MYSQLND_STMT_PREPARED; in MYSQLND_METHOD()
1952 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in mysqlnd_stmt_separate_result_bind() local
1956 if (!stmt) { in mysqlnd_stmt_separate_result_bind()
1959 …DBG_INF_FMT("stmt=%lu result_bind=%p field_count=%u", stmt->stmt_id, stmt->result_bind, stmt->fiel… in mysqlnd_stmt_separate_result_bind()
1961 if (!stmt->result_bind) { in mysqlnd_stmt_separate_result_bind()
1970 for (i = 0; i < stmt->field_count; i++) { in mysqlnd_stmt_separate_result_bind()
1972 if (stmt->result_bind[i].bound == TRUE) { in mysqlnd_stmt_separate_result_bind()
1973 …DBG_INF_FMT("%u has refcount=%u", i, Z_REFCOUNTED(stmt->result_bind[i].zv)? Z_REFCOUNT(stmt->resul… in mysqlnd_stmt_separate_result_bind()
1974 zval_ptr_dtor(&stmt->result_bind[i].zv); in mysqlnd_stmt_separate_result_bind()
1978 s->m->free_result_bind(s, stmt->result_bind); in mysqlnd_stmt_separate_result_bind()
1979 stmt->result_bind = NULL; in mysqlnd_stmt_separate_result_bind()
1990 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in mysqlnd_stmt_separate_one_result_bind() local
1992 if (!stmt) { in mysqlnd_stmt_separate_one_result_bind()
1995 …MT("stmt=%lu result_bind=%p field_count=%u param_no=%u", stmt->stmt_id, stmt->result_bind, stmt->f… in mysqlnd_stmt_separate_one_result_bind()
1997 if (!stmt->result_bind) { in mysqlnd_stmt_separate_one_result_bind()
2007 if (stmt->result_bind[param_no].bound == TRUE) { in mysqlnd_stmt_separate_one_result_bind()
2008 …NF_FMT("%u has refcount=%u", param_no, Z_REFCOUNTED(stmt->result_bind[param_no].zv)? Z_REFCOUNT(st… in mysqlnd_stmt_separate_one_result_bind()
2009 zval_ptr_dtor(&stmt->result_bind[param_no].zv); in mysqlnd_stmt_separate_one_result_bind()
2021 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
2023 if (!stmt) { in MYSQLND_METHOD()
2033 if (stmt->result) { in MYSQLND_METHOD()
2034 stmt->result->m.free_result_internal(stmt->result); in MYSQLND_METHOD()
2035 stmt->result = NULL; in MYSQLND_METHOD()
2037 zend_llist_clean(&stmt->error_info->error_list); in MYSQLND_METHOD()
2048 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
2050 if (!stmt) { in MYSQLND_METHOD()
2053 …DBG_INF_FMT("stmt=%lu param_bind=%p param_count=%u", stmt->stmt_id, stmt->param_bind, stmt->param_… in MYSQLND_METHOD()
2056 if (stmt->param_bind) { in MYSQLND_METHOD()
2063 for (i = 0; i < stmt->param_count; i++) { in MYSQLND_METHOD()
2068 zval_ptr_dtor(&stmt->param_bind[i].zv); in MYSQLND_METHOD()
2070 s->m->free_parameter_bind(s, stmt->param_bind); in MYSQLND_METHOD()
2071 stmt->param_bind = NULL; in MYSQLND_METHOD()
2084 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD_PRIVATE() local
2085 MYSQLND_CONN_DATA * conn = stmt? stmt->conn : NULL; in MYSQLND_METHOD_PRIVATE()
2089 if (!stmt || !conn) { in MYSQLND_METHOD_PRIVATE()
2092 DBG_INF_FMT("stmt=%lu", stmt->stmt_id); in MYSQLND_METHOD_PRIVATE()
2094 SET_EMPTY_ERROR(stmt->error_info); in MYSQLND_METHOD_PRIVATE()
2103 if (stmt->state == MYSQLND_STMT_WAITING_USE_OR_STORE) { in MYSQLND_METHOD_PRIVATE()
2105 stmt->default_rset_handler(s); in MYSQLND_METHOD_PRIVATE()
2106 stmt->state = MYSQLND_STMT_USER_FETCHING; in MYSQLND_METHOD_PRIVATE()
2110 if (stmt->result) { in MYSQLND_METHOD_PRIVATE()
2112 stmt->result->m.skip_result(stmt->result); in MYSQLND_METHOD_PRIVATE()
2119 if (stmt->stmt_id) { in MYSQLND_METHOD_PRIVATE()
2125 const size_t stmt_id = stmt->stmt_id; in MYSQLND_METHOD_PRIVATE()
2129 COPY_CLIENT_ERROR(stmt->error_info, *conn->error_info); in MYSQLND_METHOD_PRIVATE()
2134 switch (stmt->execute_count) { in MYSQLND_METHOD_PRIVATE()
2148 if (stmt->execute_cmd_buffer.buffer) { in MYSQLND_METHOD_PRIVATE()
2149 mnd_efree(stmt->execute_cmd_buffer.buffer); in MYSQLND_METHOD_PRIVATE()
2150 stmt->execute_cmd_buffer.buffer = NULL; in MYSQLND_METHOD_PRIVATE()
2157 stmt->conn = NULL; in MYSQLND_METHOD_PRIVATE()
2168 MYSQLND_STMT_DATA * stmt = (s != NULL) ? s->data:NULL; in MYSQLND_METHOD() local
2172 if (stmt) { in MYSQLND_METHOD()
2173 DBG_INF_FMT("stmt=%p", stmt); in MYSQLND_METHOD()
2179 mnd_efree(stmt); in MYSQLND_METHOD()
2193 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
2195 if (!stmt) { in MYSQLND_METHOD()
2198 DBG_RETURN(mnd_ecalloc(stmt->param_count, sizeof(MYSQLND_PARAM_BIND))); in MYSQLND_METHOD()
2207 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
2209 if (!stmt) { in MYSQLND_METHOD()
2212 DBG_RETURN(mnd_ecalloc(stmt->field_count, sizeof(MYSQLND_RESULT_BIND))); in MYSQLND_METHOD()
2221 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
2222 if (stmt) { in MYSQLND_METHOD()
2233 MYSQLND_STMT_DATA * stmt = s? s->data : NULL; in MYSQLND_METHOD() local
2234 if (stmt) { in MYSQLND_METHOD()