00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #pragma once
00021
00022 #include <drizzled/memory/sql_alloc.h>
00023 #include <drizzled/base.h>
00024
00025 namespace drizzled
00026 {
00027
00028 namespace optimizer
00029 {
00030
00031 class QuickRange : public memory::SqlAlloc
00032 {
00033 public:
00034 unsigned char *min_key;
00035 unsigned char *max_key;
00036 uint16_t min_length;
00037 uint16_t max_length;
00038 uint16_t flag;
00039 key_part_map min_keypart_map;
00040 key_part_map max_keypart_map;
00042 QuickRange();
00043 QuickRange(const unsigned char *min_key_arg,
00044 uint32_t min_length_arg,
00045 key_part_map min_keypart_map_arg,
00046 const unsigned char *max_key_arg,
00047 uint32_t max_length_arg,
00048 key_part_map max_keypart_map_arg,
00049 uint32_t flag_arg)
00050 :
00051 min_key((unsigned char*) memory::sql_memdup(min_key_arg,min_length_arg+1)),
00052 max_key((unsigned char*) memory::sql_memdup(max_key_arg,max_length_arg+1)),
00053 min_length((uint16_t) min_length_arg),
00054 max_length((uint16_t) max_length_arg),
00055 flag((uint16_t) flag_arg),
00056 min_keypart_map(min_keypart_map_arg),
00057 max_keypart_map(max_keypart_map_arg)
00058 {}
00059 };
00060
00061 }
00062
00063 }
00064