mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/mydev/mysql-5.0-bug5390
This commit is contained in:
@ -259,7 +259,7 @@ static COMMANDS commands[] = {
|
|||||||
{ "quit", 'q', com_quit, 0, "Quit mysql." },
|
{ "quit", 'q', com_quit, 0, "Quit mysql." },
|
||||||
{ "rehash", '#', com_rehash, 0, "Rebuild completion hash." },
|
{ "rehash", '#', com_rehash, 0, "Rebuild completion hash." },
|
||||||
{ "source", '.', com_source, 1,
|
{ "source", '.', com_source, 1,
|
||||||
"Execute a SQL script file. Takes a file name as an argument."},
|
"Execute an SQL script file. Takes a file name as an argument."},
|
||||||
{ "status", 's', com_status, 0, "Get status information from the server."},
|
{ "status", 's', com_status, 0, "Get status information from the server."},
|
||||||
#ifdef USE_POPEN
|
#ifdef USE_POPEN
|
||||||
{ "system", '!', com_shell, 1, "Execute a system shell command."},
|
{ "system", '!', com_shell, 1, "Execute a system shell command."},
|
||||||
|
@ -170,7 +170,7 @@ static int _mi_ck_real_delete(register MI_INFO *info, MI_KEYDEF *keyinfo,
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
if ((error=d_search(info,keyinfo,
|
if ((error=d_search(info,keyinfo,
|
||||||
(keyinfo->flag & HA_FULLTEXT ? SEARCH_FIND
|
(keyinfo->flag & HA_FULLTEXT ? SEARCH_FIND | SEARCH_UPDATE
|
||||||
: SEARCH_SAME),
|
: SEARCH_SAME),
|
||||||
key,key_length,old_root,root_buff)) >0)
|
key,key_length,old_root,root_buff)) >0)
|
||||||
{
|
{
|
||||||
|
@ -215,3 +215,24 @@ select count(*) from t1 where match a against ('aaazzz' in boolean mode);
|
|||||||
count(*)
|
count(*)
|
||||||
262
|
262
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
set names utf8;
|
||||||
|
create table t1(a text,fulltext(a)) collate=utf8_swedish_ci;
|
||||||
|
insert into t1 values('test test '),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test');
|
||||||
|
delete from t1 limit 1;
|
||||||
|
drop table t1;
|
||||||
|
set names latin1;
|
||||||
|
@ -179,7 +179,37 @@ update t1 set a='aaaxxx' where a = 'aaayyy';
|
|||||||
select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
|
select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
|
||||||
select count(*) from t1 where match a against ('aaayyy' in boolean mode);
|
select count(*) from t1 where match a against ('aaayyy' in boolean mode);
|
||||||
select count(*) from t1 where match a against ('aaazzz' in boolean mode);
|
select count(*) from t1 where match a against ('aaazzz' in boolean mode);
|
||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#11336
|
||||||
|
#
|
||||||
|
# for uca collation isalnum and strnncollsp don't agree on whether
|
||||||
|
# 0xC2A0 is a space (strnncollsp is right, isalnum is wrong).
|
||||||
|
#
|
||||||
|
# they still don't, the bug was fixed by avoiding strnncollsp
|
||||||
|
#
|
||||||
|
|
||||||
|
set names utf8;
|
||||||
|
create table t1(a text,fulltext(a)) collate=utf8_swedish_ci;
|
||||||
|
insert into t1 values('test test '),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test'),
|
||||||
|
('test'),('test'),('test'),('test'),('test'),('test'),('test'),('test');
|
||||||
|
delete from t1 limit 1;
|
||||||
|
drop table t1;
|
||||||
|
set names latin1;
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
88
ndb/tools/ndb_error_reporter
Executable file
88
ndb/tools/ndb_error_reporter
Executable file
@ -0,0 +1,88 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
if(@ARGV < 1)
|
||||||
|
{
|
||||||
|
print STDERR "Usage:\n";
|
||||||
|
print STDERR "\tndb_error_reporter config.ini [username] [--fs]\n\n";
|
||||||
|
print STDERR "\tusername is a user that you can use to ssh into\n";
|
||||||
|
print STDERR "\t all of your nodes with.\n\n";
|
||||||
|
print STDERR "\t--fs means include the filesystems in the report\n";
|
||||||
|
print STDERR "\t WARNING: This may require a lot of disk space.\n";
|
||||||
|
print STDERR "\t Only use this option when asked to.\n\n";
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
my $config_file= $ARGV[0];
|
||||||
|
my $config_get_fs= 0;
|
||||||
|
my $config_username= '';
|
||||||
|
if(defined($ARGV[1]))
|
||||||
|
{
|
||||||
|
$config_get_fs= 1 if $ARGV[1] eq '--fs';
|
||||||
|
$config_username= $ARGV[1].'@' if $ARGV[1] ne '--fs';
|
||||||
|
$config_get_fs= (defined $ARGV[2] && $ARGV[2] eq '--fs')?1:$config_get_fs;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!stat($config_file))
|
||||||
|
{
|
||||||
|
print STDERR "Cannot open configuration file.\n\n";
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
my @nodes= split ' ',`ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndbd`;
|
||||||
|
|
||||||
|
push @nodes, split ' ',`ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndb_mgmd`;
|
||||||
|
|
||||||
|
sub config {
|
||||||
|
my $nodeid= shift;
|
||||||
|
my $query= shift;
|
||||||
|
my $res= `ndb_config --config-file=$ARGV[0] --id=$nodeid --query=$query`;
|
||||||
|
chomp $res;
|
||||||
|
$res;
|
||||||
|
}
|
||||||
|
|
||||||
|
my @t= localtime();
|
||||||
|
my $reportdir= sprintf('ndb_error_report_%u%02u%02u%02u%02u%02u',
|
||||||
|
($t[5]+1900),($t[4]+1),$t[3],$t[2],$t[1],$t[0]);
|
||||||
|
|
||||||
|
if(stat($reportdir) || stat($reportdir.'tar.bz2'))
|
||||||
|
{
|
||||||
|
print STDERR "It looks like another ndb_error_report process is running.\n";
|
||||||
|
print STDERR "If that is not the case, remove the ndb_error_report directory";
|
||||||
|
print STDERR " and run ndb_error_report again.\n\n";
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
mkdir($reportdir);
|
||||||
|
|
||||||
|
foreach my $node (@nodes)
|
||||||
|
{
|
||||||
|
print "\n\n Copying data from node $node".
|
||||||
|
(($config_get_fs)?" with filesystem":"").
|
||||||
|
"\n\n";
|
||||||
|
my $recurse= ($config_get_fs)?'-r ':'';
|
||||||
|
system 'scp '.$recurse.$config_username.config($node,'host').
|
||||||
|
':'.config($node,'datadir')."/ndb_".$node."* ".
|
||||||
|
"$reportdir/\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
print "\n\n Copying configuration file...\n\n\t$config_file\n\n";
|
||||||
|
system "cp $config_file $reportdir/";
|
||||||
|
|
||||||
|
my $r = system 'bzip2 2>&1 > /dev/null < /dev/null';
|
||||||
|
my $outfile;
|
||||||
|
if($r==0)
|
||||||
|
{
|
||||||
|
$outfile= "$reportdir.tar.bz2";
|
||||||
|
system "tar c $reportdir|bzip2 > $outfile";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$outfile= "$reportdir.tar.gz";
|
||||||
|
system "tar c $reportdir|gzip > $outfile";
|
||||||
|
}
|
||||||
|
|
||||||
|
system "rm -rf $reportdir";
|
||||||
|
|
||||||
|
print "\n\nPlease attach $outfile to your error report\n\n";
|
@ -4637,7 +4637,7 @@ Disable with --skip-bdb (will save memory).",
|
|||||||
{"bootstrap", OPT_BOOTSTRAP, "Used by mysql installation scripts.", 0, 0, 0,
|
{"bootstrap", OPT_BOOTSTRAP, "Used by mysql installation scripts.", 0, 0, 0,
|
||||||
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"character-set-client-handshake", OPT_CHARACTER_SET_CLIENT_HANDSHAKE,
|
{"character-set-client-handshake", OPT_CHARACTER_SET_CLIENT_HANDSHAKE,
|
||||||
"Don't use client side character set value sent during handshake.",
|
"Don't ignore client side character set value sent during handshake.",
|
||||||
(gptr*) &opt_character_set_client_handshake,
|
(gptr*) &opt_character_set_client_handshake,
|
||||||
(gptr*) &opt_character_set_client_handshake,
|
(gptr*) &opt_character_set_client_handshake,
|
||||||
0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
|
Reference in New Issue
Block a user