450
453
row->trx_weight = (ullint) ut_conv_dulint_to_longlong(TRX_WEIGHT(trx));
452
if (trx->mysql_thd != NULL) {
453
row->trx_mysql_thread_id
454
= thd_get_thread_id(trx->mysql_thd);
455
if (trx->mysql_thd == NULL) {
456
456
/* For internal transactions e.g., purge and transactions
457
457
being recovered at startup there is no associated MySQL
458
458
thread data structure. */
459
459
row->trx_mysql_thread_id = 0;
460
row->trx_query = NULL;
462
if (trx->mysql_query_str != NULL && *trx->mysql_query_str != NULL) {
464
if (strlen(*trx->mysql_query_str)
465
> TRX_I_S_TRX_QUERY_MAX_LEN) {
467
char query[TRX_I_S_TRX_QUERY_MAX_LEN + 1];
469
memcpy(query, *trx->mysql_query_str,
470
TRX_I_S_TRX_QUERY_MAX_LEN);
471
query[TRX_I_S_TRX_QUERY_MAX_LEN] = '\0';
473
row->trx_query = ha_storage_put_memlim(
474
cache->storage, query,
475
TRX_I_S_TRX_QUERY_MAX_LEN + 1,
476
MAX_ALLOWED_FOR_STORAGE(cache));
479
row->trx_query = ha_storage_put_str_memlim(
480
cache->storage, *trx->mysql_query_str,
481
MAX_ALLOWED_FOR_STORAGE(cache));
464
row->trx_mysql_thread_id = thd_get_thread_id(trx->mysql_thd);
465
stmt = innobase_get_stmt(trx->mysql_thd, &stmt_len);
469
char query[TRX_I_S_TRX_QUERY_MAX_LEN + 1];
471
if (stmt_len > TRX_I_S_TRX_QUERY_MAX_LEN) {
472
stmt_len = TRX_I_S_TRX_QUERY_MAX_LEN;
475
memcpy(query, stmt, stmt_len);
476
query[stmt_len] = '\0';
478
row->trx_query = ha_storage_put_memlim(
479
cache->storage, stmt, stmt_len + 1,
480
MAX_ALLOWED_FOR_STORAGE(cache));
484
482
if (row->trx_query == NULL) {