Commit 8f75d091 authored by tsmith@maint1.mysql.com's avatar tsmith@maint1.mysql.com

Merge bk-internal.mysql.com:/home/bk/mysql-5.1-maint

into  maint1.mysql.com:/data/localhome/tsmith/bk/51
parents aeced431 2ed61076
...@@ -1208,7 +1208,7 @@ static void print_xml_tag(FILE * xml_file, const char* sbeg, const char* send, ...@@ -1208,7 +1208,7 @@ static void print_xml_tag(FILE * xml_file, const char* sbeg, const char* send,
const char* first_attribute_name, ...) const char* first_attribute_name, ...)
{ {
va_list arg_list; va_list arg_list;
char *attribute_name, *attribute_value; const char *attribute_name, *attribute_value;
fputs(sbeg, xml_file); fputs(sbeg, xml_file);
fputc('<', xml_file); fputc('<', xml_file);
...@@ -1458,7 +1458,7 @@ static uint dump_events_for_db(char *db) ...@@ -1458,7 +1458,7 @@ static uint dump_events_for_db(char *db)
static void print_blob_as_hex(FILE *output_file, const char *str, ulong len) static void print_blob_as_hex(FILE *output_file, const char *str, ulong len)
{ {
/* sakaik got the idea to to provide blob's in hex notation. */ /* sakaik got the idea to to provide blob's in hex notation. */
char *ptr= str, *end= ptr + len; const char *ptr= str, *end= ptr + len;
for (; ptr < end ; ptr++) for (; ptr < end ; ptr++)
fprintf(output_file, "%02X", *((uchar *)ptr)); fprintf(output_file, "%02X", *((uchar *)ptr));
check_io(output_file); check_io(output_file);
......
...@@ -398,13 +398,13 @@ TYPELIB command_typelib= {array_elements(command_names),"", ...@@ -398,13 +398,13 @@ TYPELIB command_typelib= {array_elements(command_names),"",
DYNAMIC_STRING ds_res, ds_progress, ds_warning_messages; DYNAMIC_STRING ds_res, ds_progress, ds_warning_messages;
void die(const char *fmt, ...) void die(const char *fmt, ...)
/* ATTRIBUTE_FORMAT(printf, 1, 2) */; ATTRIBUTE_FORMAT(printf, 1, 2);
void abort_not_supported_test(const char *fmt, ...) void abort_not_supported_test(const char *fmt, ...)
/* ATTRIBUTE_FORMAT(printf, 1, 2) */; ATTRIBUTE_FORMAT(printf, 1, 2);
void verbose_msg(const char *fmt, ...) void verbose_msg(const char *fmt, ...)
/* ATTRIBUTE_FORMAT(printf, 1, 2) */; ATTRIBUTE_FORMAT(printf, 1, 2);
void warning_msg(const char *fmt, ...) void warning_msg(const char *fmt, ...)
/* ATTRIBUTE_FORMAT(printf, 1, 2) */; ATTRIBUTE_FORMAT(printf, 1, 2);
VAR* var_from_env(const char *, const char *); VAR* var_from_env(const char *, const char *);
VAR* var_init(VAR* v, const char *name, int name_len, const char *val, VAR* var_init(VAR* v, const char *name, int name_len, const char *val,
......
...@@ -1058,6 +1058,18 @@ EOF ...@@ -1058,6 +1058,18 @@ EOF
extra/Makefile.in) extra/Makefile.in)
cat > $filesed << EOF cat > $filesed << EOF
s,\(extra/comp_err\)\$(EXEEXT),\1.linux, s,\(extra/comp_err\)\$(EXEEXT),\1.linux,
EOF
;;
libmysql/Makefile.in)
cat > $filesed << EOF
s,libyassl.la,.libs/libyassl.a,
s,libtaocrypt.la,.libs/libtaocrypt.a,
EOF
;;
libmysql_r/Makefile.in)
cat > $filesed << EOF
s,libyassl.la,.libs/libyassl.a,
s,libtaocrypt.la,.libs/libtaocrypt.a,
EOF EOF
;; ;;
client/Makefile.in) client/Makefile.in)
......
...@@ -27,9 +27,12 @@ ...@@ -27,9 +27,12 @@
#endif /* _WIN32 */ #endif /* _WIN32 */
#if !defined(_SOCKLEN_T) && (defined(_WIN32) || defined(__NETWARE__)) #if !defined(_SOCKLEN_T) && defined(_WIN32)
typedef int socklen_t; typedef int socklen_t;
#endif #endif
#if !defined(_SOCKLEN_T) && defined(__NETWARE__)
typedef size_t socklen_t;
#endif
// Check type of third arg to accept // Check type of third arg to accept
......
...@@ -293,12 +293,6 @@ typedef struct st_mysql ...@@ -293,12 +293,6 @@ typedef struct st_mysql
/* needed for embedded server - no net buffer to store the 'info' */ /* needed for embedded server - no net buffer to store the 'info' */
char *info_buffer; char *info_buffer;
#endif #endif
/*
In embedded server it points to the statement that is processed
in the current query. We store some results directly in statement
fields then.
*/
struct st_mysql_stmt *current_stmt;
} MYSQL; } MYSQL;
typedef struct st_mysql_res { typedef struct st_mysql_res {
......
...@@ -100,7 +100,6 @@ emb_advanced_command(MYSQL *mysql, enum enum_server_command command, ...@@ -100,7 +100,6 @@ emb_advanced_command(MYSQL *mysql, enum enum_server_command command,
mysql->affected_rows= ~(my_ulonglong) 0; mysql->affected_rows= ~(my_ulonglong) 0;
mysql->field_count= 0; mysql->field_count= 0;
net->last_errno= 0; net->last_errno= 0;
mysql->current_stmt= stmt;
thd->store_globals(); // Fix if more than one connect thd->store_globals(); // Fix if more than one connect
/* /*
......
# Connect to both master and slave
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
vertical_results;
echo == MASTER ===========================================================;
connection master;
show master status;
show slave status;
echo == SLAVE ===========================================================;
connection slave;
show master status;
show slave status;
...@@ -758,14 +758,19 @@ sub command_line_setup () { ...@@ -758,14 +758,19 @@ sub command_line_setup () {
$opt_vardir= $default_vardir; $opt_vardir= $default_vardir;
} }
elsif ( $mysql_version_id < 50000 and elsif ( $mysql_version_id < 50000 and
$opt_vardir ne $default_vardir ) $opt_vardir ne $default_vardir)
{ {
# Version 4.1 and --vardir was specified # Version 4.1 and --vardir was specified
# Only supported as a symlink from var/ # Only supported as a symlink from var/
# by setting up $opt_mem that symlink will be created # by setting up $opt_mem that symlink will be created
$opt_mem= $opt_vardir; if ( ! $glob_win32 )
{
# Only platforms that have native symlinks can use the vardir trick
$opt_mem= $opt_vardir;
mtr_report("Using 4.1 vardir trick");
}
$opt_vardir= $default_vardir; $opt_vardir= $default_vardir;
mtr_report("Using 4.1 vardir trick");
} }
$path_vardir_trace= $opt_vardir; $path_vardir_trace= $opt_vardir;
...@@ -1264,9 +1269,9 @@ sub collect_mysqld_features () { ...@@ -1264,9 +1269,9 @@ sub collect_mysqld_features () {
else else
{ {
# Put variables into hash # Put variables into hash
if ( $line =~ /^([\S]+)[ \t]+(.*)$/ ) if ( $line =~ /^([\S]+)[ \t]+(.*?)\r?$/ )
{ {
# print "$1=$2\n"; # print "$1=\"$2\"\n";
$mysqld_variables{$1}= $2; $mysqld_variables{$1}= $2;
} }
else else
...@@ -1295,6 +1300,54 @@ sub collect_mysqld_features () { ...@@ -1295,6 +1300,54 @@ sub collect_mysqld_features () {
} }
sub executable_setup_im () {
# Look for instance manager binary - mysqlmanager
$exe_im=
mtr_exe_maybe_exists(
"$glob_basedir/server-tools/instance-manager/mysqlmanager",
"$glob_basedir/libexec/mysqlmanager");
return ($exe_im eq "");
}
sub executable_setup_ndb () {
# Look for ndb tols and binaries
my $ndb_path= mtr_file_exists("$glob_basedir/ndb",
"$glob_basedir/storage/ndb",
"$glob_basedir/bin");
$exe_ndbd=
mtr_exe_maybe_exists("$ndb_path/src/kernel/ndbd",
"$ndb_path/ndbd");
$exe_ndb_mgm=
mtr_exe_maybe_exists("$ndb_path/src/mgmclient/ndb_mgm",
"$ndb_path/ndb_mgm");
$exe_ndb_mgmd=
mtr_exe_maybe_exists("$ndb_path/src/mgmsrv/ndb_mgmd",
"$ndb_path/ndb_mgmd");
$exe_ndb_waiter=
mtr_exe_maybe_exists("$ndb_path/tools/ndb_waiter",
"$ndb_path/ndb_waiter");
# May not exist
$path_ndb_tools_dir= mtr_file_exists("$ndb_path/tools",
"$ndb_path");
# May not exist
$path_ndb_examples_dir=
mtr_file_exists("$ndb_path/ndbapi-examples",
"$ndb_path/examples");
# May not exist
$exe_ndb_example=
mtr_file_exists("$path_ndb_examples_dir/ndbapi_simple/ndbapi_simple");
return ( $exe_ndbd eq "" or
$exe_ndb_mgm eq "" or
$exe_ndb_mgmd eq "" or
$exe_ndb_waiter eq "");
}
sub executable_setup () { sub executable_setup () {
# #
...@@ -1333,20 +1386,6 @@ sub executable_setup () { ...@@ -1333,20 +1386,6 @@ sub executable_setup () {
"$glob_basedir/extra/release/perror", "$glob_basedir/extra/release/perror",
"$glob_basedir/extra/debug/perror"); "$glob_basedir/extra/debug/perror");
if ( ! $opt_skip_im )
{
# Look for instance manager binary - mysqlmanager
$exe_im=
mtr_exe_exists(
"$glob_basedir/server-tools/instance-manager/mysqlmanager",
"$glob_basedir/libexec/mysqlmanager");
}
else
{
$exe_im= "not_available";
}
# Look for the client binaries # Look for the client binaries
$exe_mysqlcheck= mtr_exe_exists("$path_client_bindir/mysqlcheck"); $exe_mysqlcheck= mtr_exe_exists("$path_client_bindir/mysqlcheck");
$exe_mysqldump= mtr_exe_exists("$path_client_bindir/mysqldump"); $exe_mysqldump= mtr_exe_exists("$path_client_bindir/mysqldump");
...@@ -1368,35 +1407,25 @@ sub executable_setup () { ...@@ -1368,35 +1407,25 @@ sub executable_setup () {
"$path_client_bindir/mysql_fix_privilege_tables"); "$path_client_bindir/mysql_fix_privilege_tables");
} }
if ( ! $opt_skip_ndbcluster)
{ if ( ! $opt_skip_ndbcluster and executable_setup_ndb())
# Look for ndb tols and binaries {
my $ndb_path= mtr_path_exists("$glob_basedir/ndb", mtr_warning("Could not find all required ndb binaries, " .
"$glob_basedir/storage/ndb", "all ndb tests will fail, use --skip-ndbcluster to " .
"$glob_basedir/bin"); "skip testing it.");
$path_ndb_tools_dir= mtr_path_exists("$ndb_path/tools", foreach my $cluster (@{$clusters})
"$ndb_path"); {
$exe_ndb_mgm= $cluster->{"executable_setup_failed"}= 1;
mtr_exe_exists("$ndb_path/src/mgmclient/ndb_mgm", }
"$ndb_path/ndb_mgm"); }
$exe_ndb_mgmd=
mtr_exe_exists("$ndb_path/src/mgmsrv/ndb_mgmd", if ( ! $opt_skip_im and executable_setup_im())
"$ndb_path/ndb_mgmd"); {
$exe_ndb_waiter= mtr_warning("Could not find all required instance manager binaries, " .
mtr_exe_exists("$ndb_path/tools/ndb_waiter", "all im tests will fail, use --skip-im to " .
"$ndb_path/ndb_waiter"); "continue without instance manager");
$exe_ndbd= $instance_manager->{"executable_setup_failed"}= 1;
mtr_exe_exists("$ndb_path/src/kernel/ndbd",
"$ndb_path/ndbd");
# May not exist
$path_ndb_examples_dir=
mtr_file_exists("$ndb_path/ndbapi-examples",
"$ndb_path/examples");
# May not exist
$exe_ndb_example=
mtr_file_exists("$path_ndb_examples_dir/ndbapi_simple/ndbapi_simple");
} }
# Look for the udf_example library # Look for the udf_example library
...@@ -1424,7 +1453,8 @@ sub executable_setup () { ...@@ -1424,7 +1453,8 @@ sub executable_setup () {
if ( $glob_use_embedded_server ) if ( $glob_use_embedded_server )
{ {
$exe_mysql_client_test= $exe_mysql_client_test=
mtr_exe_maybe_exists("$glob_basedir/libmysqld/examples/mysql_client_test_embedded"); mtr_exe_maybe_exists(
"$glob_basedir/libmysqld/examples/mysql_client_test_embedded");
} }
else else
{ {
...@@ -1567,19 +1597,28 @@ sub environment_setup () { ...@@ -1567,19 +1597,28 @@ sub environment_setup () {
# ---------------------------------------------------- # ----------------------------------------------------
# Setup env for IM # Setup env for IM
# ---------------------------------------------------- # ----------------------------------------------------
$ENV{'IM_EXE'}= $exe_im; if ( ! $opt_skip_im )
$ENV{'IM_PATH_PID'}= $instance_manager->{path_pid}; {
$ENV{'IM_PATH_ANGEL_PID'}= $instance_manager->{path_angel_pid}; $ENV{'IM_EXE'}= $exe_im;
$ENV{'IM_PORT'}= $instance_manager->{port}; $ENV{'IM_PATH_PID'}= $instance_manager->{path_pid};
$ENV{'IM_DEFAULTS_PATH'}= $instance_manager->{defaults_file}; $ENV{'IM_PATH_ANGEL_PID'}= $instance_manager->{path_angel_pid};
$ENV{'IM_PASSWORD_PATH'}= $instance_manager->{password_file}; $ENV{'IM_PORT'}= $instance_manager->{port};
$ENV{'IM_DEFAULTS_PATH'}= $instance_manager->{defaults_file};
$ENV{'IM_MYSQLD1_SOCK'}= $instance_manager->{instances}->[0]->{path_sock}; $ENV{'IM_PASSWORD_PATH'}= $instance_manager->{password_file};
$ENV{'IM_MYSQLD1_PORT'}= $instance_manager->{instances}->[0]->{port};
$ENV{'IM_MYSQLD1_PATH_PID'}=$instance_manager->{instances}->[0]->{path_pid}; $ENV{'IM_MYSQLD1_SOCK'}=
$ENV{'IM_MYSQLD2_SOCK'}= $instance_manager->{instances}->[1]->{path_sock}; $instance_manager->{instances}->[0]->{path_sock};
$ENV{'IM_MYSQLD2_PORT'}= $instance_manager->{instances}->[1]->{port}; $ENV{'IM_MYSQLD1_PORT'}=
$ENV{'IM_MYSQLD2_PATH_PID'}=$instance_manager->{instances}->[1]->{path_pid}; $instance_manager->{instances}->[0]->{port};
$ENV{'IM_MYSQLD1_PATH_PID'}=
$instance_manager->{instances}->[0]->{path_pid};
$ENV{'IM_MYSQLD2_SOCK'}=
$instance_manager->{instances}->[1]->{path_sock};
$ENV{'IM_MYSQLD2_PORT'}=
$instance_manager->{instances}->[1]->{port};
$ENV{'IM_MYSQLD2_PATH_PID'}=
$instance_manager->{instances}->[1]->{path_pid};
}
# ---------------------------------------------------- # ----------------------------------------------------
# Setup env so childs can execute mysqlcheck # Setup env so childs can execute mysqlcheck
...@@ -1696,7 +1735,7 @@ sub environment_setup () { ...@@ -1696,7 +1735,7 @@ sub environment_setup () {
# Setup env so childs can execute mysql_client_test # Setup env so childs can execute mysql_client_test
# ---------------------------------------------------- # ----------------------------------------------------
my $cmdline_mysql_client_test= my $cmdline_mysql_client_test=
"$exe_mysql_client_test --no-defaults --testcase --user=root --silent " . "$exe_mysql_client_test --no-defaults --testcase --user=root " .
"--port=$master->[0]->{'port'} " . "--port=$master->[0]->{'port'} " .
"--socket=$master->[0]->{'path_sock'}"; "--socket=$master->[0]->{'path_sock'}";
if ( $mysql_version_id >= 50000 ) if ( $mysql_version_id >= 50000 )
...@@ -1834,6 +1873,11 @@ sub kill_running_servers () { ...@@ -1834,6 +1873,11 @@ sub kill_running_servers () {
if ( ! -d $opt_vardir ) if ( ! -d $opt_vardir )
{ {
if ( -l $opt_vardir and ! -d readlink($opt_vardir) )
{
mtr_report("Removing $opt_vardir symlink without destination");
unlink($opt_vardir);
}
# The "var" dir does not exist already # The "var" dir does not exist already
# the processes that mtr_kill_leftovers start will write # the processes that mtr_kill_leftovers start will write
# their log files to var/log so it should be created # their log files to var/log so it should be created
...@@ -2037,14 +2081,6 @@ sub check_ndbcluster_support ($) { ...@@ -2037,14 +2081,6 @@ sub check_ndbcluster_support ($) {
$opt_skip_ndbcluster_slave= 1; $opt_skip_ndbcluster_slave= 1;
return; return;
} }
elsif ( -e "$glob_basedir/bin" && ! -f "$glob_basedir/bin/ndbd")
{
# Binary dist with a mysqld that supports ndb, but no ndbd found
mtr_report("Skipping ndbcluster, can't fint binaries");
$opt_skip_ndbcluster= 1;
$opt_skip_ndbcluster_slave= 1;
return;
}
$glob_ndbcluster_supported= 1; $glob_ndbcluster_supported= 1;
mtr_report("Using ndbcluster when necessary, mysqld supports it"); mtr_report("Using ndbcluster when necessary, mysqld supports it");
...@@ -2475,7 +2511,8 @@ sub mysql_install_db () { ...@@ -2475,7 +2511,8 @@ sub mysql_install_db () {
my $cluster_started_ok= 1; # Assume it can be started my $cluster_started_ok= 1; # Assume it can be started
if ($opt_skip_ndbcluster || $glob_use_running_ndbcluster) if ($opt_skip_ndbcluster || $glob_use_running_ndbcluster ||
$clusters->[0]->{executable_setup_failed})
{ {
# Don't install master cluster # Don't install master cluster
} }
...@@ -2486,7 +2523,8 @@ sub mysql_install_db () { ...@@ -2486,7 +2523,8 @@ sub mysql_install_db () {
} }
if ($max_slave_num == 0 || if ($max_slave_num == 0 ||
$opt_skip_ndbcluster_slave || $glob_use_running_ndbcluster_slave) $opt_skip_ndbcluster_slave || $glob_use_running_ndbcluster_slave ||
$clusters->[1]->{executable_setup_failed})
{ {
# Don't install slave cluster # Don't install slave cluster
} }
...@@ -2760,6 +2798,16 @@ sub run_testcase_check_skip_test($) ...@@ -2760,6 +2798,16 @@ sub run_testcase_check_skip_test($)
last if ($opt_skip_ndbcluster_slave and last if ($opt_skip_ndbcluster_slave and
$cluster->{'name'} eq 'Slave'); $cluster->{'name'} eq 'Slave');
# If test needs this cluster, check binaries was found ok
if ( $cluster->{'executable_setup_failed'} )
{
mtr_report_test_name($tinfo);
$tinfo->{comment}=
"Failed to find cluster binaries";
mtr_report_test_failed($tinfo);
return 1;
}
# If test needs this cluster, check it was installed ok # If test needs this cluster, check it was installed ok
if ( !$cluster->{'installed_ok'} ) if ( !$cluster->{'installed_ok'} )
{ {
...@@ -2769,6 +2817,20 @@ sub run_testcase_check_skip_test($) ...@@ -2769,6 +2817,20 @@ sub run_testcase_check_skip_test($)
mtr_report_test_failed($tinfo); mtr_report_test_failed($tinfo);
return 1; return 1;
} }
}
}
if ( $tinfo->{'component_id'} eq 'im' )
{
# If test needs im, check binaries was found ok
if ( $instance_manager->{'executable_setup_failed'} )
{
mtr_report_test_name($tinfo);
$tinfo->{comment}=
"Failed to find MySQL manager binaries";
mtr_report_test_failed($tinfo);
return 1;
} }
} }
...@@ -2861,6 +2923,56 @@ sub find_testcase_skipped_reason($) ...@@ -2861,6 +2923,56 @@ sub find_testcase_skipped_reason($)
} }
sub analyze_testcase_failure_sync_with_master($)
{
my ($tinfo)= @_;
my $args;
mtr_init_args(\$args);
mtr_add_arg($args, "--no-defaults");
mtr_add_arg($args, "--silent");
mtr_add_arg($args, "-v");
mtr_add_arg($args, "--skip-safemalloc");
mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
mtr_add_arg($args, "--socket=%s", $master->[0]->{'path_sock'});
mtr_add_arg($args, "--port=%d", $master->[0]->{'port'});
mtr_add_arg($args, "--database=test");
mtr_add_arg($args, "--user=%s", $opt_user);
mtr_add_arg($args, "--password=");
# Run the test file and append output to log file
mtr_run_test($exe_mysqltest,$args,
"include/analyze_failure_sync_with_master.test",
"$path_timefile", "$path_timefile","",
{ append_log_file => 1 });
}
sub analyze_testcase_failure($)
{
my ($tinfo)= @_;
# Open mysqltest.log
my $F= IO::File->new($path_timefile) or
mtr_error("can't open file \"$path_timefile\": $!");
while ( my $line= <$F> )
{
# Look for "mysqltest: At line nnn: <error>
if ( $line =~ /mysqltest: At line [0-9]*: (.*)/ )
{
my $error= $1;
# Look for "could not sync with master"
if ( $error =~ /could not sync with master/ )
{
analyze_testcase_failure_sync_with_master($tinfo);
}
}
}
}
############################################################################## ##############################################################################
# #
# Run a single test case # Run a single test case
...@@ -2880,6 +2992,13 @@ sub find_testcase_skipped_reason($) ...@@ -2880,6 +2992,13 @@ sub find_testcase_skipped_reason($)
sub run_testcase ($) { sub run_testcase ($) {
my $tinfo= shift; my $tinfo= shift;
# -------------------------------------------------------
# Init variables that can change between each test case
# -------------------------------------------------------
$ENV{'TZ'}= $tinfo->{'timezone'};
mtr_verbose("Starting server with timezone: $tinfo->{'timezone'}");
my $master_restart= run_testcase_need_master_restart($tinfo); my $master_restart= run_testcase_need_master_restart($tinfo);
my $slave_restart= run_testcase_need_slave_restart($tinfo); my $slave_restart= run_testcase_need_slave_restart($tinfo);
...@@ -2942,6 +3061,10 @@ sub run_testcase ($) { ...@@ -2942,6 +3061,10 @@ sub run_testcase ($) {
} }
elsif ( $res == 1 ) elsif ( $res == 1 )
{ {
if ( $opt_force )
{
analyze_testcase_failure($tinfo);
}
# Test case failure reported by mysqltest # Test case failure reported by mysqltest
report_failure_and_restart($tinfo); report_failure_and_restart($tinfo);
} }
...@@ -3409,6 +3532,9 @@ sub mysqld_start ($$$) { ...@@ -3409,6 +3532,9 @@ sub mysqld_start ($$$) {
my $type= $mysqld->{'type'}; my $type= $mysqld->{'type'};
my $idx= $mysqld->{'idx'}; my $idx= $mysqld->{'idx'};
mtr_error("Internal error: mysqld should never be started for embedded")
if $glob_use_embedded_server;
if ( $type eq 'master' ) if ( $type eq 'master' )
{ {
$exe= $exe_master_mysqld; $exe= $exe_master_mysqld;
...@@ -3849,12 +3975,6 @@ sub run_testcase_start_servers($) { ...@@ -3849,12 +3975,6 @@ sub run_testcase_start_servers($) {
my $tinfo= shift; my $tinfo= shift;
my $tname= $tinfo->{'name'}; my $tname= $tinfo->{'name'};
# -------------------------------------------------------
# Init variables that can change between server starts
# -------------------------------------------------------
$ENV{'TZ'}= $tinfo->{'timezone'};
mtr_verbose("Starting server with timezone: $tinfo->{'timezone'}");
if ( $tinfo->{'component_id'} eq 'mysqld' ) if ( $tinfo->{'component_id'} eq 'mysqld' )
{ {
if ( ! $opt_skip_ndbcluster and if ( ! $opt_skip_ndbcluster and
......
drop table if exists t1; drop table if exists t1, t2, t3, t4, t5, t6;
Warnings:
Note 1051 Unknown table 't1'
drop table if exists t2;
Warnings:
Note 1051 Unknown table 't2'
drop table if exists t3;
Warnings:
Note 1051 Unknown table 't3'
drop table if exists t4;
Warnings:
Note 1051 Unknown table 't4'
drop table if exists t5;
Warnings:
Note 1051 Unknown table 't5'
drop table if exists t6;
Warnings:
Note 1051 Unknown table 't6'
create table t1 (id int(8), name varchar(32)); create table t1 (id int(8), name varchar(32));
create table t2 (id int(8), name varchar(32)) ENGINE="MyISAM"; create table t2 (id int(8), name varchar(32)) ENGINE="MyISAM";
create table t3 (id int(8), name varchar(32)) ENGINE="MEMORY"; create table t3 (id int(8), name varchar(32)) ENGINE="MEMORY";
......
...@@ -74,8 +74,6 @@ get_lock("bug12480",2) ...@@ -74,8 +74,6 @@ get_lock("bug12480",2)
1 1
create table t1 (a datetime,b datetime, c datetime); create table t1 (a datetime,b datetime, c datetime);
drop function if exists bug12480; drop function if exists bug12480;
Warnings:
Note 1305 FUNCTION bug12480 does not exist
create function bug12480() returns datetime create function bug12480() returns datetime
begin begin
set @a=get_lock("bug12480",2); set @a=get_lock("bug12480",2);
......
...@@ -978,8 +978,6 @@ t1 CREATE TABLE `t1` ( ...@@ -978,8 +978,6 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1; drop table t1;
drop procedure if exists wg2; drop procedure if exists wg2;
Warnings:
Note 1305 PROCEDURE wg2 does not exist
create procedure wg2() create procedure wg2()
begin begin
declare v int default 1; declare v int default 1;
......
...@@ -3,14 +3,9 @@ ...@@ -3,14 +3,9 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_archive.inc --source include/have_archive.inc
--disable-warnings --disable_warnings
drop table if exists t1; drop table if exists t1, t2, t3, t4, t5, t6;
drop table if exists t2; --enable_warnings
drop table if exists t3;
drop table if exists t4;
drop table if exists t5;
drop table if exists t6;
--enable-warnings
create table t1 (id int(8), name varchar(32)); create table t1 (id int(8), name varchar(32));
create table t2 (id int(8), name varchar(32)) ENGINE="MyISAM"; create table t2 (id int(8), name varchar(32)) ENGINE="MyISAM";
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
# Date: 2006-02-10 # Date: 2006-02-10
# Change: Augmented test to use with cluster # Change: Augmented test to use with cluster
##################################### #####################################
--source include/have_ndb.inc
--source include/master-slave.inc --source include/master-slave.inc
--source include/have_binlog_format_mixed_or_row.inc --source include/have_binlog_format_mixed_or_row.inc
......
...@@ -70,7 +70,7 @@ select get_lock("bug12480",2); ...@@ -70,7 +70,7 @@ select get_lock("bug12480",2);
connection default; connection default;
create table t1 (a datetime,b datetime, c datetime); create table t1 (a datetime,b datetime, c datetime);
--ignore_warnings --disable_warnings
drop function if exists bug12480; drop function if exists bug12480;
--enable_warnings --enable_warnings
......
...@@ -1000,9 +1000,9 @@ drop table t1; ...@@ -1000,9 +1000,9 @@ drop table t1;
# #
# Bug 12938 (arithmetic loop's zero) # Bug 12938 (arithmetic loop's zero)
# #
--disable-warnings --disable_warnings
drop procedure if exists wg2; drop procedure if exists wg2;
--enable-warnings --enable_warnings
delimiter //; delimiter //;
create procedure wg2() create procedure wg2()
begin begin
......
...@@ -18,8 +18,13 @@ rm -rf Makefile.in.bk ...@@ -18,8 +18,13 @@ rm -rf Makefile.in.bk
# Setup Metrowerks environment # Setup Metrowerks environment
. $path/mwenv . $path/mwenv
# Run autotools(use BUILD/autorun.sh) # Temporary hack to allow building from source dist
. BUILD/autorun.sh if [ ! "$USER"=pushbuild ]
then
# Run autotools(use BUILD/autorun.sh)
echo "Running autotools again(BUILD/autorun.sh)"
. BUILD/autorun.sh
fi
# configure # configure
./configure $base_configs $extra_configs ./configure $base_configs $extra_configs
......
...@@ -27,8 +27,8 @@ WINE_BUILD_DIR="$base/$WINE_BUILD_DIR" ...@@ -27,8 +27,8 @@ WINE_BUILD_DIR="$base/$WINE_BUILD_DIR"
echo "WINE_BUILD_DIR: $WINE_BUILD_DIR" echo "WINE_BUILD_DIR: $WINE_BUILD_DIR"
# Look for libc, MySQL 5.1.x uses libc-2006 by default # Look for libc, MySQL 5.1.x uses libc-2006 by default
libcdir="$MYDEV/libc-2006" libc_dir="$MYDEV/libc-2006"
if test ! -d $libcdir if [ ! -d `winepath $libc_dir` ]
then then
# The libcdir didn't exist, set default # The libcdir didn't exist, set default
libc_dir="$MYDEV/libc" libc_dir="$MYDEV/libc"
...@@ -65,5 +65,11 @@ then ...@@ -65,5 +65,11 @@ then
export TERM=linux export TERM=linux
fi fi
# Temporary hack to allow building from source dist
if [ "$USER"=pushbuild ]
then
export ARFLAGS=$AR_FLAGS
fi
# Print all env. variables # Print all env. variables
export export
...@@ -3,6 +3,13 @@ ...@@ -3,6 +3,13 @@
# stop on errors # stop on errors
set -e set -e
# If libtool passes "x" as the first argument to this script
# it's an indication that libtool is trying to unpack .la's
# so they can be added to a new library
# This step does not work on Netware and we avoid it by
# replacing the .la library with the path to the .a library
# in Makefile.in
args=" $*" args=" $*"
# NOTE: Option 'pipefail' is not standard sh # NOTE: Option 'pipefail' is not standard sh
......
...@@ -121,8 +121,9 @@ static void client_disconnect(); ...@@ -121,8 +121,9 @@ static void client_disconnect();
void die(const char *file, int line, const char *expr) void die(const char *file, int line, const char *expr)
{ {
fflush(stdout);
fprintf(stderr, "%s:%d: check failed: '%s'\n", file, line, expr); fprintf(stderr, "%s:%d: check failed: '%s'\n", file, line, expr);
fflush(NULL); fflush(stderr);
abort(); abort();
} }
...@@ -7496,10 +7497,22 @@ static void test_explain_bug() ...@@ -7496,10 +7497,22 @@ static void test_explain_bug()
MYSQL_TYPE_STRING : MYSQL_TYPE_VAR_STRING, MYSQL_TYPE_STRING : MYSQL_TYPE_VAR_STRING,
0, 0, "", 3, 0); 0, 0, "", 3, 0);
verify_prepare_field(result, 4, "Default", "COLUMN_DEFAULT", if ( mysql_get_server_version(mysql) >= 50027 )
mysql_get_server_version(mysql) <= 50000 ? {
MYSQL_TYPE_STRING : MYSQL_TYPE_VAR_STRING, /* The patch for bug#23037 changes column type of DEAULT to blob */
0, 0, "", 64, 0); verify_prepare_field(result, 4, "Default", "COLUMN_DEFAULT",
MYSQL_TYPE_BLOB, 0, 0, "", 0, 0);
}
else
{
verify_prepare_field(result, 4, "Default", "COLUMN_DEFAULT",
mysql_get_server_version(mysql) >= 50027 ?
MYSQL_TYPE_BLOB :
mysql_get_server_version(mysql) <= 50000 ?
MYSQL_TYPE_STRING : MYSQL_TYPE_VAR_STRING,
0, 0, "",
mysql_get_server_version(mysql) >= 50027 ? 0 :64, 0);
}
verify_prepare_field(result, 5, "Extra", "EXTRA", verify_prepare_field(result, 5, "Extra", "EXTRA",
mysql_get_server_version(mysql) <= 50000 ? mysql_get_server_version(mysql) <= 50000 ?
......
...@@ -26,6 +26,10 @@ ...@@ -26,6 +26,10 @@
#ifdef HAVE_OPENSSL #ifdef HAVE_OPENSSL
#ifdef __NETWARE__ #ifdef __NETWARE__
/* yaSSL already uses BSD sockets */
#ifndef HAVE_YASSL
/* /*
The default OpenSSL implementation on NetWare uses WinSock. The default OpenSSL implementation on NetWare uses WinSock.
This code allows us to use the BSD sockets. This code allows us to use the BSD sockets.
...@@ -47,6 +51,7 @@ static int SSL_set_fd_bsd(SSL *s, int fd) ...@@ -47,6 +51,7 @@ static int SSL_set_fd_bsd(SSL *s, int fd)
#define SSL_set_fd(A, B) SSL_set_fd_bsd((A), (B)) #define SSL_set_fd(A, B) SSL_set_fd_bsd((A), (B))
#endif /* HAVE_YASSL */
#endif /* __NETWARE__ */ #endif /* __NETWARE__ */
......
...@@ -180,11 +180,15 @@ void netware_ssl_cleanup() ...@@ -180,11 +180,15 @@ void netware_ssl_cleanup()
/* free memory from SSL_library_init() */ /* free memory from SSL_library_init() */
EVP_cleanup(); EVP_cleanup();
/* OpenSSL NetWare port specific functions */
#ifndef HAVE_YASSL
/* free global X509 method */ /* free global X509 method */
X509_STORE_method_cleanup(); X509_STORE_method_cleanup();
/* free the thread_hash error table */ /* free the thread_hash error table */
ERR_free_state_table(); ERR_free_state_table();
#endif
} }
......
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