Commit 0319b958 authored by unknown's avatar unknown
Browse files

ha_innodb.cc:

  In TRUNCATE TABLE, MySQL may call innobase_xa_prepare() even though there is no active transaction because it was committed in ha_innobase::delete_all_rows(); in innobase_xa_prepare() InnoDB starts then a new transaction; let us adjust the trx->active_trans flag accordingly


sql/ha_innodb.cc:
  In TRUNCATE TABLE, MySQL may call innobase_xa_prepare() even though there is no active transaction because it was committed in ha_innobase::delete_all_rows(); in innobase_xa_prepare() InnoDB starts then a new transaction; let us adjust the trx->active_trans flag accordingly
parent 6b5ad3c1
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -6313,6 +6313,14 @@ innobase_xa_prepare(
                /* We were instructed to prepare the whole transaction, or
                this is an SQL statement end and autocommit is on */

		/* If there is no active InnoDB transaction,
		trx_prepare_for_mysql() will (temporarily) start one */
	
        	if (trx->active_trans == 0) {

                	trx->active_trans = 1;
        	}

		error = trx_prepare_for_mysql(trx);
	} else {
	        /* We just mark the SQL statement ended and do not do a