77
77
extern unsigned char *hp_find_block(HP_BLOCK *info,uint32_t pos);
78
78
extern int hp_get_new_block(HP_BLOCK *info, size_t* alloc_length);
79
79
extern void hp_free(HP_SHARE *info);
80
extern unsigned char *hp_free_level(HP_BLOCK *block,uint level,HP_PTRS *pos,
80
extern unsigned char *hp_free_level(HP_BLOCK *block,uint32_t level,HP_PTRS *pos,
81
81
unsigned char *last_pos);
82
82
extern int hp_write_key(HP_INFO *info, HP_KEYDEF *keyinfo,
83
83
const unsigned char *record, unsigned char *recpos);
89
89
const unsigned char *record,unsigned char *recpos,int flag);
90
90
extern HASH_INFO *_heap_find_hash(HP_BLOCK *block,uint32_t pos);
91
91
extern unsigned char *hp_search(HP_INFO *info,HP_KEYDEF *keyinfo,const unsigned char *key,
93
93
extern unsigned char *hp_search_next(HP_INFO *info, HP_KEYDEF *keyinfo,
94
94
const unsigned char *key, HASH_INFO *pos);
95
95
extern uint32_t hp_hashnr(HP_KEYDEF *keyinfo,const unsigned char *key);
103
103
extern int hp_key_cmp(HP_KEYDEF *keydef,const unsigned char *rec,
104
104
const unsigned char *key);
105
105
extern void hp_make_key(HP_KEYDEF *keydef,unsigned char *key,const unsigned char *rec);
106
extern uint hp_rb_make_key(HP_KEYDEF *keydef, unsigned char *key,
106
extern uint32_t hp_rb_make_key(HP_KEYDEF *keydef, unsigned char *key,
107
107
const unsigned char *rec, unsigned char *recpos);
108
extern uint hp_rb_key_length(HP_KEYDEF *keydef, const unsigned char *key);
109
extern uint hp_rb_null_key_length(HP_KEYDEF *keydef, const unsigned char *key);
110
extern uint hp_rb_var_key_length(HP_KEYDEF *keydef, const unsigned char *key);
108
extern uint32_t hp_rb_key_length(HP_KEYDEF *keydef, const unsigned char *key);
109
extern uint32_t hp_rb_null_key_length(HP_KEYDEF *keydef, const unsigned char *key);
110
extern uint32_t hp_rb_var_key_length(HP_KEYDEF *keydef, const unsigned char *key);
111
111
extern bool hp_if_null_in_key(HP_KEYDEF *keyinfo, const unsigned char *record);
112
112
extern int hp_close(register HP_INFO *info);
113
113
extern void hp_clear(HP_SHARE *info);
114
114
extern void hp_clear_keys(HP_SHARE *info);
115
extern uint hp_rb_pack_key(HP_KEYDEF *keydef, unsigned char *key, const unsigned char *old,
115
extern uint32_t hp_rb_pack_key(HP_KEYDEF *keydef, unsigned char *key, const unsigned char *old,
116
116
key_part_map keypart_map);
118
118
/* Chunkset management (alloc/free/encode/decode) functions */
120
extern unsigned char *hp_allocate_chunkset(HP_DATASPACE *info, uint chunk_count);
121
extern int hp_reallocate_chunkset(HP_DATASPACE *info, uint chunk_count, unsigned char* pos);
120
extern unsigned char *hp_allocate_chunkset(HP_DATASPACE *info, uint32_t chunk_count);
121
extern int hp_reallocate_chunkset(HP_DATASPACE *info, uint32_t chunk_count, unsigned char* pos);
122
122
extern void hp_free_chunks(HP_DATASPACE *info, unsigned char *pos);
123
123
extern void hp_clear_dataspace(HP_DATASPACE *info);
125
extern uint hp_get_encoded_data_length(HP_SHARE *info, const unsigned char *record, uint *chunk_count);
125
extern uint32_t hp_get_encoded_data_length(HP_SHARE *info, const unsigned char *record, uint32_t *chunk_count);
126
126
extern void hp_copy_record_data_to_chunkset(HP_SHARE *info, const unsigned char *record, unsigned char *pos);
127
127
extern void hp_extract_record(HP_SHARE *info, unsigned char *record, const unsigned char *pos);
128
extern uint hp_process_record_data_to_chunkset(HP_SHARE *info, const unsigned char *record, unsigned char *pos, uint is_compare);
128
extern uint32_t hp_process_record_data_to_chunkset(HP_SHARE *info, const unsigned char *record, unsigned char *pos, uint32_t is_compare);