Merge mysql.com:/nfsdisk1/lars/bk/mysql-5.0-rpl
into mysql.com:/nfsdisk1/lars/bk/mysql-5.1-new-rpl mysql-test/mysql-test-run.pl: Auto merged mysql-test/t/disabled.def: Auto merged sql/sql_load.cc: Auto merged storage/heap/hp_hash.c: Auto merged BitKeeper/deleted/.del-rpl_critical_errors.result: Delete: mysql-test/r/rpl_critical_errors.result mysql-test/r/rpl_loaddata.result: Manual merge mysql-test/t/rpl_loaddata.test: Manual merge
This commit is contained in:
commit
8ca545eca2
@ -1813,6 +1813,18 @@ sub environment_setup () {
|
|||||||
$ENV{'CHARSETSDIR'}= $path_charsetsdir;
|
$ENV{'CHARSETSDIR'}= $path_charsetsdir;
|
||||||
$ENV{'UMASK'}= "0660"; # The octal *string*
|
$ENV{'UMASK'}= "0660"; # The octal *string*
|
||||||
$ENV{'UMASK_DIR'}= "0770"; # The octal *string*
|
$ENV{'UMASK_DIR'}= "0770"; # The octal *string*
|
||||||
|
|
||||||
|
#
|
||||||
|
# MySQL tests can produce output in various character sets
|
||||||
|
# (especially, ctype_xxx.test). To avoid confusing Perl
|
||||||
|
# with output which is incompatible with the current locale
|
||||||
|
# settings, we reset the current values of LC_ALL and LC_CTYPE to "C".
|
||||||
|
# For details, please see
|
||||||
|
# Bug#27636 tests fails if LC_* variables set to *_*.UTF-8
|
||||||
|
#
|
||||||
|
$ENV{'LC_ALL'}= "C";
|
||||||
|
$ENV{'LC_CTYPE'}= "C";
|
||||||
|
|
||||||
$ENV{'LC_COLLATE'}= "C";
|
$ENV{'LC_COLLATE'}= "C";
|
||||||
$ENV{'USE_RUNNING_SERVER'}= $opt_extern;
|
$ENV{'USE_RUNNING_SERVER'}= $opt_extern;
|
||||||
$ENV{'MYSQL_TEST_DIR'}= $glob_mysql_test_dir;
|
$ENV{'MYSQL_TEST_DIR'}= $glob_mysql_test_dir;
|
||||||
|
@ -379,7 +379,13 @@ ulong hp_rec_hashnr(register HP_KEYDEF *keydef, register const byte *rec)
|
|||||||
|
|
||||||
ulong hp_hashnr(register HP_KEYDEF *keydef, register const byte *key)
|
ulong hp_hashnr(register HP_KEYDEF *keydef, register const byte *key)
|
||||||
{
|
{
|
||||||
register ulong nr=0;
|
/*
|
||||||
|
Note, if a key consists of a combination of numeric and
|
||||||
|
a text columns, it most likely won't work well.
|
||||||
|
Making text columns work with NEW_HASH_FUNCTION
|
||||||
|
needs also changes in strings/ctype-xxx.c.
|
||||||
|
*/
|
||||||
|
ulong nr= 1, nr2= 4;
|
||||||
HA_KEYSEG *seg,*endseg;
|
HA_KEYSEG *seg,*endseg;
|
||||||
|
|
||||||
for (seg=keydef->seg,endseg=seg+keydef->keysegs ; seg < endseg ; seg++)
|
for (seg=keydef->seg,endseg=seg+keydef->keysegs ; seg < endseg ; seg++)
|
||||||
@ -401,14 +407,15 @@ ulong hp_hashnr(register HP_KEYDEF *keydef, register const byte *key)
|
|||||||
}
|
}
|
||||||
if (seg->type == HA_KEYTYPE_TEXT)
|
if (seg->type == HA_KEYTYPE_TEXT)
|
||||||
{
|
{
|
||||||
seg->charset->hash_sort(seg->charset,pos,((uchar*)key)-pos,&nr,NULL);
|
seg->charset->coll->hash_sort(seg->charset, pos, ((uchar*)key)-pos,
|
||||||
|
&nr, &nr2);
|
||||||
}
|
}
|
||||||
else if (seg->type == HA_KEYTYPE_VARTEXT1) /* Any VARCHAR segments */
|
else if (seg->type == HA_KEYTYPE_VARTEXT1) /* Any VARCHAR segments */
|
||||||
{
|
{
|
||||||
uint pack_length= 2; /* Key packing is constant */
|
uint pack_length= 2; /* Key packing is constant */
|
||||||
uint length= uint2korr(pos);
|
uint length= uint2korr(pos);
|
||||||
seg->charset->hash_sort(seg->charset, pos+pack_length, length, &nr,
|
seg->charset->coll->hash_sort(seg->charset, pos+pack_length, length,
|
||||||
NULL);
|
&nr, &nr2);
|
||||||
key+= pack_length;
|
key+= pack_length;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -428,7 +435,7 @@ ulong hp_hashnr(register HP_KEYDEF *keydef, register const byte *key)
|
|||||||
|
|
||||||
ulong hp_rec_hashnr(register HP_KEYDEF *keydef, register const byte *rec)
|
ulong hp_rec_hashnr(register HP_KEYDEF *keydef, register const byte *rec)
|
||||||
{
|
{
|
||||||
register ulong nr=0;
|
ulong nr= 1, nr2= 4;
|
||||||
HA_KEYSEG *seg,*endseg;
|
HA_KEYSEG *seg,*endseg;
|
||||||
|
|
||||||
for (seg=keydef->seg,endseg=seg+keydef->keysegs ; seg < endseg ; seg++)
|
for (seg=keydef->seg,endseg=seg+keydef->keysegs ; seg < endseg ; seg++)
|
||||||
@ -444,14 +451,16 @@ ulong hp_rec_hashnr(register HP_KEYDEF *keydef, register const byte *rec)
|
|||||||
}
|
}
|
||||||
if (seg->type == HA_KEYTYPE_TEXT)
|
if (seg->type == HA_KEYTYPE_TEXT)
|
||||||
{
|
{
|
||||||
seg->charset->hash_sort(seg->charset,pos,((uchar*)key)-pos,&nr,NULL);
|
uint char_length= seg->length; /* TODO: fix to use my_charpos() */
|
||||||
|
seg->charset->coll->hash_sort(seg->charset, pos, char_length,
|
||||||
|
&nr, &nr2);
|
||||||
}
|
}
|
||||||
else if (seg->type == HA_KEYTYPE_VARTEXT1) /* Any VARCHAR segments */
|
else if (seg->type == HA_KEYTYPE_VARTEXT1) /* Any VARCHAR segments */
|
||||||
{
|
{
|
||||||
uint pack_length= seg->bit_start;
|
uint pack_length= seg->bit_start;
|
||||||
uint length= (pack_length == 1 ? (uint) *(uchar*) pos : uint2korr(pos));
|
uint length= (pack_length == 1 ? (uint) *(uchar*) pos : uint2korr(pos));
|
||||||
seg->charset->hash_sort(seg->charset, pos+pack_length,
|
seg->charset->coll->hash_sort(seg->charset, pos+pack_length,
|
||||||
length, &nr, NULL);
|
length, &nr, &nr2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user