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.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/sql/opt_range.h b/sql/opt_range.h
index bf10c02c295..2df9d93e1ef 100644
--- a/sql/opt_range.h
+++ b/sql/opt_range.h
@@ -35,7 +35,7 @@
typedef struct st_key_part {
- uint16 key,part,part_length;
+ uint16 key,part, store_length, length;
uint8 null_bit;
Field *field;
Field::imagetype image_type;
@@ -68,7 +68,7 @@ class QUICK_RANGE :public Sql_alloc {
class QUICK_SELECT {
public:
- bool next,dont_free;
+ bool next,dont_free,sorted;
int error;
uint index, max_used_key_length, used_key_parts;
TABLE *head;
@@ -89,11 +89,20 @@ public:
int init() { return error=file->index_init(index); }
virtual int get_next();
virtual bool reverse_sorted() { return 0; }
- int cmp_next(QUICK_RANGE *range);
bool unique_key_range();
};
+class QUICK_SELECT_GEOM: public QUICK_SELECT
+{
+public:
+ QUICK_SELECT_GEOM(THD *thd, TABLE *table, uint index_arg, bool no_alloc)
+ :QUICK_SELECT(thd, table, index_arg, no_alloc)
+ {};
+ virtual int get_next();
+};
+
+
class QUICK_SELECT_DESC: public QUICK_SELECT
{
public: