diff options
author | unknown <jan@hundin.mysql.fi> | 2005-08-18 06:38:01 +0300 |
---|---|---|
committer | unknown <jan@hundin.mysql.fi> | 2005-08-18 06:38:01 +0300 |
commit | bbd4f64aca7e7218ce39b6d9e115f16a08e58a8e (patch) | |
tree | 08ebb7e679caa2363494ae8f2e6b133a7b44def9 /innobase/read | |
parent | 4d2bf4befcf6a91978c60b9a402301e864ed999e (diff) | |
download | mariadb-git-bbd4f64aca7e7218ce39b6d9e115f16a08e58a8e.tar.gz |
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).
Diffstat (limited to 'innobase/read')
-rw-r--r-- | innobase/read/read0read.c | 8 |
1 files 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); |