Commit df333b1f authored by unknown's avatar unknown

Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0-release

into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysql_upgrade.c:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/mysql-test-run-shell.sh:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
mysql-test/mysql-test-run.pl:
  Merge
parents 3fff19bf 63512802
...@@ -375,14 +375,17 @@ static int comp_names(struct fileinfo *a, struct fileinfo *b) ...@@ -375,14 +375,17 @@ static int comp_names(struct fileinfo *a, struct fileinfo *b)
} }
static int static int find_file(const char *name, const char *root,
find_file(const char *name, const char *root, uint flags, char *result, size_t len, ...) uint flags, char *result, size_t len, ...)
{ {
int ret; int ret= 1;
va_list va; va_list va;
FILEINFO key= { (char*)name, NULL };
const char *subdir; const char *subdir;
char *cp; char *cp;
FILEINFO key;
/* Init key with name of the file to look for */
key.name= (char*)name;
DBUG_ASSERT(root != NULL); DBUG_ASSERT(root != NULL);
...@@ -390,7 +393,6 @@ find_file(const char *name, const char *root, uint flags, char *result, size_t l ...@@ -390,7 +393,6 @@ find_file(const char *name, const char *root, uint flags, char *result, size_t l
if (cp[-1] != FN_LIBCHAR) if (cp[-1] != FN_LIBCHAR)
*cp++= FN_LIBCHAR; *cp++= FN_LIBCHAR;
ret= 1;
va_start(va, len); va_start(va, len);
subdir= (!(flags & MY_SEARCH_SELF)) ? va_arg(va, char *) : ""; subdir= (!(flags & MY_SEARCH_SELF)) ? va_arg(va, char *) : "";
while (subdir) while (subdir)
......
...@@ -2,6 +2,43 @@ ...@@ -2,6 +2,43 @@
#SET(CMAKE_C_FLAGS_DEBUG "-DSAFEMALLOC -DSAFE_MUTEX") #SET(CMAKE_C_FLAGS_DEBUG "-DSAFEMALLOC -DSAFE_MUTEX")
ADD_DEFINITIONS(-DMYSQL_SERVER -D_WIN32 -DWIN32 -D_LIB) ADD_DEFINITIONS(-DMYSQL_SERVER -D_WIN32 -DWIN32 -D_LIB)
# Bug#19424 - InnoDB: Possibly a memory overrun of the buffer being freed (64-bit Visual C)
# Removing Win64 compiler optimizations for all innodb files.
IF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
SET_SOURCE_FILES_PROPERTIES(btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c
buf/buf0buf.c buf/buf0flu.c buf/buf0lru.c buf/buf0rea.c
data/data0data.c data/data0type.c
dict/dict0boot.c dict/dict0crea.c dict/dict0dict.c dict/dict0load.c dict/dict0mem.c
dyn/dyn0dyn.c
eval/eval0eval.c eval/eval0proc.c
fil/fil0fil.c
fsp/fsp0fsp.c
fut/fut0fut.c fut/fut0lst.c
ha/ha0ha.c ha/hash0hash.c
ibuf/ibuf0ibuf.c
pars/lexyy.c pars/pars0grm.c pars/pars0opt.c pars/pars0pars.c pars/pars0sym.c
lock/lock0lock.c
log/log0log.c log/log0recv.c
mach/mach0data.c
mem/mem0mem.c mem/mem0pool.c
mtr/mtr0log.c mtr/mtr0mtr.c
os/os0file.c os/os0proc.c os/os0sync.c os/os0thread.c
page/page0cur.c page/page0page.c
que/que0que.c
read/read0read.c
rem/rem0cmp.c rem/rem0rec.c
row/row0ins.c row/row0mysql.c row/row0purge.c row/row0row.c row/row0sel.c row/row0uins.c
row/row0umod.c row/row0undo.c row/row0upd.c row/row0vers.c
srv/srv0que.c srv/srv0srv.c srv/srv0start.c
sync/sync0arr.c sync/sync0rw.c sync/sync0sync.c
thr/thr0loc.c
trx/trx0purge.c trx/trx0rec.c trx/trx0roll.c trx/trx0rseg.c
trx/trx0sys.c trx/trx0trx.c trx/trx0undo.c
usr/usr0sess.c
ut/ut0byte.c ut/ut0dbg.c ut/ut0mem.c ut/ut0rnd.c ut/ut0ut.c
PROPERTIES COMPILE_FLAGS -Od)
ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include include) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include include)
ADD_LIBRARY(innobase btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c ADD_LIBRARY(innobase btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c
buf/buf0buf.c buf/buf0flu.c buf/buf0lru.c buf/buf0rea.c buf/buf0buf.c buf/buf0flu.c buf/buf0lru.c buf/buf0rea.c
...@@ -33,3 +70,8 @@ ADD_LIBRARY(innobase btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c ...@@ -33,3 +70,8 @@ ADD_LIBRARY(innobase btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c
trx/trx0purge.c trx/trx0rec.c trx/trx0roll.c trx/trx0rseg.c trx/trx0sys.c trx/trx0trx.c trx/trx0undo.c trx/trx0purge.c trx/trx0rec.c trx/trx0roll.c trx/trx0rseg.c trx/trx0sys.c trx/trx0trx.c trx/trx0undo.c
usr/usr0sess.c usr/usr0sess.c
ut/ut0byte.c ut/ut0dbg.c ut/ut0mem.c ut/ut0rnd.c ut/ut0ut.c ) ut/ut0byte.c ut/ut0dbg.c ut/ut0mem.c ut/ut0rnd.c ut/ut0ut.c )
# (Bug#19424) Removing Win64 compiler optimizations innobase project.
IF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
SET_TARGET_PROPERTIES(innobase PROPERTIES COMPILE_FLAGS "/Od")
ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
...@@ -59,6 +59,7 @@ dist-hook: ...@@ -59,6 +59,7 @@ dist-hook:
$(INSTALL_DATA) $(srcdir)/t/*.opt $(srcdir)/t/*.slave-mi $(distdir)/t $(INSTALL_DATA) $(srcdir)/t/*.opt $(srcdir)/t/*.slave-mi $(distdir)/t
$(INSTALL_SCRIPT) $(srcdir)/t/*.sh $(distdir)/t $(INSTALL_SCRIPT) $(srcdir)/t/*.sh $(distdir)/t
$(INSTALL_DATA) $(srcdir)/include/*.inc $(distdir)/include $(INSTALL_DATA) $(srcdir)/include/*.inc $(distdir)/include
$(INSTALL_DATA) $(srcdir)/include/*.test $(distdir)/include
$(INSTALL_DATA) $(srcdir)/r/*.result $(srcdir)/r/*.require $(distdir)/r $(INSTALL_DATA) $(srcdir)/r/*.result $(srcdir)/r/*.require $(distdir)/r
$(INSTALL_DATA) $(srcdir)/std_data/Moscow_leap $(distdir)/std_data $(INSTALL_DATA) $(srcdir)/std_data/Moscow_leap $(distdir)/std_data
$(INSTALL_DATA) $(srcdir)/std_data/*.dat $(srcdir)/std_data/*.000001 $(distdir)/std_data $(INSTALL_DATA) $(srcdir)/std_data/*.dat $(srcdir)/std_data/*.000001 $(distdir)/std_data
...@@ -88,6 +89,7 @@ install-data-local: ...@@ -88,6 +89,7 @@ install-data-local:
$(INSTALL_DATA) $(srcdir)/r/*.result $(DESTDIR)$(testdir)/r $(INSTALL_DATA) $(srcdir)/r/*.result $(DESTDIR)$(testdir)/r
$(INSTALL_DATA) $(srcdir)/r/*.require $(DESTDIR)$(testdir)/r $(INSTALL_DATA) $(srcdir)/r/*.require $(DESTDIR)$(testdir)/r
$(INSTALL_DATA) $(srcdir)/include/*.inc $(DESTDIR)$(testdir)/include $(INSTALL_DATA) $(srcdir)/include/*.inc $(DESTDIR)$(testdir)/include
$(INSTALL_DATA) $(srcdir)/include/*.test $(DESTDIR)$(testdir)/include
$(INSTALL_DATA) $(srcdir)/std_data/*.dat $(DESTDIR)$(testdir)/std_data $(INSTALL_DATA) $(srcdir)/std_data/*.dat $(DESTDIR)$(testdir)/std_data
$(INSTALL_DATA) $(srcdir)/std_data/*.*001 $(DESTDIR)$(testdir)/std_data $(INSTALL_DATA) $(srcdir)/std_data/*.*001 $(DESTDIR)$(testdir)/std_data
$(INSTALL_DATA) $(srcdir)/std_data/*.cnf $(DESTDIR)$(testdir)/std_data $(INSTALL_DATA) $(srcdir)/std_data/*.cnf $(DESTDIR)$(testdir)/std_data
......
#!/bin/sh #!/bin/sh
# Copyright (C) 1997-2002 MySQL AB # Copyright (C) 1997-2006 MySQL AB
# For a more info consult the file COPYRIGHT distributed with this file # For a more info consult the file COPYRIGHT distributed with this file
# This scripts creates the privilege tables db, host, user, tables_priv, # This scripts creates the privilege tables db, host, user, tables_priv,
...@@ -7,19 +7,26 @@ ...@@ -7,19 +7,26 @@
if [ x$1 = x"--bin" ]; then if [ x$1 = x"--bin" ]; then
shift 1 shift 1
BINARY_DIST=1
bindir=../bin
scriptdir=../bin
libexecdir=../libexec
# Check if it's a binary distribution or a 'make install' # Check if it's a binary distribution or a 'make install'
if test -x ../libexec/mysqld if test -x ../libexec/mysqld
then then
execdir=../libexec execdir=../libexec
elif test -x ../../sbin/mysqld # RPM installation
then
execdir=../../sbin
bindir=../../bin
scriptdir=../../bin
libexecdir=../../libexec
else else
execdir=../bin execdir=../bin
fi fi
bindir=../bin
BINARY_DIST=1
fix_bin=mysql-test fix_bin=mysql-test
scriptdir=../bin
libexecdir=../libexec
else else
execdir=../sql execdir=../sql
bindir=../client bindir=../client
......
...@@ -174,18 +174,29 @@ fi ...@@ -174,18 +174,29 @@ fi
# Misc. Definitions # Misc. Definitions
#-- #--
if [ -d ../sql ] ; then # BASEDIR is always above mysql-test directory ...
MYSQL_TEST_DIR=`pwd`
cd ..
if [ -d ./sql ] ; then
SOURCE_DIST=1 SOURCE_DIST=1
else else
BINARY_DIST=1 BINARY_DIST=1
fi fi
#BASEDIR is always one above mysql-test directory # ... one level for tar.gz, two levels for a RPM installation
CWD=`pwd` if [ -d ./bin ] ; then
cd .. # this is not perfect: we have
BASEDIR=`pwd` # /usr/share/mysql/ # mysql-test-run is here, so this is "$MYSQL_TEST_DIR"
cd $CWD # /usr/bin/ # with MySQL client programs
MYSQL_TEST_DIR=$BASEDIR/mysql-test # so the existence of "/usr/share/bin/" would make this test fail.
BASEDIR=`pwd`
else
cd ..
BASEDIR=`pwd`
fi
cd $MYSQL_TEST_DIR
MYSQL_TEST_WINDIR=$MYSQL_TEST_DIR MYSQL_TEST_WINDIR=$MYSQL_TEST_DIR
MYSQLTEST_VARDIR=$MYSQL_TEST_DIR/var MYSQLTEST_VARDIR=$MYSQL_TEST_DIR/var
export MYSQL_TEST_DIR MYSQL_TEST_WINDIR MYSQLTEST_VARDIR export MYSQL_TEST_DIR MYSQL_TEST_WINDIR MYSQLTEST_VARDIR
...@@ -744,8 +755,15 @@ else ...@@ -744,8 +755,15 @@ else
if test -x "$BASEDIR/libexec/mysqld" if test -x "$BASEDIR/libexec/mysqld"
then then
MYSQLD="$VALGRIND $BASEDIR/libexec/mysqld" MYSQLD="$VALGRIND $BASEDIR/libexec/mysqld"
else elif test -x "$BASEDIR/bin/mysqld"
then
MYSQLD="$VALGRIND $BASEDIR/bin/mysqld" MYSQLD="$VALGRIND $BASEDIR/bin/mysqld"
elif test -x "$BASEDIR/sbin/mysqld"
then
MYSQLD="$VALGRIND $BASEDIR/sbin/mysqld"
else
$ECHO "Fatal error: Cannot find program mysqld in $BASEDIR/{libexec,bin,sbin}" 1>&2
exit 1
fi fi
CLIENT_BINDIR="$BASEDIR/bin" CLIENT_BINDIR="$BASEDIR/bin"
if test -d "$BASEDIR/tests" if test -d "$BASEDIR/tests"
...@@ -1390,7 +1408,7 @@ start_master() ...@@ -1390,7 +1408,7 @@ start_master()
then then
$ECHO "set args $master_args" > $GDB_MASTER_INIT$1 $ECHO "set args $master_args" > $GDB_MASTER_INIT$1
$ECHO "To start gdb for the master , type in another window:" $ECHO "To start gdb for the master , type in another window:"
$ECHO "cd $CWD ; gdb -x $GDB_MASTER_INIT$1 $MASTER_MYSQLD" $ECHO "cd $MYSQL_TEST_DIR ; gdb -x $GDB_MASTER_INIT$1 $MASTER_MYSQLD"
wait_for_master=1500 wait_for_master=1500
else else
( $ECHO set args $master_args; ( $ECHO set args $master_args;
...@@ -1508,7 +1526,7 @@ start_slave() ...@@ -1508,7 +1526,7 @@ start_slave()
then then
$ECHO "set args $slave_args" > $GDB_SLAVE_INIT $ECHO "set args $slave_args" > $GDB_SLAVE_INIT
echo "To start gdb for the slave, type in another window:" echo "To start gdb for the slave, type in another window:"
echo "cd $CWD ; gdb -x $GDB_SLAVE_INIT $SLAVE_MYSQLD" echo "cd $MYSQL_TEST_DIR ; gdb -x $GDB_SLAVE_INIT $SLAVE_MYSQLD"
wait_for_slave=1500 wait_for_slave=1500
else else
( $ECHO set args $slave_args; ( $ECHO set args $slave_args;
......
...@@ -225,6 +225,7 @@ our $opt_ndbconnectstring_slave; ...@@ -225,6 +225,7 @@ our $opt_ndbconnectstring_slave;
our $opt_record; our $opt_record;
our $opt_report_features; our $opt_report_features;
our $opt_check_testcases; our $opt_check_testcases;
my $opt_report_features;
our $opt_skip; our $opt_skip;
our $opt_skip_rpl; our $opt_skip_rpl;
...@@ -639,7 +640,7 @@ sub command_line_setup () { ...@@ -639,7 +640,7 @@ sub command_line_setup () {
$glob_hostname= mtr_short_hostname(); $glob_hostname= mtr_short_hostname();
# 'basedir' is always parent of "mysql-test" directory # Find the absolute path to the test directory
$glob_mysql_test_dir= cwd(); $glob_mysql_test_dir= cwd();
if ( $glob_cygwin_perl ) if ( $glob_cygwin_perl )
{ {
...@@ -647,11 +648,27 @@ sub command_line_setup () { ...@@ -647,11 +648,27 @@ sub command_line_setup () {
$glob_mysql_test_dir= `cygpath -m "$glob_mysql_test_dir"`; $glob_mysql_test_dir= `cygpath -m "$glob_mysql_test_dir"`;
chomp($glob_mysql_test_dir); chomp($glob_mysql_test_dir);
} }
# In most cases, the base directory we find everything relative to,
# is the parent directory of the "mysql-test" directory. For source
# distributions, TAR binary distributions and some other packages.
$glob_basedir= dirname($glob_mysql_test_dir); $glob_basedir= dirname($glob_mysql_test_dir);
# In the RPM case, binaries and libraries are installed in the
# default system locations, instead of having our own private base
# directory. And we install "/usr/share/mysql-test". Moving up one
# more directory relative to "mysql-test" gives us a usable base
# directory for RPM installs.
if ( ! $opt_source_dist and ! -d "$glob_basedir/bin" )
{
$glob_basedir= dirname($glob_basedir);
}
# Expect mysql-bench to be located adjacent to the source tree, by default # Expect mysql-bench to be located adjacent to the source tree, by default
$glob_mysql_bench_dir= "$glob_basedir/../mysql-bench" $glob_mysql_bench_dir= "$glob_basedir/../mysql-bench"
unless defined $glob_mysql_bench_dir; unless defined $glob_mysql_bench_dir;
$glob_mysql_bench_dir= undef
unless -d $glob_mysql_bench_dir;
$path_my_basedir= $path_my_basedir=
$opt_source_dist ? $glob_mysql_test_dir : $glob_basedir; $opt_source_dist ? $glob_mysql_test_dir : $glob_basedir;
...@@ -679,7 +696,8 @@ sub command_line_setup () { ...@@ -679,7 +696,8 @@ sub command_line_setup () {
"$path_client_bindir/mysqld-debug", "$path_client_bindir/mysqld-debug",
"$path_client_bindir/mysqld-max", "$path_client_bindir/mysqld-max",
"$glob_basedir/libexec/mysqld", "$glob_basedir/libexec/mysqld",
"$glob_basedir/bin/mysqld"); "$glob_basedir/bin/mysqld",
"$glob_basedir/sbin/mysqld");
# Use the mysqld found above to find out what features are available # Use the mysqld found above to find out what features are available
collect_mysqld_features(); collect_mysqld_features();
...@@ -796,6 +814,13 @@ sub command_line_setup () { ...@@ -796,6 +814,13 @@ sub command_line_setup () {
$opt_vardir= "$glob_mysql_test_dir/$opt_vardir"; $opt_vardir= "$glob_mysql_test_dir/$opt_vardir";
} }
# Ensure a proper error message
mkpath("$opt_vardir");
unless ( -d $opt_vardir and -w $opt_vardir )
{
mtr_error("Writable 'var' directory is needed, use the '--vardir' option");
}
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
# Set tmpdir # Set tmpdir
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
...@@ -1308,7 +1333,8 @@ sub executable_setup_im () { ...@@ -1308,7 +1333,8 @@ sub executable_setup_im () {
mtr_exe_maybe_exists( mtr_exe_maybe_exists(
"$glob_basedir/server-tools/instance-manager/mysqlmanager", "$glob_basedir/server-tools/instance-manager/mysqlmanager",
"$glob_basedir/libexec/mysqlmanager", "$glob_basedir/libexec/mysqlmanager",
"$glob_basedir/bin/mysqlmanager"); "$glob_basedir/bin/mysqlmanager",
"$glob_basedir/sbin/mysqlmanager");
return ($exe_im eq ""); return ($exe_im eq "");
} }
......
...@@ -240,6 +240,7 @@ $CP mysql-test/lib/*.pl $BASE/mysql-test/lib ...@@ -240,6 +240,7 @@ $CP mysql-test/lib/*.pl $BASE/mysql-test/lib
$CP mysql-test/lib/*.sql $BASE/mysql-test/lib $CP mysql-test/lib/*.sql $BASE/mysql-test/lib
$CP mysql-test/t/*.def $BASE/mysql-test/t $CP mysql-test/t/*.def $BASE/mysql-test/t
$CP mysql-test/include/*.inc $BASE/mysql-test/include $CP mysql-test/include/*.inc $BASE/mysql-test/include
$CP mysql-test/include/*.test $BASE/mysql-test/include
$CP mysql-test/t/*.def $BASE/mysql-test/t $CP mysql-test/t/*.def $BASE/mysql-test/t
$CP mysql-test/std_data/*.dat mysql-test/std_data/*.frm \ $CP mysql-test/std_data/*.dat mysql-test/std_data/*.frm \
mysql-test/std_data/*.pem mysql-test/std_data/Moscow_leap \ mysql-test/std_data/*.pem mysql-test/std_data/Moscow_leap \
......
...@@ -194,6 +194,8 @@ necessary to develop MySQL client applications. ...@@ -194,6 +194,8 @@ necessary to develop MySQL client applications.
%package shared %package shared
Summary: MySQL - Shared libraries Summary: MySQL - Shared libraries
Group: Applications/Databases Group: Applications/Databases
Provides: mysql-shared
Obsoletes: mysql-shared
%description shared %description shared
This package contains the shared libraries (*.so*) which certain This package contains the shared libraries (*.so*) which certain
...@@ -342,7 +344,10 @@ then ...@@ -342,7 +344,10 @@ then
cp -fp config.log "$MYSQL_MAXCONFLOG_DEST" cp -fp config.log "$MYSQL_MAXCONFLOG_DEST"
fi fi
make -i test-force-pl || true ( cd mysql-test
perl ./mysql-test-run.pl --force --report-features
perl ./mysql-test-run.pl --force --ps-protocol
true )
# Save mysqld-max # Save mysqld-max
./libtool --mode=execute cp sql/mysqld sql/mysqld-max ./libtool --mode=execute cp sql/mysqld sql/mysqld-max
...@@ -401,7 +406,10 @@ then ...@@ -401,7 +406,10 @@ then
cp -fp config.log "$MYSQL_CONFLOG_DEST" cp -fp config.log "$MYSQL_CONFLOG_DEST"
fi fi
make -i test-force-pl || true ( cd mysql-test
perl ./mysql-test-run.pl --force --report-features
perl ./mysql-test-run.pl --force --ps-protocol
true )
%install %install
RBR=$RPM_BUILD_ROOT RBR=$RPM_BUILD_ROOT
...@@ -745,6 +753,17 @@ fi ...@@ -745,6 +753,17 @@ fi
# itself - note that they must be ordered by date (important when # itself - note that they must be ordered by date (important when
# merging BK trees) # merging BK trees)
%changelog %changelog
* Thu Nov 16 2006 Joerg Bruehe <joerg@mysql.com>
- Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB)
replace "mysql-shared" (as distributed by SuSE) to allow easy upgrading
(bug#22081).
* Wed Nov 15 2006 Joerg Bruehe <joerg@mysql.com>
- Switch from "make test*" to explicit calls of the test suite,
so that "report features" can be used.
* Mon Jul 10 2006 Joerg Bruehe <joerg@mysql.com> * Mon Jul 10 2006 Joerg Bruehe <joerg@mysql.com>
- Fix a typing error in the "make" target for the Perl script to run the tests. - Fix a typing error in the "make" target for the Perl script to run the tests.
......
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