Commit 9f9ed55e authored by Vasil Dimov's avatar Vasil Dimov

Merge mysql-5.1-innodb from bk-internal to my local repo

parents 1abb5ad5 f9c48548
......@@ -583,13 +583,13 @@ thd_is_select(
/************************************************************************
Obtain the InnoDB transaction of a MySQL thread. */
inline
trx_t*&
trx_t*
thd_to_trx(
/*=======*/
/* out: reference to transaction pointer */
THD* thd) /* in: MySQL thread */
{
return(*(trx_t**) thd_ha_data(thd, innodb_hton_ptr));
return((trx_t*) thd_get_ha_data(thd, innodb_hton_ptr));
}
/************************************************************************
......@@ -1164,7 +1164,7 @@ check_trx_exists(
/* out: InnoDB transaction handle */
THD* thd) /* in: user thread handle */
{
trx_t*& trx = thd_to_trx(thd);
trx_t* trx = thd_to_trx(thd);
ut_ad(thd == current_thd);
......@@ -1178,6 +1178,9 @@ check_trx_exists(
/* Update the info whether we should skip XA steps that eat
CPU time */
trx->support_xa = THDVAR(thd, support_xa);
/* We have a new trx, register with the thread handle */
thd_set_ha_data(thd, innodb_hton_ptr, trx);
} else {
if (trx->magic_n != TRX_MAGIC_N) {
mem_analyze_corruption(trx);
......@@ -2482,6 +2485,9 @@ innobase_close_connection(
innobase_rollback_trx(trx);
/* Release the lock in thread handler */
thd_set_ha_data(thd, hton, NULL);
thr_local_free(trx->mysql_thread_id);
trx_free_for_mysql(trx);
......
......@@ -1666,7 +1666,7 @@ row_merge(
return(DB_CORRUPTION);
}
ut_ad(n_run < *num_run);
ut_ad(n_run <= *num_run);
*num_run = n_run;
......@@ -1714,6 +1714,11 @@ row_merge_sort(
/* Record the number of merge runs we need to perform */
num_runs = file->offset;
/* If num_runs are less than 1, nothing to merge */
if (num_runs <= 1) {
return(error);
}
/* "run_offset" records each run's first offset number */
run_offset = (ulint*) mem_alloc(file->offset * sizeof(ulint));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment