mirror of
https://github.com/MariaDB/server.git
synced 2026-05-02 13:15:32 +02:00
Move hash_sort and hash_caseup into CHARSET_INFO for all charsets
This commit is contained in:
parent
b9bb3534f1
commit
72174d5b82
16 changed files with 132 additions and 126 deletions
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue