summaryrefslogtreecommitdiff
path: root/sql/opt_range.h
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2012-11-03 12:24:36 +0400
committerSergey Petrunya <psergey@askmonty.org>2012-11-03 12:24:36 +0400
commitbe0be7af47fcc75b798fcf7aa98dda9c7d31cc15 (patch)
tree6d47869d528e86fe4bcca67de31ae355e4959f18 /sql/opt_range.h
parent40e94a3734b1daa254810c4be64e17b84dbbc2a2 (diff)
downloadmariadb-git-be0be7af47fcc75b798fcf7aa98dda9c7d31cc15.tar.gz
# MDEV-3817: Wrong result with index_merge+index_merge_intersection, InnoDB table, join, AND and OR conditions
Reconcile the fixes from: # # guilhem.bichot@oracle.com-20110805143029-ywrzuz15uzgontr0 # Fix for BUG#12698916 - "JOIN QUERY GIVES WRONG RESULT AT 2ND EXEC. OR # AFTER FLUSH TABLES [-INT VS NULL]" # # guilhem.bichot@oracle.com-20111209150650-tzx3ldzxe1yfwji6 # Fix for BUG#12912171 - ASSERTION FAILED: QUICK->HEAD->READ_SET == SAVE_READ_SET # and # and related fixes from: BUG#1006164, MDEV-376: Now, ROR-merged QUICK_RANGE_SELECT objects make no assumptions about the values of table->read_set and table->write_set. Each QUICK_ROR_SELECT has (and had before) its own column bitmap, but now, all QUICK_ROR_SELECT's functions that care: reset(), init_ror_merged_scan(), and get_next() will set table->read_set when invoked and restore it back to what it was before the call before they return. This allows to avoid the mess when somebody else modifies table->read_set for some reason.
Diffstat (limited to 'sql/opt_range.h')
-rw-r--r--sql/opt_range.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/opt_range.h b/sql/opt_range.h
index efb45f96345..c59b2a7eb02 100644
--- a/sql/opt_range.h
+++ b/sql/opt_range.h
@@ -430,7 +430,7 @@ protected:
/* Members to deal with case when this quick select is a ROR-merged scan */
bool in_ror_merged_scan;
- MY_BITMAP column_bitmap, *save_read_set, *save_write_set;
+ MY_BITMAP column_bitmap;
bool free_file; /* TRUE <=> this->file is "owned" by this quick select */
/* Range pointers to be used when not using MRR interface */