Commit 00a6a9c0 authored by Sinisa@sinisa.nasamreza.org's avatar Sinisa@sinisa.nasamreza.org

Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0

into sinisa.nasamreza.org:/mnt/work/mysql-4.0
parents 05237bd8 f16a71e2
#!/usr/bin/perl -w
use Getopt::Long;
$opt_help=0;
$opt_tarball=$opt_builddir="";
GetOptions(
"help",
"tarball=s",
"builddir=s",
) || print_help();
print_help() if ($opt_help);
chomp($MSDEV=`which msdev`);
if (!$opt_builddir) {
$opt_builddir = "/cygdrive/c/mysql-win-build";
}
$opt_tarball =~ /(mysql[^\/]*)-win-src\.tar/;
$mysqlver=$1;
$basedir = "$opt_builddir/$mysqlver";
# Make sure build dir exists
mkdir($opt_builddir);
# Clean out any previous build
system("rm -rf $basedir");
mkdir($basedir);
mkdir("$basedir/tarball");
system("cp $opt_tarball $basedir/tarball");
if (!chdir($basedir))
{
print "Do-win-build error: Could not change to $opt_builddir";
exit 1;
}
mkdir("build");
chdir("build");
system("tar -zxvf ../tarball/$mysqlver-win-src.tar.gz");
chdir($mysqlver);
system("\"$MSDEV\" mysql.dsw /MAKE \"ALL\" /OUT $mysqlver-build.log");
#
# Print a help text message
#
sub print_help
{
print <<EOF;
Usage: Do-compile-win [options] source-tarball
Unpacks a Windows source distribution on the local machine and
compiles it using VC++ 6.0.
This script is intended for Cygwin Perl. You must have a working
MSDEV.EXE in your path for compilation.
Options:
--help
Print this text.
--builddir=<dir>
Set the Cygwin path to build under; the tarball will actually
be moved to <builddir>/mysql-<version>/tarball and extracted under
<builddir>/mysql-<version>/build.
Default: /cygdrive/c/mysql-win-build
--tarball=<file>
Windows source tarball to use for this build. Must be of the form
mysql[com]-x.x.x-win-src.tar.gz (REQUIRED)
EOF
exit 1;
}
...@@ -682,14 +682,6 @@ row_ins_foreign_check_on_constraint( ...@@ -682,14 +682,6 @@ row_ins_foreign_check_on_constraint(
(DICT_FOREIGN_ON_DELETE_CASCADE (DICT_FOREIGN_ON_DELETE_CASCADE
| DICT_FOREIGN_ON_DELETE_SET_NULL))) { | DICT_FOREIGN_ON_DELETE_SET_NULL))) {
/* No action is defined: return a foreign key error if
NO ACTION is not specified */
if (foreign->type & DICT_FOREIGN_ON_DELETE_NO_ACTION) {
return(DB_SUCCESS);
}
row_ins_foreign_report_err((char*)"Trying to delete", row_ins_foreign_report_err((char*)"Trying to delete",
thr, foreign, thr, foreign,
btr_pcur_get_rec(pcur), entry); btr_pcur_get_rec(pcur), entry);
...@@ -703,14 +695,6 @@ row_ins_foreign_check_on_constraint( ...@@ -703,14 +695,6 @@ row_ins_foreign_check_on_constraint(
/* This is an UPDATE */ /* This is an UPDATE */
/* No action is defined: return a foreign key error if
NO ACTION is not specified */
if (foreign->type & DICT_FOREIGN_ON_UPDATE_NO_ACTION) {
return(DB_SUCCESS);
}
row_ins_foreign_report_err((char*)"Trying to update", row_ins_foreign_report_err((char*)"Trying to update",
thr, foreign, thr, foreign,
btr_pcur_get_rec(pcur), entry); btr_pcur_get_rec(pcur), entry);
......
...@@ -840,9 +840,11 @@ int _mi_key_cmp(register MI_KEYSEG *keyseg, register uchar *a, ...@@ -840,9 +840,11 @@ int _mi_key_cmp(register MI_KEYSEG *keyseg, register uchar *a,
break; break;
case HA_KEYTYPE_VARTEXT: case HA_KEYTYPE_VARTEXT:
{ {
int a_length,b_length,pack_length; int a_length,full_a_length,b_length,full_b_length,pack_length;
get_key_length(a_length,a); get_key_length(a_length,a);
get_key_pack_length(b_length,pack_length,b); get_key_pack_length(b_length,pack_length,b);
full_a_length=a_length;
full_b_length=b_length;
next_key_length=key_length-b_length-pack_length; next_key_length=key_length-b_length-pack_length;
if (!(nextflag & (SEARCH_PREFIX | SEARCH_UPDATE))) if (!(nextflag & (SEARCH_PREFIX | SEARCH_UPDATE)))
...@@ -857,8 +859,8 @@ int _mi_key_cmp(register MI_KEYSEG *keyseg, register uchar *a, ...@@ -857,8 +859,8 @@ int _mi_key_cmp(register MI_KEYSEG *keyseg, register uchar *a,
(my_bool) ((nextflag & SEARCH_PREFIX) && (my_bool) ((nextflag & SEARCH_PREFIX) &&
next_key_length <= 0)))) next_key_length <= 0))))
return ((keyseg->flag & HA_REVERSE_SORT) ? -flag : flag); return ((keyseg->flag & HA_REVERSE_SORT) ? -flag : flag);
a+=a_length; a+=full_a_length;
b+=b_length; b+=full_b_length;
break; break;
} }
break; break;
......
...@@ -173,3 +173,21 @@ Unknown column 'W' in 'field list' ...@@ -173,3 +173,21 @@ Unknown column 'W' in 'field list'
handler t1 read a=(a); handler t1 read a=(a);
Wrong arguments to HANDLER ... READ Wrong arguments to HANDLER ... READ
drop table t1; drop table t1;
create table t1 (a char(5));
insert into t1 values ("Ok");
handler t1 open as t;
handler t read first;
a
Ok
use mysql;
handler t read first;
a
Ok
handler t close;
handler test.t1 open as t;
handler t read first;
a
Ok
handler t close;
use test;
drop table t1;
...@@ -300,3 +300,11 @@ SELECT COUNT(*) FROM t1 WHERE (c=0 and b=1) or (c=0 and a=1); ...@@ -300,3 +300,11 @@ SELECT COUNT(*) FROM t1 WHERE (c=0 and b=1) or (c=0 and a=1);
COUNT(*) COUNT(*)
6 6
DROP TABLE t1; DROP TABLE t1;
create table t1(a text not null, b text not null, c text not null, index (a(10),b(10),c(10)));
insert into t1 values('807780', '477', '165');
insert into t1 values('807780', '477', '162');
insert into t1 values('807780', '472', '162');
select * from t1 where a='807780' and b='477' and c='165';
a b c
807780 477 165
drop table t1;
...@@ -107,3 +107,19 @@ handler t1 read a=(W); ...@@ -107,3 +107,19 @@ handler t1 read a=(W);
handler t1 read a=(a); handler t1 read a=(a);
drop table t1; drop table t1;
#
# BUG#2304
#
create table t1 (a char(5));
insert into t1 values ("Ok");
handler t1 open as t;
handler t read first;
use mysql;
handler t read first;
handler t close;
handler test.t1 open as t;
handler t read first;
handler t close;
use test;
drop table t1;
...@@ -248,3 +248,15 @@ INSERT INTO t1 VALUES (0,1,0),(0,1,0),(0,1,0); ...@@ -248,3 +248,15 @@ INSERT INTO t1 VALUES (0,1,0),(0,1,0),(0,1,0);
SELECT COUNT(*) FROM t1 WHERE (c=0 and a=1) or (c=0 and b=1); SELECT COUNT(*) FROM t1 WHERE (c=0 and a=1) or (c=0 and b=1);
SELECT COUNT(*) FROM t1 WHERE (c=0 and b=1) or (c=0 and a=1); SELECT COUNT(*) FROM t1 WHERE (c=0 and b=1) or (c=0 and a=1);
DROP TABLE t1; DROP TABLE t1;
#
# BUG#2295 - range on blob
#
create table t1(a text not null, b text not null, c text not null, index (a(10),b(10),c(10)));
insert into t1 values('807780', '477', '165');
insert into t1 values('807780', '477', '162');
insert into t1 values('807780', '472', '162');
select * from t1 where a='807780' and b='477' and c='165';
drop table t1;
...@@ -46,6 +46,9 @@ make clean config.h ...@@ -46,6 +46,9 @@ make clean config.h
(cd sql; make gen_lex_hash) (cd sql; make gen_lex_hash)
(cd strings; make conf_to_src) (cd strings; make conf_to_src)
# so the file will be linked
(cd sql; make sql_yacc.cc)
# copying required linux tools # copying required linux tools
cp extra/comp_err extra/comp_err.linux cp extra/comp_err extra/comp_err.linux
cp libmysql/conf_to_src libmysql/conf_to_src.linux cp libmysql/conf_to_src libmysql/conf_to_src.linux
......
...@@ -29,7 +29,7 @@ rm -rf Makefile.in.bk ...@@ -29,7 +29,7 @@ rm -rf Makefile.in.bk
make clean bin-dist make clean bin-dist
# mark the build # mark the build
for file in *.tar.gz for file in *.tar.gz *.zip
do do
if (expr "$file" : "mysql-[1-9].*" > /dev/null) if (expr "$file" : "mysql-[1-9].*" > /dev/null)
then then
......
...@@ -8,6 +8,7 @@ set -e ...@@ -8,6 +8,7 @@ set -e
path=`dirname $0` path=`dirname $0`
$path/compile-netware-src
$path/compile-netware-standard $path/compile-netware-standard
$path/compile-netware-debug $path/compile-netware-debug
#$path/compile-netware-max #$path/compile-netware-max
......
...@@ -13,7 +13,7 @@ path=`dirname $0` ...@@ -13,7 +13,7 @@ path=`dirname $0`
suffix="standard" suffix="standard"
extra_configs=" \ extra_configs=" \
--with-innodb --with-innodb \
" "
. $path/compile-netware-END . $path/compile-netware-END
......
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
# the default is "F:/mydev" # the default is "F:/mydev"
export MYDEV="WINE_BUILD_DIR" export MYDEV="WINE_BUILD_DIR"
export MWCNWx86Includes="$MYDEV/libc/include" export MWCNWx86Includes="$MYDEV/libc/include;$MYDEV"
export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib" export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib;$MYDEV/mysql-VERSION/netware/BUILD"
export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib" export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib;knetware.imp"
export WINEPATH="$MYDEV/mw/bin" export WINEPATH="$MYDEV/mw/bin"
...@@ -19,11 +19,11 @@ export AR='mwldnlm' ...@@ -19,11 +19,11 @@ export AR='mwldnlm'
export AR_FLAGS='-type library -o' export AR_FLAGS='-type library -o'
export AS='mwasmnlm' export AS='mwasmnlm'
export CC='mwccnlm -gccincludes' export CC='mwccnlm -gccincludes'
export CFLAGS='-dialect c -proc 686 -relax_pointers' export CFLAGS='-align 8 -proc 686 -relax_pointers -dialect c'
export CXX='mwccnlm -gccincludes' export CXX='mwccnlm -gccincludes'
export CXXFLAGS='-dialect c++ -proc 686 -bool on -wchar_t on -relax_pointers -D_WCHAR_T' export CXXFLAGS='-align 8 -proc 686 -relax_pointers -dialect c++ -bool on -wchar_t on -D_WCHAR_T'
export LD='mwldnlm' export LD='mwldnlm'
export LDFLAGS='-entry _LibCPrelude -exit _LibCPostlude -flags pseudopreemption' export LDFLAGS='-entry _LibCPrelude -exit _LibCPostlude -map -flags pseudopreemption'
export RANLIB=: export RANLIB=:
export STRIP=: export STRIP=:
...@@ -11,7 +11,7 @@ path=`dirname $0` ...@@ -11,7 +11,7 @@ path=`dirname $0`
# repository direcotry # repository direcotry
repo_dir=`pwd` repo_dir=`pwd`
# build direcotry # build directory
build_dir="$HOME/mydev" build_dir="$HOME/mydev"
wine_build_dir="F:/mydev" wine_build_dir="F:/mydev"
...@@ -147,10 +147,12 @@ then ...@@ -147,10 +147,12 @@ then
fi fi
# make files writeable # make files writeable
echo "making files writable..."
cd $target_dir cd $target_dir
chmod -R u+rw,g+rw . chmod -R u+rw,g+rw .
# edit the mvenv file # edit the mvenv file
echo "updating the mwenv environment file..."
mwenv="./netware/BUILD/mwenv" mwenv="./netware/BUILD/mwenv"
mv -f $mwenv $mwenv.org mv -f $mwenv $mwenv.org
sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \ sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \
...@@ -158,6 +160,17 @@ sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \ ...@@ -158,6 +160,17 @@ sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \
-e "s;VERSION;$version;g" $mwenv.org > $mwenv -e "s;VERSION;$version;g" $mwenv.org > $mwenv
chmod +rwx $mwenv chmod +rwx $mwenv
# edit the def file versions
echo "updating *.def file versions..."
nlm_version=`echo "$version" | sed -e "s;\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*;\1, \2, \3;"`
for file in ./netware/*.def
do
mv -f $file $file.org
sed -e "s;VERSION.*;VERSION $nlm_version;g" $file.org > $file
rm $file.org
done
# build linux tools # build linux tools
echo "compiling linux tools..." echo "compiling linux tools..."
./netware/BUILD/compile-linux-tools ./netware/BUILD/compile-linux-tools
......
...@@ -20,7 +20,7 @@ mysqld_safe_SOURCES= mysqld_safe.c my_manage.c ...@@ -20,7 +20,7 @@ mysqld_safe_SOURCES= mysqld_safe.c my_manage.c
mysql_install_db_SOURCES= mysql_install_db.c my_manage.c mysql_install_db_SOURCES= mysql_install_db.c my_manage.c
mysql_test_run_SOURCES= mysql_test_run.c my_manage.c mysql_test_run_SOURCES= mysql_test_run.c my_manage.c
libmysql_SOURCES= libmysqlmain.c libmysql_SOURCES= libmysqlmain.c
libmysql_LDADD = ../libmysql/.libs/libmysqlclient.a libmysql_LDADD = ../libmysql/.libs/libmysqlclient.a @openssl_libs@
netware_build_files = client/mysql.def client/mysqladmin.def \ netware_build_files = client/mysql.def client/mysqladmin.def \
client/mysqlbinlog.def client/mysqlcheck.def \ client/mysqlbinlog.def client/mysqlcheck.def \
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# ISAM Check # ISAM Check
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL ISAM Table Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL ISAM Table Check Tool" DESCRIPTION "MySQL ISAM Table Check Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -199,9 +199,13 @@ int wait_for_server_start(char *bin_dir, char *user, char *password, int port) ...@@ -199,9 +199,13 @@ int wait_for_server_start(char *bin_dir, char *user, char *password, int port)
add_arg(&al, "--user=%s", user); add_arg(&al, "--user=%s", user);
add_arg(&al, "--password=%s", password); add_arg(&al, "--password=%s", password);
add_arg(&al, "--silent"); add_arg(&al, "--silent");
/** Not supported on NetWare
add_arg(&al, "-O"); add_arg(&al, "-O");
add_arg(&al, "connect_timeout=10"); add_arg(&al, "connect_timeout=10");
add_arg(&al, "-w"); add_arg(&al, "-w");
**/
add_arg(&al, "--host=localhost"); add_arg(&al, "--host=localhost");
add_arg(&al, "ping"); add_arg(&al, "ping");
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MyISAM Check # MyISAM Check
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Check Tool" DESCRIPTION "MySQL MyISAM Table Check Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MyISAM Log # MyISAM Log
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Log Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Log Tool" DESCRIPTION "MySQL MyISAM Table Log Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MyISAM Pack # MyISAM Pack
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Pack Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Pack Tool" DESCRIPTION "MySQL MyISAM Table Pack Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include <sys/mode.h>
#include "my_config.h" #include "my_config.h"
#include "my_manage.h" #include "my_manage.h"
...@@ -94,6 +95,13 @@ char slave_master_info[PATH_MAX] = ""; ...@@ -94,6 +95,13 @@ char slave_master_info[PATH_MAX] = "";
char master_init_script[PATH_MAX] = ""; char master_init_script[PATH_MAX] = "";
char slave_init_script[PATH_MAX] = ""; char slave_init_script[PATH_MAX] = "";
// OpenSSL
char ca_cert[PATH_MAX];
char server_cert[PATH_MAX];
char server_key[PATH_MAX];
char client_cert[PATH_MAX];
char client_key[PATH_MAX];
int total_skip = 0; int total_skip = 0;
int total_pass = 0; int total_pass = 0;
int total_fail = 0; int total_fail = 0;
...@@ -101,6 +109,7 @@ int total_test = 0; ...@@ -101,6 +109,7 @@ int total_test = 0;
double total_time = 0; double total_time = 0;
int use_openssl = FALSE;
int master_running = FALSE; int master_running = FALSE;
int slave_running = FALSE; int slave_running = FALSE;
int skip_slave = TRUE; int skip_slave = TRUE;
...@@ -193,6 +202,7 @@ void install_db(char *datadir) ...@@ -193,6 +202,7 @@ void install_db(char *datadir)
// args // args
init_args(&al); init_args(&al);
add_arg(&al, mysqld_file); add_arg(&al, mysqld_file);
add_arg(&al, "--no-defaults");
add_arg(&al, "--bootstrap"); add_arg(&al, "--bootstrap");
add_arg(&al, "--skip-grant-tables"); add_arg(&al, "--skip-grant-tables");
add_arg(&al, "--basedir=%s", base_dir); add_arg(&al, "--basedir=%s", base_dir);
...@@ -266,15 +276,16 @@ void start_master() ...@@ -266,15 +276,16 @@ void start_master()
int err, i; int err, i;
char master_out[PATH_MAX]; char master_out[PATH_MAX];
char master_err[PATH_MAX]; char master_err[PATH_MAX];
char temp[PATH_MAX], temp2[PATH_MAX];
// remove old berkeley db log files that can confuse the server // remove old berkeley db log files that can confuse the server
removef("%s/log.*", master_dir); removef("%s/log.*", master_dir);
// remove stale binary logs // remove stale binary logs
removef("%s/*-bin.*", master_dir); removef("%s/var/log/*-bin.*", mysql_test_dir);
// remove stale binary logs // remove stale binary logs
removef("%s/*.index", master_dir); removef("%s/var/log/*.index", mysql_test_dir);
// remove master.info file // remove master.info file
removef("%s/master.info", master_dir); removef("%s/master.info", master_dir);
...@@ -289,6 +300,21 @@ void start_master() ...@@ -289,6 +300,21 @@ void start_master()
if (master_init_script[0] != NULL) if (master_init_script[0] != NULL)
{ {
// run_init_script(master_init_script); // run_init_script(master_init_script);
// TODO: use the scripts
if (strindex(master_init_script, "repair_part2-master.sh") != NULL)
{
FILE *fp;
// create an empty index file
snprintf(temp, PATH_MAX, "%s/test/t1.MYI", master_dir);
fp = fopen(temp, "wb+");
fputs("1", fp);
fclose(fp);
}
} }
// redirection files // redirection files
...@@ -297,11 +323,16 @@ void start_master() ...@@ -297,11 +323,16 @@ void start_master()
snprintf(master_err, PATH_MAX, "%s/var/run/master%u.err", snprintf(master_err, PATH_MAX, "%s/var/run/master%u.err",
mysql_test_dir, restarts); mysql_test_dir, restarts);
snprintf(temp2,PATH_MAX,"%s/var",mysql_test_dir);
mkdir(temp2,0);
snprintf(temp2,PATH_MAX,"%s/var/log",mysql_test_dir);
mkdir(temp2,0);
// args // args
init_args(&al); init_args(&al);
add_arg(&al, "%s", mysqld_file); add_arg(&al, "%s", mysqld_file);
add_arg(&al, "--no-defaults"); add_arg(&al, "--no-defaults");
add_arg(&al, "--log-bin=master-bin"); add_arg(&al, "--log-bin=%s/var/log/master-bin",mysql_test_dir);
add_arg(&al, "--server-id=1"); add_arg(&al, "--server-id=1");
add_arg(&al, "--basedir=%s", base_dir); add_arg(&al, "--basedir=%s", base_dir);
add_arg(&al, "--port=%u", master_port); add_arg(&al, "--port=%u", master_port);
...@@ -313,6 +344,13 @@ void start_master() ...@@ -313,6 +344,13 @@ void start_master()
add_arg(&al, "--tmpdir=%s", mysql_tmp_dir); add_arg(&al, "--tmpdir=%s", mysql_tmp_dir);
add_arg(&al, "--language=%s", lang_dir); add_arg(&al, "--language=%s", lang_dir);
if (use_openssl)
{
add_arg(&al, "--ssl-ca=%s", ca_cert);
add_arg(&al, "--ssl-cert=%s", server_cert);
add_arg(&al, "--ssl-key=%s", server_key);
}
// $MASTER_40_ARGS // $MASTER_40_ARGS
add_arg(&al, "--rpl-recovery-rank=1"); add_arg(&al, "--rpl-recovery-rank=1");
add_arg(&al, "--init-rpl-role=master"); add_arg(&al, "--init-rpl-role=master");
...@@ -329,16 +367,23 @@ void start_master() ...@@ -329,16 +367,23 @@ void start_master()
if (master_opt[0] != NULL) if (master_opt[0] != NULL)
{ {
char *p; char *p;
char *temp;
p = (char *)strtok(master_opt, " \t"); p = (char *)strtok(master_opt, " \t");
if ((temp = strstr(p, "timezone")) == NULL)
{
while(p) while(p)
{ {
add_arg(&al, "%s", p); add_arg(&al, "%s", p);
p = (char *)strtok(NULL, " \t"); p = (char *)strtok(NULL, " \t");
} }
} }
else
{
//do nothing
}
}
// remove the pid file if it exists // remove the pid file if it exists
remove(master_pid); remove(master_pid);
...@@ -409,7 +454,7 @@ void start_slave() ...@@ -409,7 +454,7 @@ void start_slave()
{ {
// create empty master.info file // create empty master.info file
snprintf(temp, PATH_MAX, "%s/master.info", slave_dir); snprintf(temp, PATH_MAX, "%s/master.info", slave_dir);
close(open(temp, O_WRONLY | O_CREAT)); close(open(temp, O_WRONLY | O_CREAT,S_IRWXU|S_IRWXG|S_IRWXO));
} }
else if (strindex(slave_init_script, "rpl000017-slave.sh") != NULL) else if (strindex(slave_init_script, "rpl000017-slave.sh") != NULL)
{ {
...@@ -434,7 +479,7 @@ void start_slave() ...@@ -434,7 +479,7 @@ void start_slave()
{ {
// create empty master.info file // create empty master.info file
snprintf(temp, PATH_MAX, "%s/master.info", slave_dir); snprintf(temp, PATH_MAX, "%s/master.info", slave_dir);
close(open(temp, O_WRONLY | O_CREAT)); close(open(temp, O_WRONLY | O_CREAT,S_IRWXU|S_IRWXG|S_IRWXO));
} }
} }
...@@ -474,6 +519,13 @@ void start_slave() ...@@ -474,6 +519,13 @@ void start_slave()
add_arg(&al, "-O"); add_arg(&al, "-O");
add_arg(&al, "slave_net_timeout=10"); add_arg(&al, "slave_net_timeout=10");
if (use_openssl)
{
add_arg(&al, "--ssl-ca=%s", ca_cert);
add_arg(&al, "--ssl-cert=%s", server_cert);
add_arg(&al, "--ssl-key=%s", server_key);
}
// slave master info // slave master info
if (slave_master_info[0] != NULL) if (slave_master_info[0] != NULL)
{ {
...@@ -557,6 +609,7 @@ void start_slave() ...@@ -557,6 +609,7 @@ void start_slave()
******************************************************************************/ ******************************************************************************/
void mysql_start() void mysql_start()
{ {
log_info("Starting the MySQL server(s): %u", ++restarts);
start_master(); start_master();
start_slave(); start_slave();
...@@ -623,6 +676,7 @@ void stop_master() ...@@ -623,6 +676,7 @@ void stop_master()
******************************************************************************/ ******************************************************************************/
void mysql_stop() void mysql_stop()
{ {
log_info("Stopping the MySQL server(s)...");
stop_master(); stop_master();
stop_slave(); stop_slave();
...@@ -640,7 +694,6 @@ void mysql_stop() ...@@ -640,7 +694,6 @@ void mysql_stop()
******************************************************************************/ ******************************************************************************/
void mysql_restart() void mysql_restart()
{ {
log_info("Restarting the MySQL server(s): %u", ++restarts);
mysql_stop(); mysql_stop();
...@@ -771,6 +824,11 @@ void run_test(char *test) ...@@ -771,6 +824,11 @@ void run_test(char *test)
if (stat(test_file, &info)) if (stat(test_file, &info))
{ {
snprintf(test_file, PATH_MAX, "%s/%s%s", test_dir, test, TEST_SUFFIX); snprintf(test_file, PATH_MAX, "%s/%s%s", test_dir, test, TEST_SUFFIX);
if(access(test_file,0))
{
printf("Invalid test name %s, %s file not found\n",test,test_file);
return;
}
} }
snprintf(result_file, PATH_MAX, "%s/%s%s", result_dir, test, NW_RESULT_SUFFIX); snprintf(result_file, PATH_MAX, "%s/%s%s", result_dir, test, NW_RESULT_SUFFIX);
...@@ -827,6 +885,13 @@ void run_test(char *test) ...@@ -827,6 +885,13 @@ void run_test(char *test)
add_arg(&al, "-R"); add_arg(&al, "-R");
add_arg(&al, "%s", result_file); add_arg(&al, "%s", result_file);
if (use_openssl)
{
add_arg(&al, "--ssl-ca=%s", ca_cert);
add_arg(&al, "--ssl-cert=%s", client_cert);
add_arg(&al, "--ssl-key=%s", client_key);
}
// start timer // start timer
NXGetTime(NX_SINCE_BOOT, NX_USECONDS, &start); NXGetTime(NX_SINCE_BOOT, NX_USECONDS, &start);
...@@ -1009,6 +1074,8 @@ void die(char *msg) ...@@ -1009,6 +1074,8 @@ void die(char *msg)
void setup(char *file) void setup(char *file)
{ {
char temp[PATH_MAX]; char temp[PATH_MAX];
char mysqldump_load[PATH_MAX*2],mysqlbinlog_load[PATH_MAX*2];
char *p; char *p;
// set the timezone for the timestamp test // set the timezone for the timestamp test
...@@ -1035,6 +1102,17 @@ void setup(char *file) ...@@ -1035,6 +1102,17 @@ void setup(char *file)
snprintf(lang_dir, PATH_MAX, "%s/share/english", base_dir); snprintf(lang_dir, PATH_MAX, "%s/share/english", base_dir);
snprintf(char_dir, PATH_MAX, "%s/share/charsets", base_dir); snprintf(char_dir, PATH_MAX, "%s/share/charsets", base_dir);
#ifdef HAVE_OPENSSL
use_openssl = TRUE;
#endif // HAVE_OPENSSL
// OpenSSL paths
snprintf(ca_cert, PATH_MAX, "%s/SSL/cacert.pem", base_dir);
snprintf(server_cert, PATH_MAX, "%s/SSL/server-cert.pem", base_dir);
snprintf(server_key, PATH_MAX, "%s/SSL/server-key.pem", base_dir);
snprintf(client_cert, PATH_MAX, "%s/SSL/client-cert.pem", base_dir);
snprintf(client_key, PATH_MAX, "%s/SSL/client-key.pem", base_dir);
// setup files // setup files
snprintf(mysqld_file, PATH_MAX, "%s/mysqld", bin_dir); snprintf(mysqld_file, PATH_MAX, "%s/mysqld", bin_dir);
snprintf(mysqltest_file, PATH_MAX, "%s/mysqltest", bin_dir); snprintf(mysqltest_file, PATH_MAX, "%s/mysqltest", bin_dir);
...@@ -1054,8 +1132,13 @@ void setup(char *file) ...@@ -1054,8 +1132,13 @@ void setup(char *file)
strcpy(temp, strlwr(skip_test)); strcpy(temp, strlwr(skip_test));
snprintf(skip_test, PATH_MAX, " %s ", temp); snprintf(skip_test, PATH_MAX, " %s ", temp);
// enviornment snprintf(mysqlbinlog_load,PATH_MAX*2,"%s/mysqlbinlog --no-defaults --local-load=%s",bin_dir,mysql_tmp_dir);
snprintf(mysqldump_load,PATH_MAX*2,"%s/mysqldump --no-defaults -uroot --port=%d",bin_dir,master_port);
// environment
setenv("MYSQL_TEST_DIR", mysql_test_dir, 1); setenv("MYSQL_TEST_DIR", mysql_test_dir, 1);
setenv("MYSQL_DUMP", mysqldump_load, 1);
setenv("MYSQL_BINLOG", mysqlbinlog_load, 1);
setenv("MASTER_MYPORT", "9306", 1);
} }
/****************************************************************************** /******************************************************************************
...@@ -1132,14 +1215,14 @@ int main(int argc, char **argv) ...@@ -1132,14 +1215,14 @@ int main(int argc, char **argv)
closedir(dir); closedir(dir);
} }
// stop server
mysql_stop();
log(DASH); log(DASH);
log("\n"); log("\n");
log("Ending Tests...\n"); log("Ending Tests...\n");
// stop server
mysql_stop();
// report stats // report stats
report_stats(); report_stats();
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MySQL Binary Log # MySQL Binary Log
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL Binary Log Dump Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Binary Log Dump Tool" DESCRIPTION "MySQL Binary Log Dump Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MySQL Client # MySQL Client
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Check Tool" DESCRIPTION "MySQL Check Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -459,7 +459,7 @@ void check_data_vol() ...@@ -459,7 +459,7 @@ void check_data_vol()
if ((vol.flags & VOL_NSS_PRESENT) == 0) if ((vol.flags & VOL_NSS_PRESENT) == 0)
{ {
log("Error: The data directory is not on an NSS volume!\n\n"); log("Error: Either the data directory does not exist or is not on an NSS volume!\n\n");
exit(-1); exit(-1);
} }
} }
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MySQL Admin # MySQL Admin
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL Dump Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Dump Tool" DESCRIPTION "MySQL Dump Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# MySQL Client # MySQL Client
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
MODULE libc.nlm MODULE libc.nlm
SCREENNAME "MySQL Import"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved." COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Import Tool" DESCRIPTION "MySQL Import Tool"
VERSION 4, 0 VERSION 4, 0
......
...@@ -340,7 +340,7 @@ then ...@@ -340,7 +340,7 @@ then
echo echo
fi fi
echo "PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !" echo "PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !"
echo "This is done with:" echo "To do so, start the server, then issue the following commands:"
echo "$bindir/mysqladmin -u root password 'new-password'" echo "$bindir/mysqladmin -u root password 'new-password'"
echo "$bindir/mysqladmin -u root -h $hostname password 'new-password'" echo "$bindir/mysqladmin -u root -h $hostname password 'new-password'"
echo "See the manual for more instructions." echo "See the manual for more instructions."
......
...@@ -115,7 +115,6 @@ else ...@@ -115,7 +115,6 @@ else
ledir=@libexecdir@ ledir=@libexecdir@
fi fi
safe_mysql_unix_port=${mysql_unix_port:-${MYSQL_UNIX_PORT:-@MYSQL_UNIX_ADDR@}}
user=@MYSQLD_USER@ user=@MYSQLD_USER@
niceness=0 niceness=0
...@@ -155,6 +154,7 @@ then ...@@ -155,6 +154,7 @@ then
fi fi
parse_arguments `$print_defaults --loose-verbose $defaults mysqld_safe safe_mysqld` parse_arguments `$print_defaults --loose-verbose $defaults mysqld_safe safe_mysqld`
parse_arguments PICK-ARGS-FROM-ARGV "$@" parse_arguments PICK-ARGS-FROM-ARGV "$@"
safe_mysql_unix_port=${mysql_unix_port:-${MYSQL_UNIX_PORT:-@MYSQL_UNIX_ADDR@}}
if test ! -x $ledir/$MYSQLD if test ! -x $ledir/$MYSQLD
then then
......
...@@ -276,14 +276,13 @@ static TABLE **find_table_ptr_by_name(THD *thd, const char *db, ...@@ -276,14 +276,13 @@ static TABLE **find_table_ptr_by_name(THD *thd, const char *db,
int dblen; int dblen;
TABLE **ptr; TABLE **ptr;
if (!db || ! *db) DBUG_ASSERT(db);
db= thd->db ? thd->db : ""; dblen=*db ? strlen(db)+1 : 0;
dblen=strlen(db)+1;
ptr=&(thd->handler_tables); ptr=&(thd->handler_tables);
for (TABLE *table=*ptr; table ; table=*ptr) for (TABLE *table=*ptr; table ; table=*ptr)
{ {
if (!memcmp(table->table_cache_key, db, dblen) && if ((!dblen || !memcmp(table->table_cache_key, db, dblen)) &&
!my_strcasecmp((is_alias ? table->table_name : table->real_name),table_name)) !my_strcasecmp((is_alias ? table->table_name : table->real_name),table_name))
{ {
if (table->version != refresh_version) if (table->version != refresh_version)
......
...@@ -501,7 +501,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize); ...@@ -501,7 +501,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
opt_table_alias opt_table_alias
%type <table> %type <table>
table_ident table_ident table_ident_ref
%type <simple_string> %type <simple_string>
remember_name remember_end opt_len opt_ident opt_db text_or_password remember_name remember_end opt_len opt_ident opt_db text_or_password
...@@ -3243,8 +3243,13 @@ field_ident: ...@@ -3243,8 +3243,13 @@ field_ident:
table_ident: table_ident:
ident { $$=new Table_ident($1); } ident { $$=new Table_ident($1); }
| ident '.' ident { $$=new Table_ident($1,$3,0);} | ident '.' ident { $$=new Table_ident($1,$3,0);}
| '.' ident { $$=new Table_ident($2);} | '.' ident { $$=new Table_ident($2);} /* For Delphi */
/* For Delphi */; ;
table_ident_ref:
ident { LEX_STRING db={"",0}; $$=new Table_ident(db,$1,0); }
| ident '.' ident { $$=new Table_ident($1,$3,0);}
;
ident: ident:
IDENT { $$=$1; } IDENT { $$=$1; }
...@@ -3610,13 +3615,13 @@ handler: ...@@ -3610,13 +3615,13 @@ handler:
if (!add_table_to_list($2,$4,0)) if (!add_table_to_list($2,$4,0))
YYABORT; YYABORT;
} }
| HANDLER_SYM table_ident CLOSE_SYM | HANDLER_SYM table_ident_ref CLOSE_SYM
{ {
Lex->sql_command = SQLCOM_HA_CLOSE; Lex->sql_command = SQLCOM_HA_CLOSE;
if (!add_table_to_list($2,0,0)) if (!add_table_to_list($2,0,0))
YYABORT; YYABORT;
} }
| HANDLER_SYM table_ident READ_SYM | HANDLER_SYM table_ident_ref READ_SYM
{ {
LEX *lex=Lex; LEX *lex=Lex;
lex->sql_command = SQLCOM_HA_READ; lex->sql_command = SQLCOM_HA_READ;
......
...@@ -42,8 +42,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build ...@@ -42,8 +42,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
Obsoletes: MySQL-shared, mysql-shared Obsoletes: MySQL-shared, mysql-shared
Provides: MySQL-shared Provides: MySQL-shared
Summary: MySQL shared libraries for MySQL %{version4} and %{version3} Summary: MySQL shared libraries for MySQL %{version4} and %{version3}
Source0: MySQL-shared-%{version4}-0.i386.rpm Source0: MySQL-shared-%{version4}-0.%{_arch}.rpm
Source1: MySQL-shared-%{version3}-1.i386.rpm Source1: MySQL-shared-%{version3}-1.%{_arch}.rpm
# No need to include the RPMs once more - they can be downloaded seperately # No need to include the RPMs once more - they can be downloaded seperately
# if you want to rebuild this package # if you want to rebuild this package
NoSource: 0 NoSource: 0
......
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