summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-04-08 15:02:25 +0300
committerunknown <monty@mysql.com>2004-04-08 15:02:25 +0300
commit46bd7be2409e80b36de3cd0d49af33557ffa74a9 (patch)
tree88dba92be198f649f534fac8577c3cdc4a7af842 /sql/handler.h
parent94002eb59512e78df76922ae5c2204359fc306e4 (diff)
parent16845a71aa333bd43522a90652c87dcd953f9191 (diff)
downloadmariadb-git-46bd7be2409e80b36de3cd0d49af33557ffa74a9.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1 sql/field.cc: Auto merged sql/field.h: Auto merged sql/handler.h: Auto merged sql/opt_range.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_select.cc: Auto merged sql/table.cc: Auto merged
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/sql/handler.h b/sql/handler.h
index 80a3c2e7f1b..f1bce5950c4 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -218,6 +218,14 @@ typedef struct st_ha_check_opt
} HA_CHECK_OPT;
+typedef struct st_key_range
+{
+ const byte *key;
+ uint length;
+ enum ha_rkey_function flag;
+} key_range;
+
+
class handler :public Sql_alloc
{
protected:
@@ -239,6 +247,12 @@ public:
time_t create_time; /* When table was created */
time_t check_time;
time_t update_time;
+
+ /* The following are for read_range() */
+ key_range save_end_range, *end_range;
+ KEY_PART_INFO *range_key_part;
+ int key_compare_result_on_equal;
+
uint errkey; /* Last dup key */
uint sortkey, key_used_on_scan;
uint active_index;
@@ -250,6 +264,7 @@ public:
bool auto_increment_column_changed;
bool implicit_emptied; /* Can be !=0 only if HEAP */
+
handler(TABLE *table_arg) :table(table_arg),
ref(0), data_file_length(0), max_data_file_length(0), index_file_length(0),
delete_length(0), auto_increment_value(0),
@@ -298,6 +313,11 @@ public:
{
return (my_errno=HA_ERR_WRONG_COMMAND);
}
+ virtual int handler::read_range_first(const key_range *start_key,
+ const key_range *end_key,
+ bool sorted);
+ virtual int handler::read_range_next(bool eq_range);
+ int handler::compare_key(key_range *range);
virtual int ft_init()
{ return -1; }
virtual FT_INFO *ft_init_ext(uint flags,uint inx,const byte *key, uint keylen)