Commit c6a785f8 authored by unknown's avatar unknown

Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-4.1

into mysql.com:/export/space/pekka/ndb/version/my41
parents 761872d3 2affa9e0
...@@ -3916,8 +3916,8 @@ static REP_SET *make_new_set(REP_SETS *sets); ...@@ -3916,8 +3916,8 @@ static REP_SET *make_new_set(REP_SETS *sets);
static void make_sets_invisible(REP_SETS *sets); static void make_sets_invisible(REP_SETS *sets);
static void free_last_set(REP_SETS *sets); static void free_last_set(REP_SETS *sets);
static void free_sets(REP_SETS *sets); static void free_sets(REP_SETS *sets);
static void set_bit(REP_SET *set, uint bit); static void internal_set_bit(REP_SET *set, uint bit);
static void clear_bit(REP_SET *set, uint bit); static void internal_clear_bit(REP_SET *set, uint bit);
static void or_bits(REP_SET *to,REP_SET *from); static void or_bits(REP_SET *to,REP_SET *from);
static void copy_bits(REP_SET *to,REP_SET *from); static void copy_bits(REP_SET *to,REP_SET *from);
static int cmp_bits(REP_SET *set1,REP_SET *set2); static int cmp_bits(REP_SET *set1,REP_SET *set2);
...@@ -3994,7 +3994,7 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count, ...@@ -3994,7 +3994,7 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count,
{ {
if (from[i][0] == '\\' && from[i][1] == '^') if (from[i][0] == '\\' && from[i][1] == '^')
{ {
set_bit(start_states,states+1); internal_set_bit(start_states,states+1);
if (!from[i][2]) if (!from[i][2])
{ {
start_states->table_offset=i; start_states->table_offset=i;
...@@ -4003,8 +4003,8 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count, ...@@ -4003,8 +4003,8 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count,
} }
else if (from[i][0] == '\\' && from[i][1] == '$') else if (from[i][0] == '\\' && from[i][1] == '$')
{ {
set_bit(start_states,states); internal_set_bit(start_states,states);
set_bit(word_states,states); internal_set_bit(word_states,states);
if (!from[i][2] && start_states->table_offset == (uint) ~0) if (!from[i][2] && start_states->table_offset == (uint) ~0)
{ {
start_states->table_offset=i; start_states->table_offset=i;
...@@ -4013,11 +4013,11 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count, ...@@ -4013,11 +4013,11 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count,
} }
else else
{ {
set_bit(word_states,states); internal_set_bit(word_states,states);
if (from[i][0] == '\\' && (from[i][1] == 'b' && from[i][2])) if (from[i][0] == '\\' && (from[i][1] == 'b' && from[i][2]))
set_bit(start_states,states+1); internal_set_bit(start_states,states+1);
else else
set_bit(start_states,states); internal_set_bit(start_states,states);
} }
for (pos=from[i], len=0; *pos ; pos++) for (pos=from[i], len=0; *pos ; pos++)
{ {
...@@ -4123,9 +4123,9 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count, ...@@ -4123,9 +4123,9 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count,
follow[i].len > found_end) follow[i].len > found_end)
found_end=follow[i].len; found_end=follow[i].len;
if (chr && follow[i].chr) if (chr && follow[i].chr)
set_bit(new_set,i+1); /* To next set */ internal_set_bit(new_set,i+1); /* To next set */
else else
set_bit(new_set,i); internal_set_bit(new_set,i);
} }
} }
if (found_end) if (found_end)
...@@ -4142,7 +4142,7 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count, ...@@ -4142,7 +4142,7 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count,
if (follow[bit_nr-1].len < found_end || if (follow[bit_nr-1].len < found_end ||
(new_set->found_len && (new_set->found_len &&
(chr == 0 || !follow[bit_nr].chr))) (chr == 0 || !follow[bit_nr].chr)))
clear_bit(new_set,i); internal_clear_bit(new_set,i);
else else
{ {
if (chr == 0 || !follow[bit_nr].chr) if (chr == 0 || !follow[bit_nr].chr)
...@@ -4291,13 +4291,13 @@ static void free_sets(REP_SETS *sets) ...@@ -4291,13 +4291,13 @@ static void free_sets(REP_SETS *sets)
return; return;
} }
static void set_bit(REP_SET *set, uint bit) static void internal_set_bit(REP_SET *set, uint bit)
{ {
set->bits[bit / WORD_BIT] |= 1 << (bit % WORD_BIT); set->bits[bit / WORD_BIT] |= 1 << (bit % WORD_BIT);
return; return;
} }
static void clear_bit(REP_SET *set, uint bit) static void internal_clear_bit(REP_SET *set, uint bit)
{ {
set->bits[bit / WORD_BIT] &= ~ (1 << (bit % WORD_BIT)); set->bits[bit / WORD_BIT] &= ~ (1 << (bit % WORD_BIT));
return; return;
......
...@@ -262,6 +262,7 @@ our $opt_socket; ...@@ -262,6 +262,7 @@ our $opt_socket;
our $opt_source_dist; our $opt_source_dist;
our $opt_start_and_exit; our $opt_start_and_exit;
our $opt_start_dirty;
our $opt_start_from; our $opt_start_from;
our $opt_strace_client; our $opt_strace_client;
...@@ -305,6 +306,7 @@ sub initial_setup (); ...@@ -305,6 +306,7 @@ sub initial_setup ();
sub command_line_setup (); sub command_line_setup ();
sub executable_setup (); sub executable_setup ();
sub environment_setup (); sub environment_setup ();
sub kill_running_server ();
sub kill_and_cleanup (); sub kill_and_cleanup ();
sub ndbcluster_install (); sub ndbcluster_install ();
sub ndbcluster_start (); sub ndbcluster_start ();
...@@ -353,14 +355,22 @@ sub main () { ...@@ -353,14 +355,22 @@ sub main () {
if ( ! $glob_use_running_server ) if ( ! $glob_use_running_server )
{ {
kill_and_cleanup();
mysql_install_db(); if ( $opt_start_dirty )
{
kill_running_server();
}
else
{
kill_and_cleanup();
mysql_install_db();
# mysql_loadstd(); FIXME copying from "std_data" .frm and # mysql_loadstd(); FIXME copying from "std_data" .frm and
# .MGR but there are none?! # .MGR but there are none?!
}
} }
if ( $opt_start_and_exit ) if ( $opt_start_and_exit or $opt_start_dirty )
{ {
if ( ndbcluster_start() ) if ( ndbcluster_start() )
{ {
...@@ -531,6 +541,7 @@ sub command_line_setup () { ...@@ -531,6 +541,7 @@ sub command_line_setup () {
'script-debug' => \$opt_script_debug, 'script-debug' => \$opt_script_debug,
'sleep=i' => \$opt_sleep, 'sleep=i' => \$opt_sleep,
'socket=s' => \$opt_socket, 'socket=s' => \$opt_socket,
'start-dirty' => \$opt_start_dirty,
'start-and-exit' => \$opt_start_and_exit, 'start-and-exit' => \$opt_start_and_exit,
'start-from=s' => \$opt_start_from, 'start-from=s' => \$opt_start_from,
'timer' => \$opt_timer, 'timer' => \$opt_timer,
...@@ -951,7 +962,7 @@ sub handle_int_signal () { ...@@ -951,7 +962,7 @@ sub handle_int_signal () {
# #
############################################################################## ##############################################################################
sub kill_and_cleanup () { sub kill_running_server () {
if ( $opt_fast or $glob_use_embedded_server ) if ( $opt_fast or $glob_use_embedded_server )
{ {
...@@ -976,6 +987,11 @@ sub kill_and_cleanup () { ...@@ -976,6 +987,11 @@ sub kill_and_cleanup () {
ndbcluster_stop(); ndbcluster_stop();
$master->[0]->{'ndbcluster'}= 1; $master->[0]->{'ndbcluster'}= 1;
} }
}
sub kill_and_cleanup () {
kill_running_server ();
mtr_report("Removing Stale Files"); mtr_report("Removing Stale Files");
...@@ -1464,7 +1480,15 @@ sub run_testcase ($) { ...@@ -1464,7 +1480,15 @@ sub run_testcase ($) {
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
{ {
unlink("r/$tname.reject"); # remove the old reject file
if ( $opt_suite eq "main" )
{
unlink("r/$tname.reject");
}
else
{
unlink("suite/$opt_suite/r/$tname.reject");
}
unlink($path_timefile); unlink($path_timefile);
my $res= run_mysqltest($tinfo, $tinfo->{'master_opt'}); my $res= run_mysqltest($tinfo, $tinfo->{'master_opt'});
...@@ -2158,7 +2182,7 @@ Options to run test on running server ...@@ -2158,7 +2182,7 @@ Options to run test on running server
extern Use running server for tests FIXME DANGEROUS extern Use running server for tests FIXME DANGEROUS
ndbconnectstring=STR Use running cluster, and connect using STR ndbconnectstring=STR Use running cluster, and connect using STR
user=USER The databse user name user=USER User for connect to server
Options for debugging the product Options for debugging the product
...@@ -2185,6 +2209,7 @@ Misc options ...@@ -2185,6 +2209,7 @@ Misc options
compress Use the compressed protocol between client and server compress Use the compressed protocol between client and server
timer Show test case execution time timer Show test case execution time
start-and-exit Only initiate and start the "mysqld" servers start-and-exit Only initiate and start the "mysqld" servers
start-dirty Only start the "mysqld" servers without initiation
fast Don't try to cleanup from earlier runs fast Don't try to cleanup from earlier runs
reorder Reorder tests to get less server restarts reorder Reorder tests to get less server restarts
help Get this help text help Get this help text
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment