summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorserg@janus.mylan <>2007-01-29 10:40:26 +0100
committerserg@janus.mylan <>2007-01-29 10:40:26 +0100
commita07fd5fa8ff4b5b98fbe79b8e7301d5effaf9c2f (patch)
treef14bd08181ddd81d2a41f06d9bf0f11d6edf53b5 /sql/sql_select.h
parent045d7047095be717c94fd823252d513dad8c4478 (diff)
downloadmariadb-git-a07fd5fa8ff4b5b98fbe79b8e7301d5effaf9c2f.tar.gz
WL#3700: Handler API change: all index search methods - that is,
index_read(), index_read_idx(), index_read_last(), and records_in_range() - instead of 'uint keylen' argument take 'ulonglong keypart_map', a bitmap showing which keyparts are present in the key value. Fallback method is provided for handlers that are lagging behind.
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index 1d1fa666c60..4e47f5a8134 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -202,6 +202,11 @@ typedef struct st_join_table {
}
} JOIN_TAB;
+static inline ulonglong tab_to_keypart_map(JOIN_TAB *tab)
+{
+ return (ULL(1) << tab->ref.key_parts) - 1;
+}
+
enum_nested_loop_state sub_select_cache(JOIN *join, JOIN_TAB *join_tab, bool
end_of_records);
enum_nested_loop_state sub_select(JOIN *join,JOIN_TAB *join_tab, bool