diff options
author | unknown <serg@serg.mylan> | 2005-04-12 23:12:26 +0200 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2005-04-12 23:12:26 +0200 |
commit | 5630f0731ab020471108c67e7ae962ba6eaef625 (patch) | |
tree | fe052a745fa3bc2e6641777054a25dcbd12458a0 /sql/sql_parse.cc | |
parent | 923b76f8d1632d1214cb3bae34d0927cb6c2d14c (diff) | |
parent | 70d8ae0171b33d874c811243686f28bcd7ab69da (diff) | |
download | mariadb-git-5630f0731ab020471108c67e7ae962ba6eaef625.tar.gz |
Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r-- | sql/sql_parse.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index ee385f9792e..851be2b3434 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -4428,10 +4428,19 @@ unsent_create_error: else if (thd->transaction.xa_state == XA_PREPARED && thd->lex->xa_opt == XA_NONE) { - if (ha_commit_one_phase(thd, 1)) + if (wait_if_global_read_lock(thd, 0, 0)) + { + ha_rollback(thd); my_error(ER_XAER_RMERR, MYF(0)); + } else - send_ok(thd); + { + if (ha_commit_one_phase(thd, 1)) + my_error(ER_XAER_RMERR, MYF(0)); + else + send_ok(thd); + start_waiting_global_read_lock(thd); + } } else { |