mirror of
https://github.com/MariaDB/server.git
synced 2026-05-06 15:15:34 +02:00
Cleanup/optimizations of structures and key usage to make it easier to move key-range-search to handler
sql/field.cc: Use 'HA_KEY_BLOB_LENGTH' instead of '2' for 'packed-length' Changed 'get_key_image' and 'set_key_image' to take length data part of key (without length-store bytes). This makes the interface easier to use from opt_range.cc sql/field.h: Indentation fix sql/opt_range.cc: Changed KEY_PART to use KEY_PART_INFO->store_length (which includes null-byte if needed) This makes some functions easier and allowed us to easier use the new get_key_image/set_key_image interfaces Simple loop optimization. sql/opt_range.h: Changed part_length -> store_length and added length to KEY_PART. This make this structure more like KEY_PART_INFO Added 'sorted' to QUICK_SELECT for NDB sql/sql_class.cc: Fixed compiler warning sql/sql_select.cc: Set 'quick->sorted' if keys should be sorted (for NDB) sql/table.cc: GEOMETRY KEYS doesn't have length prefix in keys
This commit is contained in:
parent
e9447881eb
commit
3cb13f7926
7 changed files with 140 additions and 124 deletions
|
|
@ -199,7 +199,8 @@ public:
|
|||
{ memcpy(buff,ptr,length); }
|
||||
inline void set_image(char *buff,uint length, CHARSET_INFO *cs)
|
||||
{ memcpy(ptr,buff,length); }
|
||||
virtual void get_key_image(char *buff,uint length, CHARSET_INFO *cs, imagetype type)
|
||||
virtual void get_key_image(char *buff,uint length, CHARSET_INFO *cs,
|
||||
imagetype type)
|
||||
{ get_image(buff,length,cs); }
|
||||
virtual void set_key_image(char *buff,uint length, CHARSET_INFO *cs)
|
||||
{ set_image(buff,length,cs); }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue