summaryrefslogtreecommitdiff
path: root/sql/opt_range.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/opt_range.h')
-rw-r--r--sql/opt_range.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/sql/opt_range.h b/sql/opt_range.h
index bb0d27b722c..bf10c02c295 100644
--- a/sql/opt_range.h
+++ b/sql/opt_range.h
@@ -130,11 +130,22 @@ class SQL_SELECT :public Sql_alloc {
void cleanup();
bool check_quick(THD *thd, bool force_quick_range, ha_rows limit)
{ return test_quick_select(thd, key_map(~0), 0, limit, force_quick_range) < 0; }
- inline bool skipp_record() { return cond ? cond->val_int() == 0 : 0; }
+ inline bool skip_record() { return cond ? cond->val_int() == 0 : 0; }
int test_quick_select(THD *thd, key_map keys, table_map prev_tables,
ha_rows limit, bool force_quick_range=0);
};
+
+class FT_SELECT: public QUICK_SELECT {
+public:
+ FT_SELECT(THD *thd, TABLE *table, uint key):
+ QUICK_SELECT (thd, table, key, 1) { init(); }
+
+ int init() { return error= file->ft_init(); }
+ int get_next() { return error= file->ft_read(record); }
+};
+
+
QUICK_SELECT *get_quick_select_for_ref(THD *thd, TABLE *table,
struct st_table_ref *ref);