Commit 61810696 authored by Zardosht Kasheff's avatar Zardosht Kasheff Committed by Yoni Fogel

addresses #1709

make rnd_pos always unpack entire row, implement column_bitmaps_signal()

git-svn-id: file:///svn/mysql/tokudb-engine/src@11491 c7de825b-a66e-492c-adef-691d508d4ae1
parent f54c1956
......@@ -2791,7 +2791,7 @@ void ha_tokudb::set_query_columns(uint keynr) {
//
uint key_index = 0;
if (keynr == primary_key) {
if (keynr == primary_key || keynr == MAX_KEY) {
key_index = primary_key;
}
else {
......@@ -2836,6 +2836,11 @@ void ha_tokudb::set_query_columns(uint keynr) {
num_var_cols_for_query = curr_var_col_index;
}
void ha_tokudb::column_bitmaps_signal() {
if (active_index != MAX_KEY) {
set_query_columns(active_index);
}
}
//
// Notification that a scan of entire secondary table is about
......@@ -3662,7 +3667,10 @@ int ha_tokudb::rnd_pos(uchar * buf, uchar * pos) {
}
if (!error) {
bool old_unpack_entire_row = unpack_entire_row;
unpack_entire_row = true;
error = read_row(buf, primary_key, &current_row, key);
unpack_entire_row = old_unpack_entire_row;
}
cleanup:
TOKUDB_DBUG_RETURN(error);
......
......@@ -335,6 +335,7 @@ public:
int delete_row(const uchar * buf);
int prepare_index_scan();
void column_bitmaps_signal();
int index_init(uint index, bool sorted);
int index_end();
int index_next_same(uchar * buf, const uchar * key, uint keylen);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment