mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Move hash_sort and hash_caseup into CHARSET_INFO for all charsets
This commit is contained in:
@ -214,18 +214,7 @@ ulong hp_hashnr(register HP_KEYDEF *keydef, register const byte *key)
|
||||
}
|
||||
if (seg->type == HA_KEYTYPE_TEXT)
|
||||
{
|
||||
if (seg->charset->hash_sort)
|
||||
seg->charset->hash_sort(seg->charset,pos,((uchar*)key)-pos,&nr,&nr2);
|
||||
else
|
||||
{
|
||||
register uchar *sort_order=seg->charset->sort_order;
|
||||
for (; pos < (uchar*) key ; pos++)
|
||||
{
|
||||
nr^=(ulong) ((((uint) nr & 63)+nr2) *
|
||||
((uint) sort_order[(uint) *pos])) + (nr << 8);
|
||||
nr2+=3;
|
||||
}
|
||||
}
|
||||
seg->charset->hash_sort(seg->charset,pos,((uchar*)key)-pos,&nr,&nr2);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -260,19 +249,7 @@ ulong hp_rec_hashnr(register HP_KEYDEF *keydef, register const byte *rec)
|
||||
}
|
||||
if (seg->type == HA_KEYTYPE_TEXT)
|
||||
{
|
||||
if (seg->charset->hash_sort)
|
||||
seg->charset->hash_sort(seg->charset,pos,end-pos,&nr,&nr2);
|
||||
else
|
||||
{
|
||||
register uchar *sort_order=seg->charset->sort_order;
|
||||
|
||||
for (; pos < end ; pos++)
|
||||
{
|
||||
nr^=(ulong) ((((uint) nr & 63)+nr2)*
|
||||
((uint) sort_order[(uint) *pos]))+ (nr << 8);
|
||||
nr2+=3;
|
||||
}
|
||||
}
|
||||
seg->charset->hash_sort(seg->charset,pos,end-pos,&nr,&nr2);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user