summaryrefslogtreecommitdiff
path: root/sql/hash_filo.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/hash_filo.h')
-rw-r--r--sql/hash_filo.h9
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);