From cc05d6dca1e36725a0def473f2ffb05c1eb3356b Mon Sep 17 00:00:00 2001 From: "jan@hundin.mysql.fi" <> Date: Thu, 18 Aug 2005 06:38:01 +0300 Subject: [PATCH] Allow consistent cursor view see changes made by creating transaction. This is quick fix and needs to be fixed when semi-consistent high-granularity read view is implemented (Bug #12456). --- innobase/read/read0read.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/innobase/read/read0read.c b/innobase/read/read0read.c index dc1ae2f1a16..06349c1fd39 100644 --- a/innobase/read/read0read.c +++ b/innobase/read/read0read.c @@ -310,11 +310,13 @@ read_cursor_view_create_for_mysql( n = 0; trx = UT_LIST_GET_FIRST(trx_sys->trx_list); - /* No active transaction should be visible, not even cr_trx !*/ + /* No active transaction should be visible, except cr_trx. + This is quick fix for a bug 12456 and needs to be fixed when + semi-consistent high-granularity read view is implemented. */ while (trx) { - if (trx->conc_state == TRX_ACTIVE || - trx->conc_state == TRX_PREPARED) { + if (trx != cr_trx && (trx->conc_state == TRX_ACTIVE || + trx->conc_state == TRX_PREPARED)) { read_view_set_nth_trx_id(view, n, trx->id);