summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
authorunknown <knielsen@knielsen-hq.org>2014-04-11 08:39:48 +0200
committerunknown <knielsen@knielsen-hq.org>2014-04-11 08:39:48 +0200
commit68bad3c7c0a0f0babcb18590d1cb2c6a2873eb15 (patch)
tree466f0b7125012152ba54f80c9c02648e94a1ecba /sql/handler.h
parente772cbd7b774add42821c33b13ea052f8c9e2e6e (diff)
downloadmariadb-git-68bad3c7c0a0f0babcb18590d1cb2c6a2873eb15.tar.gz
MDEV-6067: Partitioned table DML sometimes binlogged without XID event
Revert the old patch revid:monty@askmonty.org-20100325133339-7mkel6valai0b4lb This patch caused the InnoDB part of the transaction to not be marked read-write in some cases, which messes up XA commit (and likely other stuff as well).
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h18
1 files changed, 3 insertions, 15 deletions
diff --git a/sql/handler.h b/sql/handler.h
index 16bf3daa08c..1faf9761391 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -1255,7 +1255,6 @@ public:
enum {NONE=0, INDEX, RND} inited;
bool locked;
bool implicit_emptied; /* Can be !=0 only if HEAP */
- bool mark_trx_done;
bool cloned; /* 1 if this was created with clone */
const COND *pushed_cond;
/**
@@ -1300,7 +1299,7 @@ public:
ref(0), key_used_on_scan(MAX_KEY), active_index(MAX_KEY),
ref_length(sizeof(my_off_t)),
ft_handler(0), inited(NONE),
- locked(FALSE), implicit_emptied(FALSE), mark_trx_done(FALSE), cloned(0),
+ locked(FALSE), implicit_emptied(FALSE), cloned(0),
pushed_cond(0), next_insert_id(0), insert_id_for_cur_row(0),
auto_inc_intervals_count(0)
{
@@ -1360,13 +1359,6 @@ public:
}
int ha_rnd_init_with_error(bool scan) __attribute__ ((warn_unused_result));
int ha_reset();
- /* Tell handler (not storage engine) this is start of a new statement */
- void ha_start_of_new_statement()
- {
- ft_handler= 0;
- mark_trx_done= FALSE;
- }
-
/* this is necessary in many places, e.g. in HANDLER command */
int ha_index_or_rnd_end()
{
@@ -1996,12 +1988,8 @@ protected:
private:
/* Private helpers */
- void mark_trx_read_write_part2();
- inline void mark_trx_read_write()
- {
- if (!mark_trx_done)
- mark_trx_read_write_part2();
- }
+ inline void mark_trx_read_write();
+private:
inline void increment_statistics(ulong SSV::*offset) const;
inline void decrement_statistics(ulong SSV::*offset) const;