diff options
Diffstat (limited to 'sql/hash_filo.h')
-rw-r--r-- | sql/hash_filo.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sql/hash_filo.h b/sql/hash_filo.h index f7384cc6e32..92cd2658967 100644 --- a/sql/hash_filo.h +++ b/sql/hash_filo.h @@ -42,6 +42,7 @@ class hash_filo const hash_get_key get_key; hash_free_key free_element; bool init; + CHARSET_INFO *hash_charset; hash_filo_element *first_link,*last_link; public: @@ -49,9 +50,11 @@ public: HASH cache; hash_filo(uint size_arg, uint key_offset_arg , uint key_length_arg, - hash_get_key get_key_arg, hash_free_key free_element_arg) + hash_get_key get_key_arg, hash_free_key free_element_arg, + CHARSET_INFO *hash_charset_arg) :size(size_arg), key_offset(key_offset_arg), key_length(key_length_arg), - get_key(get_key_arg), free_element(free_element_arg),init(0) + get_key(get_key_arg), free_element(free_element_arg),init(0), + hash_charset(hash_charset_arg) { bzero((char*) &cache,sizeof(cache)); } @@ -75,7 +78,7 @@ public: if (!locked) (void) pthread_mutex_lock(&lock); (void) hash_free(&cache); - (void) hash_init(&cache,system_charset_info,size,key_offset, + (void) hash_init(&cache,hash_charset,size,key_offset, key_length, get_key, free_element,0); if (!locked) (void) pthread_mutex_unlock(&lock); |