summaryrefslogtreecommitdiff
path: root/innobase/row
diff options
context:
space:
mode:
authorunknown <jan@hundin.mysql.fi>2004-12-13 08:59:52 +0200
committerunknown <jan@hundin.mysql.fi>2004-12-13 08:59:52 +0200
commitd2dc0a108673b80f6925fa7cc13218923714468d (patch)
treecf22489a371d2dca4c44ee890e456fb11e13a74d /innobase/row
parentb952066259258c1ce8d45ff2fbbee28f1ef27133 (diff)
parentc418ae98ef303f1388119c1847822d7965b2f7db (diff)
downloadmariadb-git-d2dc0a108673b80f6925fa7cc13218923714468d.tar.gz
Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/jan/mysql-5.0 innobase/include/lock0lock.h: Auto merged innobase/lock/lock0lock.c: Auto merged sql/sql_yacc.yy: Auto merged
Diffstat (limited to 'innobase/row')
-rw-r--r--innobase/row/row0mysql.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/innobase/row/row0mysql.c b/innobase/row/row0mysql.c
index 4a65cbff8b5..e959c28f6bb 100644
--- a/innobase/row/row0mysql.c
+++ b/innobase/row/row0mysql.c
@@ -784,7 +784,7 @@ row_lock_table_for_mysql(
table handle */
dict_table_t* table, /* in: table to lock, or NULL
if prebuilt->table should be
- locked as LOCK_TABLE_EXP |
+ locked or a
prebuilt->select_lock_type */
ulint mode) /* in: lock mode of table */
{
@@ -822,8 +822,14 @@ run_again:
if (table) {
err = lock_table(0, table, mode, thr);
} else {
- err = lock_table(LOCK_TABLE_EXP, prebuilt->table,
- prebuilt->select_lock_type, thr);
+ if (mode == LOCK_TABLE_TRANSACTIONAL) {
+ err = lock_table(LOCK_TABLE_TRANSACTIONAL,
+ prebuilt->table,
+ prebuilt->select_lock_type, thr);
+ } else {
+ err = lock_table(LOCK_TABLE_EXP, prebuilt->table,
+ prebuilt->select_lock_type, thr);
+ }
}
trx->error_state = err;