summaryrefslogtreecommitdiff
path: root/storage/heap/ha_heap.h
diff options
context:
space:
mode:
authorgkodinov/kgeorge@magare.gmz <>2007-07-18 15:56:29 +0300
committergkodinov/kgeorge@magare.gmz <>2007-07-18 15:56:29 +0300
commitf6225e20486ec17d86992973923db81511c2700e (patch)
tree41c1dde4a4218d15c8b9a50136bece1db3b96eaa /storage/heap/ha_heap.h
parentbec9500ec074c0349868fc69504b71bd7fcee0fe (diff)
parent4f579b8d0e3e8bc3d8eb57eca7d3c656c77cb10b (diff)
downloadmariadb-git-f6225e20486ec17d86992973923db81511c2700e.tar.gz
Merge magare.gmz:/home/kgeorge/mysql/work/mysql-5.0-opt
into magare.gmz:/home/kgeorge/mysql/work/merge-5.0-5.1-opt
Diffstat (limited to 'storage/heap/ha_heap.h')
-rw-r--r--storage/heap/ha_heap.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/storage/heap/ha_heap.h b/storage/heap/ha_heap.h
index f41c710716d..c414383a4aa 100644
--- a/storage/heap/ha_heap.h
+++ b/storage/heap/ha_heap.h
@@ -32,6 +32,7 @@ class ha_heap: public handler
public:
ha_heap(handlerton *hton, TABLE_SHARE *table);
~ha_heap() {}
+ handler *clone(MEM_ROOT *mem_root);
const char *table_type() const
{
return (table->in_use->variables.sql_mode & MODE_MYSQL323) ?
@@ -55,8 +56,8 @@ public:
ulong index_flags(uint inx, uint part, bool all_parts) const
{
return ((table_share->key_info[inx].algorithm == HA_KEY_ALG_BTREE) ?
- HA_READ_NEXT | HA_READ_PREV | HA_READ_ORDER | HA_READ_RANGE :
- HA_ONLY_WHOLE_INDEX);
+ HA_READ_NEXT | HA_READ_PREV | HA_READ_ORDER | HA_READ_RANGE :
+ HA_ONLY_WHOLE_INDEX | HA_KEY_SCAN_NOT_ROR);
}
const key_map *keys_to_use_for_scanning() { return &btree_keys; }
uint max_supported_keys() const { return MAX_KEY; }
@@ -108,9 +109,7 @@ public:
enum thr_lock_type lock_type);
int cmp_ref(const uchar *ref1, const uchar *ref2)
{
- HEAP_PTR ptr1=*(HEAP_PTR*)ref1;
- HEAP_PTR ptr2=*(HEAP_PTR*)ref2;
- return ptr1 < ptr2? -1 : (ptr1 > ptr2? 1 : 0);
+ return memcmp(ref1, ref2, sizeof(HEAP_PTR));
}
bool check_if_incompatible_data(HA_CREATE_INFO *info, uint table_changes);
private: