MCPcopy Create free account
hub / github.com/MariaDB/server / net_send_error_packet

Method net_send_error_packet

libmysqld/lib_sql.cc:1348–1377  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1346
1347
1348bool Protocol::net_send_error_packet(THD *thd, uint sql_errno, const char *err,
1349 const char *sqlstate)
1350{
1351 uint error;
1352 char converted_err[MYSQL_ERRMSG_SIZE];
1353 MYSQL_DATA *data= thd->cur_data;
1354 struct embedded_query_result *ei;
1355
1356 if (!thd->mysql) // bootstrap file handling
1357 {
1358 fprintf(stderr, "ERROR: %d %s\n", sql_errno, err);
1359 return TRUE;
1360 }
1361
1362 if (!data)
1363 data= thd->alloc_new_dataset();
1364
1365 ei= data->embedded_info;
1366 ei->last_errno= sql_errno;
1367 convert_error_message(converted_err, sizeof(converted_err),
1368 thd->variables.character_set_results,
1369 err, strlen(err),
1370 system_charset_info, &error);
1371 /* Converted error message is always null-terminated. */
1372 strmake_buf(ei->info, converted_err);
1373 strmov(ei->sqlstate, sqlstate);
1374 ei->server_status= thd->server_status;
1375 thd->cur_data= 0;
1376 return FALSE;
1377}
1378
1379
1380void Protocol_text::prepare_for_resend()

Callers

nothing calls this directly

Calls 3

convert_error_messageFunction · 0.85
strmovFunction · 0.85
alloc_new_datasetMethod · 0.45

Tested by

no test coverage detected