diff options
author | unknown <bar@gw.udmsearch.izhnet.ru> | 2002-03-12 21:37:58 +0400 |
---|---|---|
committer | unknown <bar@gw.udmsearch.izhnet.ru> | 2002-03-12 21:37:58 +0400 |
commit | 68375e0f008d109f574491bd3b0eb2184e6f3ad2 (patch) | |
tree | aa6dbf1781d8122e350474b0cac9e5ee443426bc /heap/hp_hash.c | |
parent | 003b294967317b4710714d8d2ab4880b8e5682e3 (diff) | |
download | mariadb-git-68375e0f008d109f574491bd3b0eb2184e6f3ad2.tar.gz |
New ctype functions/macros to support many charsets at a time
client/mysql.cc:
new ctypes
client/mysqldump.c:
new ctypes
client/mysqltest.c:
new ctypes
client/sql_string.cc:
new ctypes
client/sql_string.h:
new ctypes
extra/mysql_install.c:
new ctypes
extra/replace.c:
new ctypes
extra/resolve_stack_dump.c:
new ctypes
extra/resolveip.c:
new ctypes
heap/hp_hash.c:
new ctypes
include/m_ctype.h:
new ctypes
include/my_sys.h:
new ctypes
isam/_key.c:
new ctypes
isam/_search.c:
new ctypes
libmysql/Makefile.shared:
new ctypes
libmysql/libmysql.c:
new ctypes
myisam/ft_dump.c:
new ctypes
myisam/ft_parser.c:
new ctypes
myisam/mi_test1.c:
new ctypes
mysys/charset.c:
new ctypes
mysys/default.c:
new ctypes
mysys/getvar.c:
new ctypes
mysys/hash.c:
new ctypes
mysys/mf_casecnv.c:
new ctypes
mysys/mf_dirname.c:
new ctypes
mysys/mf_format.c:
new ctypes
mysys/mf_iocache2.c:
new ctypes
mysys/mf_soundex.c:
new ctypes
mysys/mf_wfile.c:
new ctypes
mysys/my_error.c:
new ctypes
mysys/my_getwd.c:
new ctypes
mysys/my_init.c:
new ctypes
mysys/my_vsnprintf.c:
new ctypes
mysys/typelib.c:
new ctypes
sql/convert.cc:
new ctypes
sql/des_key_file.cc:
new ctypes
sql/field.cc:
new ctypes
sql/field.h:
new ctypes
sql/field_conv.cc:
new ctypes
sql/filesort.cc:
new ctypes
sql/ha_innodb.cc:
new ctypes
sql/hostname.cc:
new ctypes
sql/init.cc:
new ctypes
sql/item.cc:
new ctypes
sql/item_func.cc:
new ctypes
sql/item_strfunc.cc:
new ctypes
sql/item_sum.cc:
new ctypes
sql/item_timefunc.cc:
new ctypes
sql/key.cc:
new ctypes
sql/log.cc:
new ctypes
sql/mysql_priv.h:
new ctypes
sql/mysqld.cc:
new ctypes
sql/opt_range.cc:
new ctypes
sql/procedure.cc:
new ctypes
sql/slave.cc:
new ctypes
sql/sql_acl.cc:
new ctypes
sql/sql_analyse.cc:
new ctypes
sql/sql_base.cc:
new ctypes
sql/sql_cache.cc:
new ctypes
sql/sql_db.cc:
new ctypes
sql/sql_handler.cc:
new ctypes
sql/sql_lex.cc:
new ctypes
sql/sql_parse.cc:
new ctypes
sql/sql_show.cc:
new ctypes
sql/sql_string.cc:
new ctypes
sql/sql_string.h:
new ctypes
sql/sql_table.cc:
new ctypes
sql/sql_yacc.yy:
new ctypes
sql/table.cc:
new ctypes
sql/time.cc:
new ctypes
strings/Makefile.am:
new ctypes
strings/ctype-big5.c:
new ctypes
strings/ctype-czech.c:
new ctypes
strings/ctype-gbk.c:
new ctypes
strings/ctype-latin1_de.c:
new ctypes
strings/ctype-sjis.c:
new ctypes
strings/ctype-tis620.c:
new ctypes
strings/ctype.c:
new ctypes
strings/str2int.c:
new ctypes
strings/strto.c:
new ctypes
tools/mysqlmanager.c:
new ctypes
Diffstat (limited to 'heap/hp_hash.c')
-rw-r--r-- | heap/hp_hash.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/heap/hp_hash.c b/heap/hp_hash.c index e29e51d2b75..519779d330d 100644 --- a/heap/hp_hash.c +++ b/heap/hp_hash.c @@ -173,7 +173,7 @@ ulong _hp_hashnr(register HP_KEYDEF *keydef, register const byte *key) for (; pos < (uchar*) key ; pos++) { nr^=(ulong) ((((uint) nr & 63)+nr2) * - ((uint) my_sort_order[(uint) *pos])) + (nr << 8); + ((uint) default_charset_info->sort_order[(uint) *pos])) + (nr << 8); nr2+=3; } } @@ -212,7 +212,7 @@ ulong _hp_rec_hashnr(register HP_KEYDEF *keydef, register const byte *rec) for (; pos < end ; pos++) { nr^=(ulong) ((((uint) nr & 63)+nr2)* - ((uint) my_sort_order[(uint) *pos]))+ (nr << 8); + ((uint) default_charset_info->sort_order[(uint) *pos]))+ (nr << 8); nr2+=3; } } @@ -343,7 +343,7 @@ int _hp_rec_key_cmp(HP_KEYDEF *keydef, const byte *rec1, const byte *rec2) } if (seg->type == HA_KEYTYPE_TEXT) { - if (my_sortcmp(rec1+seg->start,rec2+seg->start,seg->length)) + if (my_sortcmp(default_charset_info,rec1+seg->start,rec2+seg->start,seg->length)) return 1; } else @@ -375,7 +375,12 @@ int _hp_key_cmp(HP_KEYDEF *keydef, const byte *rec, const byte *key) } if (seg->type == HA_KEYTYPE_TEXT) { - if (my_sortcmp(rec+seg->start,key,seg->length)) + /* + BAR TODO: this will not use default_charset_info + I need Ram to apply his HEAP patches with + CHARSET_INFO field in HP segments + */ + if (my_sortcmp(default_charset_info,rec+seg->start,key,seg->length)) return 1; } else |