Commit 007470d8 authored by unknown's avatar unknown

Merge work:/home/bk/mysql into hundin.mysql.fi:/my/bk/mysql


sql/ha_innobase.cc:
  Auto merged
parents 9a052e27 3942e445
...@@ -10,7 +10,7 @@ done ...@@ -10,7 +10,7 @@ done
commands="\ commands="\
$make -k clean || true $make -k clean || true
/bin/rm -f */.deps/*.P config.cache /bin/rm -f */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache
aclocal && autoheader && aclocal && automake && autoconf aclocal && autoheader && aclocal && automake && autoconf
(cd bdb/dist && sh s_all) (cd bdb/dist && sh s_all)
...@@ -20,7 +20,8 @@ then ...@@ -20,7 +20,8 @@ then
(cd gemini && aclocal && autoheader && aclocal && automake && autoconf) (cd gemini && aclocal && autoheader && aclocal && automake && autoconf)
fi fi
CFLAGS=\"$cflags\" CXX=$CXX CXXFLAGS=\"$cxxflags\" $configure" CFLAGS=\"$cflags\" CXX=\"$CXX\" CXXFLAGS=\"$cxxflags\" CXXLDFLAGS=\"$CXXLDFLAGS\" \
$configure"
if [ -z "$just_configure" ] if [ -z "$just_configure" ]
then then
......
...@@ -52,7 +52,8 @@ debug_cflags="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DSAFE_MUTEX -O1" ...@@ -52,7 +52,8 @@ debug_cflags="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DSAFE_MUTEX -O1"
base_cxxflags="-felide-constructors -fno-exceptions -fno-rtti" base_cxxflags="-felide-constructors -fno-exceptions -fno-rtti"
base_configs="--prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static" base_configs="--prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client"
static_link="--with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static"
alpha_configs="" # Not used yet alpha_configs="" # Not used yet
pentium_configs="" pentium_configs=""
sparc_configs="" sparc_configs=""
...@@ -68,7 +69,9 @@ fi ...@@ -68,7 +69,9 @@ fi
if gcc -v 2>&1 | grep 'version 3' > /dev/null 2>&1 if gcc -v 2>&1 | grep 'version 3' > /dev/null 2>&1
then then
CXX=c++ CXX="gcc -DUSE_MYSYS_NEW"
CXXLDFLAGS="-Wl,--defsym -Wl,__cxa_pure_virtual=0"
else else
CXX=gcc CXX=gcc
CXXLDFLAGS=""
fi fi
...@@ -4,6 +4,6 @@ path=`dirname $0` ...@@ -4,6 +4,6 @@ path=`dirname $0`
. "$path/SETUP.sh" . "$path/SETUP.sh"
extra_flags="$alpha_cflags $fast_cflags" extra_flags="$alpha_cflags $fast_cflags"
extra_configs="$alpha_configs" extra_configs="$alpha_configs $static_link"
. "$path/FINISH.sh" . "$path/FINISH.sh"
...@@ -4,9 +4,7 @@ path=`dirname $0` ...@@ -4,9 +4,7 @@ path=`dirname $0`
. "$path/SETUP.sh" . "$path/SETUP.sh"
extra_flags="$pentium_cflags $fast_cflags" extra_flags="$pentium_cflags $fast_cflags"
extra_configs="$pentium_configs" extra_configs="$pentium_configs $static_link"
strip=yes strip=yes
extra_configs="$extra_configs"
. "$path/FINISH.sh" . "$path/FINISH.sh"
...@@ -4,6 +4,6 @@ path=`dirname $0` ...@@ -4,6 +4,6 @@ path=`dirname $0`
. "$path/SETUP.sh" . "$path/SETUP.sh"
extra_flags="$pentium_cflags -O2 -fprofile-arcs -ftest-coverage" extra_flags="$pentium_cflags -O2 -fprofile-arcs -ftest-coverage"
extra_configs="$pentium_configs $debug_configs --disable-shared" extra_configs="$pentium_configs $debug_configs --disable-shared $static_link"
. "$path/FINISH.sh" . "$path/FINISH.sh"
...@@ -4,6 +4,6 @@ path=`dirname $0` ...@@ -4,6 +4,6 @@ path=`dirname $0`
. "$path/SETUP.sh" . "$path/SETUP.sh"
extra_flags="$pentium_cflags -O2 -pg -g" extra_flags="$pentium_cflags -O2 -pg -g"
extra_configs="$pentium_configs $debug_configs --disable-shared" extra_configs="$pentium_configs $debug_configs --disable-shared $static_link"
. "$path/FINISH.sh" . "$path/FINISH.sh"
...@@ -46889,10 +46889,21 @@ not yet 100% confident in this code. ...@@ -46889,10 +46889,21 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.48 @appendixsubsec Changes in release 3.23.48
@itemize @bullet @itemize @bullet
@item @item
Changed to use @code{autoconf} 2.52 (from @code{autoconf} 2.13)
@item
Fixed bug in complicated join with @code{const} tables. Fixed bug in complicated join with @code{const} tables.
@item @item
Added internal safety checks for InnoDB. Added internal safety checks for InnoDB.
@item @item
Some InnoDB variables was always shown in @code{SHOW VARIABLES} as
@code{OFF} on high-byte-first systems (like sparc).
@item
Fixed problem with one threads using an InnoDB table and another
thread using an @code{ALTER TABLE} on the table.
@item
If inserts to several tables containing an auto-inc column are wrapped
inside one @code{LOCK TABLES}, InnoDB asserted in @code{lock0lock.c}.
@item
@code{SHOW GRANTS} now shows @code{REFERENCES} instead of @code{REFERENCE}. @code{SHOW GRANTS} now shows @code{REFERENCES} instead of @code{REFERENCE}.
@end itemize @end itemize
...@@ -14,6 +14,10 @@ ...@@ -14,6 +14,10 @@
Leave the following blank line there!! Autoheader needs it. */ Leave the following blank line there!! Autoheader needs it. */
#undef C_ALLOCA
#undef CRAY_STACKSEG_END
/* Version of .frm files */ /* Version of .frm files */
#undef DOT_FRM_VERSION #undef DOT_FRM_VERSION
...@@ -38,6 +42,9 @@ ...@@ -38,6 +42,9 @@
/* atomic_sub() from <asm/atomic.h> (Linux only) */ /* atomic_sub() from <asm/atomic.h> (Linux only) */
#undef HAVE_ATOMIC_SUB #undef HAVE_ATOMIC_SUB
/* If we have a working alloca() implementation */
#undef HAVE_ALLOCA
/* bool is not defined by all C++ compilators */ /* bool is not defined by all C++ compilators */
#undef HAVE_BOOL #undef HAVE_BOOL
...@@ -212,6 +219,8 @@ ...@@ -212,6 +219,8 @@
/* Needed to get large file supportat HPUX 10.20 */ /* Needed to get large file supportat HPUX 10.20 */
#undef __STDC_EXT__ #undef __STDC_EXT__
#undef STACK_DIRECTION
#undef STRCOLL_BROKEN #undef STRCOLL_BROKEN
#undef STRUCT_DIRENT_HAS_D_FILENO #undef STRUCT_DIRENT_HAS_D_FILENO
......
...@@ -315,14 +315,6 @@ case "x$am_cv_prog_cc_stdc" in ...@@ -315,14 +315,6 @@ case "x$am_cv_prog_cc_stdc" in
esac esac
]) ])
# serial 1
AC_DEFUN(AM_PROG_INSTALL,
[AC_REQUIRE([AC_PROG_INSTALL])
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
AC_SUBST(INSTALL_SCRIPT)dnl
])
# #
# Check to make sure that the build environment is sane. # Check to make sure that the build environment is sane.
# #
...@@ -527,7 +519,7 @@ fi ...@@ -527,7 +519,7 @@ fi
])dnl ])dnl
AC_DEFUN(MYSQL_STACK_DIRECTION, AC_DEFUN(MYSQL_STACK_DIRECTION,
AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, [AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction,
[AC_TRY_RUN([find_stack_direction () [AC_TRY_RUN([find_stack_direction ()
{ {
static char *addr = 0; static char *addr = 0;
...@@ -546,7 +538,7 @@ AC_DEFUN(MYSQL_STACK_DIRECTION, ...@@ -546,7 +538,7 @@ AC_DEFUN(MYSQL_STACK_DIRECTION,
}], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1, }], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1,
ac_cv_c_stack_direction=0)]) ac_cv_c_stack_direction=0)])
AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction) AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
)dnl ])dnl
AC_DEFUN(MYSQL_FUNC_ALLOCA, AC_DEFUN(MYSQL_FUNC_ALLOCA,
[ [
...@@ -708,6 +700,7 @@ dnl echo "DBG2: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'" ...@@ -708,6 +700,7 @@ dnl echo "DBG2: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'"
no ) no )
bdb_includes= bdb_includes=
bdb_libs= bdb_libs=
bdb_libs_with_path=
;; ;;
supplied-two ) supplied-two )
MYSQL_CHECK_INSTALLED_BDB([$bdb_includes], [$bdb_libs]) MYSQL_CHECK_INSTALLED_BDB([$bdb_includes], [$bdb_libs])
...@@ -737,6 +730,7 @@ dnl echo "DBG2: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'" ...@@ -737,6 +730,7 @@ dnl echo "DBG2: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'"
esac esac
bdb_includes= bdb_includes=
bdb_libs= bdb_libs=
bdb_libs_with_path=
;; ;;
esac esac
;; ;;
...@@ -765,6 +759,7 @@ dnl echo "DBG3: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'" ...@@ -765,6 +759,7 @@ dnl echo "DBG3: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'"
AC_SUBST(bdb_includes) AC_SUBST(bdb_includes)
AC_SUBST(bdb_libs) AC_SUBST(bdb_libs)
AC_SUBST(bdb_libs_with_path)
]) ])
AC_DEFUN([MYSQL_CHECK_INSTALLED_BDB], [ AC_DEFUN([MYSQL_CHECK_INSTALLED_BDB], [
...@@ -785,6 +780,7 @@ dnl echo ["MYSQL_CHECK_INSTALLED_BDB ($1) ($2)"] ...@@ -785,6 +780,7 @@ dnl echo ["MYSQL_CHECK_INSTALLED_BDB ($1) ($2)"]
MYSQL_TOP_BUILDDIR([lib]) MYSQL_TOP_BUILDDIR([lib])
bdb_includes="-I$inc" bdb_includes="-I$inc"
bdb_libs="-L$lib -ldb" bdb_libs="-L$lib -ldb"
bdb_libs_with_path="$lib/libdb.a"
]) ])
LDFLAGS="$save_LDFLAGS" LDFLAGS="$save_LDFLAGS"
else else
...@@ -813,6 +809,7 @@ dnl echo ["MYSQL_CHECK_BDB_DIR ($1)"] ...@@ -813,6 +809,7 @@ dnl echo ["MYSQL_CHECK_BDB_DIR ($1)"]
MYSQL_TOP_BUILDDIR([dir]) MYSQL_TOP_BUILDDIR([dir])
bdb_includes="-I$dir/build_unix" bdb_includes="-I$dir/build_unix"
bdb_libs="-L$dir/build_unix -ldb" bdb_libs="-L$dir/build_unix -ldb"
bdb_libs_with_path="$dir/build_unix/libdb.a"
else else
bdb_dir_ok="$bdb_version_ok" bdb_dir_ok="$bdb_version_ok"
fi fi
...@@ -924,47 +921,48 @@ AC_DEFUN([MYSQL_CHECK_INNODB], [ ...@@ -924,47 +921,48 @@ AC_DEFUN([MYSQL_CHECK_INNODB], [
AC_DEFINE(HAVE_INNOBASE_DB) AC_DEFINE(HAVE_INNOBASE_DB)
have_innodb="yes" have_innodb="yes"
innodb_includes="-I../innobase/include" innodb_includes="-I../innobase/include"
innodb_system_libs=""
dnl Some libs are listed several times, in order for gcc to sort out dnl Some libs are listed several times, in order for gcc to sort out
dnl circular references. dnl circular references.
innodb_libs="\ innodb_libs="\
../innobase/usr/libusr.a\ \$(top_builddir)/innobase/usr/libusr.a\
../innobase/odbc/libodbc.a\ \$(top_builddir)/innobase/odbc/libodbc.a\
../innobase/srv/libsrv.a\ \$(top_builddir)/innobase/srv/libsrv.a\
../innobase/que/libque.a\ \$(top_builddir)/innobase/dict/libdict.a\
../innobase/srv/libsrv.a\ \$(top_builddir)/innobase/que/libque.a\
../innobase/dict/libdict.a\ \$(top_builddir)/innobase/srv/libsrv.a\
../innobase/ibuf/libibuf.a\ \$(top_builddir)/innobase/ibuf/libibuf.a\
../innobase/row/librow.a\ \$(top_builddir)/innobase/row/librow.a\
../innobase/pars/libpars.a\ \$(top_builddir)/innobase/pars/libpars.a\
../innobase/btr/libbtr.a\ \$(top_builddir)/innobase/btr/libbtr.a\
../innobase/trx/libtrx.a\ \$(top_builddir)/innobase/trx/libtrx.a\
../innobase/read/libread.a\ \$(top_builddir)/innobase/read/libread.a\
../innobase/usr/libusr.a\ \$(top_builddir)/innobase/usr/libusr.a\
../innobase/buf/libbuf.a\ \$(top_builddir)/innobase/buf/libbuf.a\
../innobase/ibuf/libibuf.a\ \$(top_builddir)/innobase/ibuf/libibuf.a\
../innobase/eval/libeval.a\ \$(top_builddir)/innobase/eval/libeval.a\
../innobase/log/liblog.a\ \$(top_builddir)/innobase/log/liblog.a\
../innobase/fsp/libfsp.a\ \$(top_builddir)/innobase/fsp/libfsp.a\
../innobase/fut/libfut.a\ \$(top_builddir)/innobase/fut/libfut.a\
../innobase/fil/libfil.a\ \$(top_builddir)/innobase/fil/libfil.a\
../innobase/lock/liblock.a\ \$(top_builddir)/innobase/lock/liblock.a\
../innobase/mtr/libmtr.a\ \$(top_builddir)/innobase/mtr/libmtr.a\
../innobase/page/libpage.a\ \$(top_builddir)/innobase/page/libpage.a\
../innobase/rem/librem.a\ \$(top_builddir)/innobase/rem/librem.a\
../innobase/thr/libthr.a\ \$(top_builddir)/innobase/thr/libthr.a\
../innobase/com/libcom.a\ \$(top_builddir)/innobase/com/libcom.a\
../innobase/sync/libsync.a\ \$(top_builddir)/innobase/sync/libsync.a\
../innobase/data/libdata.a\ \$(top_builddir)/innobase/data/libdata.a\
../innobase/mach/libmach.a\ \$(top_builddir)/innobase/mach/libmach.a\
../innobase/ha/libha.a\ \$(top_builddir)/innobase/ha/libha.a\
../innobase/dyn/libdyn.a\ \$(top_builddir)/innobase/dyn/libdyn.a\
../innobase/mem/libmem.a\ \$(top_builddir)/innobase/mem/libmem.a\
../innobase/sync/libsync.a\ \$(top_builddir)/innobase/sync/libsync.a\
../innobase/ut/libut.a\ \$(top_builddir)/innobase/ut/libut.a\
../innobase/os/libos.a\ \$(top_builddir)/innobase/os/libos.a\
../innobase/ut/libut.a" \$(top_builddir)/innobase/ut/libut.a"
AC_CHECK_LIB(rt, aio_read, [innodb_libs="$innodb_libs -lrt"]) AC_CHECK_LIB(rt, aio_read, [innodb_system_libs="-lrt"])
;; ;;
* ) * )
AC_MSG_RESULT([Not using Innodb]) AC_MSG_RESULT([Not using Innodb])
...@@ -973,6 +971,7 @@ dnl circular references. ...@@ -973,6 +971,7 @@ dnl circular references.
AC_SUBST(innodb_includes) AC_SUBST(innodb_includes)
AC_SUBST(innodb_libs) AC_SUBST(innodb_libs)
AC_SUBST(innodb_system_libs)
]) ])
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
...@@ -1103,10 +1102,10 @@ changequote([, ])dnl ...@@ -1103,10 +1102,10 @@ changequote([, ])dnl
AC_DEFINE_UNQUOTED([$1], [$]$2, [$3]) AC_DEFINE_UNQUOTED([$1], [$]$2, [$3])
fi]) fi])
AC_DEFUN(AC_SYS_LARGEFILE, AC_DEFUN(MYSQL_SYS_LARGEFILE,
[AC_REQUIRE([AC_CANONICAL_HOST]) [AC_REQUIRE([AC_CANONICAL_HOST])
AC_ARG_ENABLE(largefile, AC_ARG_ENABLE(largefile,
[ --disable-largefile Omit support for large files]) [ --disable-largefile Omit support for large files])
if test "$enable_largefile" != no; then if test "$enable_largefile" != no; then
AC_CHECK_TOOL(GETCONF, getconf) AC_CHECK_TOOL(GETCONF, getconf)
AC_SYS_LARGEFILE_FLAGS(CFLAGS) AC_SYS_LARGEFILE_FLAGS(CFLAGS)
......
...@@ -21,9 +21,7 @@ AC_SUBST(ADDITIONAL_LANG) ...@@ -21,9 +21,7 @@ AC_SUBST(ADDITIONAL_LANG)
AC_SUBST(ADDITIONAL_LIBS) AC_SUBST(ADDITIONAL_LIBS)
AC_SUBST(ADDITIONAL_OBJS) AC_SUBST(ADDITIONAL_OBJS)
AC_SUBST(ADDITIONAL_PROGS) AC_SUBST(ADDITIONAL_PROGS)
AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS) AC_SUBST(CPPFLAGS)
AC_SUBST(CXX)
AC_SUBST(CXXFLAGS) AC_SUBST(CXXFLAGS)
AC_SUBST(DBS_LIBS) AC_SUBST(DBS_LIBS)
AC_SUBST(DEFAULT_INSTALL) AC_SUBST(DEFAULT_INSTALL)
...@@ -145,55 +143,6 @@ osf*) CPPFLAGS="-D_REENTRANT $CPPFLAGS";; ...@@ -145,55 +143,6 @@ osf*) CPPFLAGS="-D_REENTRANT $CPPFLAGS";;
*qnx) AC_DEFINE(HAVE_QNX);; *qnx) AC_DEFINE(HAVE_QNX);;
sco3.2v4*) CC=${CC-"cc -belf"} sco3.2v4*) CC=${CC-"cc -belf"}
LIBS="-lsocket -lnsl_s $LIBS";; LIBS="-lsocket -lnsl_s $LIBS";;
sco3.2v5*) if test "$GCC" != "yes"; then
CFLAGS="$CFLAGS"
LD='$(CC) $(CFLAGS)'
LIBS="-lsocket -lnsl $LIBS"
CPPFLAGS="-D_THREAD_SAFE -pthread $CPPFLAGS"
case "$CFLAGS" in
*-belf*)
AC_SYS_COMPILER_FLAG(-belf,sco_belf_option,CFLAGS,[],[
case "$LDFLAGS" in
*-belf*) ;;
*) echo "Adding -belf option to ldflags."
LDFLAGS="$LDFLAGS -belf"
;;
esac
])
;;
*)
AC_SYS_COMPILER_FLAG(-belf,sco_belf_option,CFLAGS,[],[
case "$LDFLAGS" in
*-belf*) ;;
*)
echo "Adding -belf option to ldflags."
LDFLAGS="$LDFLAGS -belf"
;;
esac
])
;;
esac
else
CC="gcc"
LIBS="-lsocket -lnsl $LIBS"
CPPFLAGS="-D_THREAD_SAFE -pthread $CPPFLAGS"
fi
;;
sysv5uw7*) LIBS="-lsocket -lnsl $LIBS"
if test "$GCC" != "yes"; then
# We are using built-in inline function
CC="cc -belf"
CXX="CC -belf"
CFLAGS="$CFLAGS -Kalloca -Kthread"
CXX="$CXX -DNO_CPLUSPLUS_ALLOCA"
LIBS="-Kthread -lsocket -lnsl $LIBS"
else
CFLAGS="$CFLAGS -Kalloca -pthread"
CXX="$CXX -DNO_CPLUSPLUS_ALLOCA"
CPPFLAGS="-D_THREAD_SAFE -pthread $CPPFLAGS"
LIBS="-pthread -lsocket -lnsl $LIBS"
fi
;;
sco*) CC=${CC-"cc -belf"} sco*) CC=${CC-"cc -belf"}
LIBS="-lsocket -lnsl $LIBS";; LIBS="-lsocket -lnsl $LIBS";;
solaris*) CPPFLAGS="-D_REENTRANT $CPPFLAGS";; solaris*) CPPFLAGS="-D_REENTRANT $CPPFLAGS";;
...@@ -281,6 +230,59 @@ if test "$GXX" = "yes"; then ...@@ -281,6 +230,59 @@ if test "$GXX" = "yes"; then
esac esac
fi fi
dnl Give the OS a last chance to override CFLAGS and LDFLAGS
case "$host_os" in
sco3.2v5*)
if test "$GCC" != "yes"; then
CFLAGS="$CFLAGS"
LD='$(CC) $(CFLAGS)'
LIBS="-lsocket -lnsl $LIBS"
CPPFLAGS="-D_THREAD_SAFE -pthread $CPPFLAGS"
case "$CFLAGS" in
*-belf*)
AC_SYS_COMPILER_FLAG(-belf,sco_belf_option,CFLAGS,[],[
case "$LDFLAGS" in
*-belf*) ;;
*) echo "Adding -belf option to ldflags."
LDFLAGS="$LDFLAGS -belf"
;;
esac
])
;;
*)
AC_SYS_COMPILER_FLAG(-belf,sco_belf_option,CFLAGS,[],[
case "$LDFLAGS" in
*-belf*) ;;
*)
echo "Adding -belf option to ldflags."
LDFLAGS="$LDFLAGS -belf"
;;
esac
])
;;
esac
else
CC="gcc"
LIBS="-lsocket -lnsl $LIBS"
CPPFLAGS="-D_THREAD_SAFE -pthread $CPPFLAGS"
fi ;;
sysv5uw7*) LIBS="-lsocket -lnsl $LIBS"
if test "$GCC" != "yes"; then
# We are using built-in inline function
CC="cc -belf"
CXX="CC -belf -DNO_CPLUSPLUS_ALLOCA"
CFLAGS="$CFLAGS -Kalloca -Kthread"
LIBS="-Kthread -lsocket -lnsl $LIBS"
else
CFLAGS="$CFLAGS -Kalloca -pthread"
CXX="$CXX -DNO_CPLUSPLUS_ALLOCA"
CPPFLAGS="-D_THREAD_SAFE -pthread $CPPFLAGS"
LIBS="-pthread -lsocket -lnsl $LIBS"
fi
;;
esac
dnl Export our compiler preferences for the libtool configuration. dnl Export our compiler preferences for the libtool configuration.
export CC CCC export CC CCC
CCC=CXX CCC=CXX
......
...@@ -28,6 +28,7 @@ noinst_HEADERS = sql_string.h completion_hash.h my_readline.h \ ...@@ -28,6 +28,7 @@ noinst_HEADERS = sql_string.h completion_hash.h my_readline.h \
client_priv.h client_priv.h
mysql_SOURCES = mysql.cc readline.cc sql_string.cc completion_hash.cc mysql_SOURCES = mysql.cc readline.cc sql_string.cc completion_hash.cc
mysql_LDADD = @readline_link@ @TERMCAP_LIB@ $(LDADD) $(CXXLDFLAGS) mysql_LDADD = @readline_link@ @TERMCAP_LIB@ $(LDADD) $(CXXLDFLAGS)
mysqlbinlog_LDADD = $(LDADD) $(CXXLDFLAGS)
mysql_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysql_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES)
mysqladmin_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysqladmin_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES)
mysqlcheck_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysqlcheck_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES)
......
...@@ -65,6 +65,12 @@ AC_DEFINE_UNQUOTED(SYSTEM_TYPE, "$SYSTEM_TYPE") ...@@ -65,6 +65,12 @@ AC_DEFINE_UNQUOTED(SYSTEM_TYPE, "$SYSTEM_TYPE")
AC_SUBST(MACHINE_TYPE) AC_SUBST(MACHINE_TYPE)
AC_DEFINE_UNQUOTED(MACHINE_TYPE, "$MACHINE_TYPE") AC_DEFINE_UNQUOTED(MACHINE_TYPE, "$MACHINE_TYPE")
# Detect intel x86 like processor
BASE_MACHINE_TYPE=$MACHINE_TYPE
case $MACHINE_TYPE in
i?86) BASE_MACHINE_TYPE=i386 ;;
esac
# Save some variables and the command line options for mysqlbug # Save some variables and the command line options for mysqlbug
SAVE_CFLAGS="$CFLAGS" SAVE_CFLAGS="$CFLAGS"
SAVE_CXXFLAGS="$CXXFLAGS" SAVE_CXXFLAGS="$CXXFLAGS"
...@@ -81,7 +87,7 @@ AC_SUBST(CXXLDFLAGS) ...@@ -81,7 +87,7 @@ AC_SUBST(CXXLDFLAGS)
AC_PREREQ(2.12)dnl Minimum Autoconf version required. AC_PREREQ(2.12)dnl Minimum Autoconf version required.
AM_MAINTAINER_MODE AM_MAINTAINER_MODE
AC_ARG_PROGRAM #AC_ARG_PROGRAM # Automaticly invoked by AM_INIT_AUTOMAKE
AM_SANITY_CHECK AM_SANITY_CHECK
# This is needed is SUBDIRS is set # This is needed is SUBDIRS is set
AC_PROG_MAKE_SET AC_PROG_MAKE_SET
...@@ -145,8 +151,10 @@ AM_PROG_LIBTOOL ...@@ -145,8 +151,10 @@ AM_PROG_LIBTOOL
#AC_LIBTOOL_DLOPEN AC_LIBTOOL_WIN32_DLL AC_DISABLE_FAST_INSTALL AC_DISABLE_SHARED AC_DISABLE_STATIC #AC_LIBTOOL_DLOPEN AC_LIBTOOL_WIN32_DLL AC_DISABLE_FAST_INSTALL AC_DISABLE_SHARED AC_DISABLE_STATIC
# AC_PROG_INSTALL We should only need a AM_PROG_INSTALL # AC_PROG_INSTALL
AC_PROG_INSTALL AC_PROG_INSTALL
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
# Not critical since the generated file is distributed # Not critical since the generated file is distributed
AC_PROG_YACC AC_PROG_YACC
AC_CHECK_PROG(PDFMANUAL, pdftex, manual.pdf) AC_CHECK_PROG(PDFMANUAL, pdftex, manual.pdf)
...@@ -179,7 +187,8 @@ AC_DEFINE(SPRINTF_RETURNS_INT) AC_MSG_RESULT("int"), ...@@ -179,7 +187,8 @@ AC_DEFINE(SPRINTF_RETURNS_INT) AC_MSG_RESULT("int"),
AC_DEFINE(SPRINTF_RETURNS_GARBAGE) AC_MSG_RESULT("garbage"))) AC_DEFINE(SPRINTF_RETURNS_GARBAGE) AC_MSG_RESULT("garbage")))
# option, cache_name, variable # option, cache_name, variable,
# code to execute if yes, code to exectute if fail
AC_DEFUN(AC_SYS_COMPILER_FLAG, AC_DEFUN(AC_SYS_COMPILER_FLAG,
[ [
AC_MSG_CHECKING($1) AC_MSG_CHECKING($1)
...@@ -188,7 +197,7 @@ AC_DEFUN(AC_SYS_COMPILER_FLAG, ...@@ -188,7 +197,7 @@ AC_DEFUN(AC_SYS_COMPILER_FLAG,
[ [
CFLAGS="[$]OLD_CFLAGS $1" CFLAGS="[$]OLD_CFLAGS $1"
AC_TRY_RUN([int main(){exit(0);}],mysql_cv_option_$2=yes,mysql_cv_option_$2=no,mysql_cv_option_$2=no) AC_TRY_RUN([int main(){exit(0);}],mysql_cv_option_$2=yes,mysql_cv_option_$2=no,mysql_cv_option_$2=no)
]) ])
CFLAGS="[$]OLD_CFLAGS" CFLAGS="[$]OLD_CFLAGS"
...@@ -288,6 +297,7 @@ AC_SUBST(CFLAGS) ...@@ -288,6 +297,7 @@ AC_SUBST(CFLAGS)
AC_SUBST(CXX) AC_SUBST(CXX)
AC_SUBST(CXXFLAGS) AC_SUBST(CXXFLAGS)
AC_SUBST(LD) AC_SUBST(LD)
AC_SUBST(INSTALL_SCRIPT)
export CC CFLAGS LD LDFLAGS export CC CFLAGS LD LDFLAGS
...@@ -515,12 +525,22 @@ AC_ARG_ENABLE(assembler, ...@@ -515,12 +525,22 @@ AC_ARG_ENABLE(assembler,
[ ENABLE_ASSEMBLER=$enableval ], [ ENABLE_ASSEMBLER=$enableval ],
[ ENABLE_ASSEMBLER=no ] [ ENABLE_ASSEMBLER=no ]
) )
AC_MSG_CHECKING(if we should use assembler functions)
# For now we only support assembler on i386 and sparc systems # For now we only support assembler on i386 and sparc systems
AM_CONDITIONAL(ASSEMBLER_x86, test "$ENABLE_ASSEMBLER" = "yes" -a "$MACHINE_TYPE" = "i386") AM_CONDITIONAL(ASSEMBLER_x86, test "$ENABLE_ASSEMBLER" = "yes" -a "$BASE_MACHINE_TYPE" = "i386")
AM_CONDITIONAL(ASSEMBLER_sparc, test "$ENABLE_ASSEMBLER" = "yes" -a "$MACHINE_TYPE" = "sparc") AM_CONDITIONAL(ASSEMBLER_sparc, test "$ENABLE_ASSEMBLER" = "yes" -a "$BASE_MACHINE_TYPE" = "sparc")
AM_CONDITIONAL(ASSEMBLER, test ASSEMBLER_x86 = "" -o ASSEMBLER_x86 = "") AM_CONDITIONAL(ASSEMBLER, test "$ASSEMBLER_x86_TRUE" = "" -o "$ASSEMBLER_sparc_TRUE" = "")
AC_MSG_CHECKING(whether to use RAID) if test "$ASSEMBLER_TRUE" = ""
then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
AC_MSG_CHECKING(if we should use RAID)
AC_ARG_WITH(raid, AC_ARG_WITH(raid,
[ --with-raid Enable RAID Support], [ --with-raid Enable RAID Support],
[ USE_RAID=$withval ], [ USE_RAID=$withval ],
...@@ -563,9 +583,8 @@ AC_ARG_WITH(mysqld-user, ...@@ -563,9 +583,8 @@ AC_ARG_WITH(mysqld-user,
) )
AC_SUBST(MYSQLD_USER) AC_SUBST(MYSQLD_USER)
# Use Paul Eggerts macros from GNU tar to check for large file # Use Paul Eggerts macros from GNU tar to check for large file support.
# support. MYSQL_SYS_LARGEFILE
AC_SYS_LARGEFILE
# Types that must be checked AFTER large file support is checked # Types that must be checked AFTER large file support is checked
AC_TYPE_SIZE_T AC_TYPE_SIZE_T
...@@ -764,8 +783,8 @@ case $SYSTEM_TYPE in ...@@ -764,8 +783,8 @@ case $SYSTEM_TYPE in
;; ;;
*hpux10.20*) *hpux10.20*)
echo "Enabling snprintf workaround for hpux 10.20" echo "Enabling snprintf workaround for hpux 10.20"
CFLAGS="$CFLAGS -DHAVE_BROKEN_SNPRINTF -DSIGNALS_DONT_BREAK_READ" CFLAGS="$CFLAGS -DHAVE_BROKEN_SNPRINTF -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX -DSIGNAL_WITH_VIO_CLOSE"
CXXFLAGS="$CXXFLAGS -DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ" CXXFLAGS="$CXXFLAGS -DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX -DSIGNAL_WITH_VIO_CLOSE"
if test "$with_named_thread" = "no" if test "$with_named_thread" = "no"
then then
echo "Using --with-named-thread=-lpthread" echo "Using --with-named-thread=-lpthread"
...@@ -774,8 +793,8 @@ case $SYSTEM_TYPE in ...@@ -774,8 +793,8 @@ case $SYSTEM_TYPE in
;; ;;
*hpux11.*) *hpux11.*)
echo "Enabling pread/pwrite workaround for hpux 11" echo "Enabling pread/pwrite workaround for hpux 11"
CFLAGS="$CFLAGS -DHAVE_BROKEN_PREAD -DDONT_USE_FINITE -DHAVE_BROKEN_GETPASS -DNO_FCNTL_NONBLOCK" CFLAGS="$CFLAGS -DHAVE_BROKEN_PREAD -DDONT_USE_FINITE -DHAVE_BROKEN_GETPASS -DNO_FCNTL_NONBLOCK -DDO_NOT_REMOVE_THREAD_WRAPPERS"
CXXFLAGS="$CXXFLAGS -DHAVE_BROKEN_PREAD -DDONT_USE_FINITE -D_INCLUDE_LONGLONG -DNO_FCNTL_NONBLOCK" CXXFLAGS="$CXXFLAGS -DHAVE_BROKEN_PREAD -DDONT_USE_FINITE -D_INCLUDE_LONGLONG -DNO_FCNTL_NONBLOCK -DDO_NOT_REMOVE_THREAD_WRAPPERS"
if test "$with_named_thread" = "no" if test "$with_named_thread" = "no"
then then
echo "Using --with-named-thread=-lpthread" echo "Using --with-named-thread=-lpthread"
...@@ -1419,7 +1438,7 @@ MYSQL_TYPE_QSORT ...@@ -1419,7 +1438,7 @@ MYSQL_TYPE_QSORT
AC_FUNC_UTIME_NULL AC_FUNC_UTIME_NULL
AC_FUNC_VPRINTF AC_FUNC_VPRINTF
AC_CHECK_FUNCS(alarm bmove \ AC_CHECK_FUNCS(alarm bmove \
chsize ftruncate rint finite fpsetmask fpresetsticky\ chsize ftruncate rint finite isnan fpsetmask fpresetsticky\
cuserid fcntl fconvert poll \ cuserid fcntl fconvert poll \
getrusage getpwuid getcwd getrlimit getwd index stpcpy locking longjmp \ getrusage getpwuid getcwd getrlimit getwd index stpcpy locking longjmp \
perror pread realpath readlink rename \ perror pread realpath readlink rename \
...@@ -1728,7 +1747,7 @@ AC_ARG_WITH(readline, ...@@ -1728,7 +1747,7 @@ AC_ARG_WITH(readline,
if test "$with_readline" = "yes" if test "$with_readline" = "yes"
then then
readline_dir="readline" readline_dir="readline"
readline_link="../readline/libreadline.a" readline_link="\$(top_builddir)/readline/libreadline.a"
else else
# This requires readline to be in a standard place. Mosty for linux # This requires readline to be in a standard place. Mosty for linux
# there readline may be a shared library. # there readline may be a shared library.
...@@ -1738,15 +1757,15 @@ fi ...@@ -1738,15 +1757,15 @@ fi
AC_SUBST(readline_dir) AC_SUBST(readline_dir)
AC_SUBST(readline_link) AC_SUBST(readline_link)
# Choose a character set dnl In order to add new charset, you must add charset name to
dnl in order to add new charset, you must add charset name to dnl this CHARSETS_AVAILABLE list and sql/share/charsets/Index.
dnl CHARSETS_AVAILABLE list and add the charset name to dnl If the character set uses strcoll or other special handling,
dnl sql/share/charsets/Index. If the character set uses strcoll dnl you must also create strings/ctype-$charset_name.c
dnl or other special handling, you must also create
dnl strings/ctype-$charset_name.c
AC_DIVERT_PUSH(0)
CHARSETS_AVAILABLE="big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin2 latin5 swe7 usa7 win1250 win1251 win1251ukr ujis sjis tis620" CHARSETS_AVAILABLE="big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin2 latin5 swe7 usa7 win1250 win1251 win1251ukr ujis sjis tis620"
DEFAULT_CHARSET=latin1 DEFAULT_CHARSET=latin1
AC_DIVERT_POP
dnl win1251 is deprecated - it's available, but not listed here in the help dnl win1251 is deprecated - it's available, but not listed here in the help
AC_ARG_WITH(charset, AC_ARG_WITH(charset,
...@@ -2086,7 +2105,17 @@ EOF ...@@ -2086,7 +2105,17 @@ EOF
then then
sql_server_dirs="innobase $sql_server_dirs" sql_server_dirs="innobase $sql_server_dirs"
echo "CONFIGURING FOR INNODB" echo "CONFIGURING FOR INNODB"
(cd innobase && sh ./configure) \ if test ! -d "innobase"; then
# This should only happen when doing a VPATH build
echo "NOTICE: I have to make the Innobase directory: `pwd`/innobase"
mkdir "innobase" || exit 1
fi
rel_srcdir=
case "$srcdir" in
/* ) rel_srcdir="$srcdir" ;;
* ) rel_srcdir="../$srcdir" ;;
esac
(cd innobase && sh $rel_srcdir/innobase/configure) \
|| AC_MSG_ERROR([could not configure INNODB]) || AC_MSG_ERROR([could not configure INNODB])
echo "END OF INNODB CONFIGURATION" echo "END OF INNODB CONFIGURATION"
...@@ -2158,9 +2187,9 @@ AC_OUTPUT(Makefile extra/Makefile mysys/Makefile isam/Makefile \ ...@@ -2158,9 +2187,9 @@ AC_OUTPUT(Makefile extra/Makefile mysys/Makefile isam/Makefile \
include/mysql_version.h include/mysql_version.h
, , [ , , [
test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
rm -f $AVAILABLE_LANGUAGES_ERRORS_RULES
]) ])
rm -f $AVAILABLE_LANGUAGES_ERRORS_RULES
echo echo
echo "MySQL has a Web site at http://www.mysql.com/ which carries details on the" echo "MySQL has a Web site at http://www.mysql.com/ which carries details on the"
echo "latest release, upcoming features, and other information to make your" echo "latest release, upcoming features, and other information to make your"
...@@ -2170,6 +2199,6 @@ echo ...@@ -2170,6 +2199,6 @@ echo
echo "Remember to check the platform specific part in the reference manual for" echo "Remember to check the platform specific part in the reference manual for"
echo "hints about installing on your platfrom. See the Docs directory." echo "hints about installing on your platfrom. See the Docs directory."
echo echo
# This text is checked in ./Do-compile to se that the configure finished. # The following text is checked in ./Do-compile to se that the configure ends.
echo "Thank you for choosing MySQL!" echo "Thank you for choosing MySQL!"
echo echo
...@@ -133,9 +133,9 @@ level id parent_id ...@@ -133,9 +133,9 @@ level id parent_id
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 optimize error The handler for the table doesn't support check/repair test.t1 optimize error The handler for the table doesn't support check/repair
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment
t1 0 PRIMARY 1 id A 87 NULL NULL t1 0 PRIMARY 1 id A NULL NULL NULL
t1 1 parent_id 1 parent_id A 21 NULL NULL t1 1 parent_id 1 parent_id A NULL NULL NULL
t1 1 level 1 level A 4 NULL NULL t1 1 level 1 level A NULL NULL NULL
gesuchnr benutzer_id gesuchnr benutzer_id
1 1 1 1
2 1 2 1
...@@ -150,7 +150,7 @@ a b ...@@ -150,7 +150,7 @@ a b
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 analyze error The handler for the table doesn't support check/repair test.t1 analyze error The handler for the table doesn't support check/repair
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment
t1 1 skr 1 a A 1 NULL NULL t1 1 skr 1 a A NULL NULL NULL
a b a b
1 1
n after rollback n after rollback
...@@ -438,7 +438,7 @@ hello 1 ...@@ -438,7 +438,7 @@ hello 1
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 optimize error The handler for the table doesn't support check/repair test.t1 optimize error The handler for the table doesn't support check/repair
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment
t1 0 PRIMARY 1 a A 1 NULL NULL t1 0 PRIMARY 1 a A NULL NULL NULL
i j i j
1 2 1 2
i j i j
......
...@@ -30,7 +30,8 @@ libmysys_a_SOURCES = my_init.c my_getwd.c mf_getdate.c\ ...@@ -30,7 +30,8 @@ libmysys_a_SOURCES = my_init.c my_getwd.c mf_getdate.c\
mf_iocache.c mf_iocache2.c mf_cache.c mf_tempfile.c \ mf_iocache.c mf_iocache2.c mf_cache.c mf_tempfile.c \
my_lock.c mf_brkhant.c my_alarm.c \ my_lock.c mf_brkhant.c my_alarm.c \
my_malloc.c my_realloc.c my_once.c mulalloc.c \ my_malloc.c my_realloc.c my_once.c mulalloc.c \
my_alloc.c safemalloc.c my_fopen.c my_fstream.c \ my_alloc.c safemalloc.c my_new.cc \
my_fopen.c my_fstream.c \
my_error.c errors.c my_div.c my_messnc.c \ my_error.c errors.c my_div.c my_messnc.c \
mf_format.c mf_same.c mf_dirname.c mf_fn_ext.c \ mf_format.c mf_same.c mf_dirname.c mf_fn_ext.c \
my_symlink.c my_symlink2.c \ my_symlink.c my_symlink2.c \
......
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/*
This is a replacement of new/delete operators to be used when compiling
with gcc 3.0.x to avoid including libstdc++
*/
#include "mysys_priv.h"
#ifdef USE_MYSYS_NEW
void *operator new (size_t sz)
{
return (void *) malloc (sz ? sz+1 : sz);
}
void *operator new[] (size_t sz)
{
return (void *) malloc (sz ? sz+1 : sz);
}
void operator delete (void *ptr)
{
if (ptr)
free(ptr);
}
void operator delete[] (void *ptr) throw ()
{
if (ptr)
free(ptr);
}
#endif /* USE_MYSYS_NEW */
...@@ -71,7 +71,7 @@ CLEANFILES = @server_scripts@ \ ...@@ -71,7 +71,7 @@ CLEANFILES = @server_scripts@ \
SUPERCLEANFILES = mysqlbug SUPERCLEANFILES = mysqlbug
# We want the right version and configure comand line in mysqlbug # We want the right version and configure comand line in mysqlbug
mysqlbug: ${top_builddir}/config.status ${top_builddir}/config.cache mysqlbug.sh mysqlbug: ${top_builddir}/config.status mysqlbug.sh
SUFFIXES = .sh SUFFIXES = .sh
......
...@@ -85,7 +85,7 @@ long innobase_mirrored_log_groups, innobase_log_files_in_group, ...@@ -85,7 +85,7 @@ long innobase_mirrored_log_groups, innobase_log_files_in_group,
char *innobase_data_home_dir, *innobase_data_file_path; char *innobase_data_home_dir, *innobase_data_file_path;
char *innobase_log_group_home_dir, *innobase_log_arch_dir; char *innobase_log_group_home_dir, *innobase_log_arch_dir;
char *innobase_unix_file_flush_method; char *innobase_unix_file_flush_method;
bool innobase_flush_log_at_trx_commit, innobase_log_archive, my_bool innobase_flush_log_at_trx_commit, innobase_log_archive,
innobase_use_native_aio, innobase_fast_shutdown; innobase_use_native_aio, innobase_fast_shutdown;
/* innobase_data_file_path=ibdata:15,idata2:1,... */ /* innobase_data_file_path=ibdata:15,idata2:1,... */
......
...@@ -174,8 +174,9 @@ extern long innobase_force_recovery, innobase_thread_concurrency; ...@@ -174,8 +174,9 @@ extern long innobase_force_recovery, innobase_thread_concurrency;
extern char *innobase_data_home_dir, *innobase_data_file_path; extern char *innobase_data_home_dir, *innobase_data_file_path;
extern char *innobase_log_group_home_dir, *innobase_log_arch_dir; extern char *innobase_log_group_home_dir, *innobase_log_arch_dir;
extern char *innobase_unix_file_flush_method; extern char *innobase_unix_file_flush_method;
extern bool innobase_flush_log_at_trx_commit, innobase_log_archive, /* The following variables have to be my_bool for SHOW VARIABLES to work */
innobase_use_native_aio, innobase_fast_shutdown; extern my_bool innobase_flush_log_at_trx_commit, innobase_log_archive,
innobase_use_native_aio, innobase_fast_shutdown;
extern TYPELIB innobase_lock_typelib; extern TYPELIB innobase_lock_typelib;
......
...@@ -771,7 +771,7 @@ bool close_cached_table(THD *thd,TABLE *table) ...@@ -771,7 +771,7 @@ bool close_cached_table(THD *thd,TABLE *table)
/* Mark all tables that are in use as 'old' */ /* Mark all tables that are in use as 'old' */
mysql_lock_abort(thd,table); // end threads waiting on lock mysql_lock_abort(thd,table); // end threads waiting on lock
#ifdef REMOVE_LOCKS #if defined(USING_TRANSACTIONS) || defined( __WIN__) || defined( __EMX__) || !defined(OS2)
/* Wait until all there are no other threads that has this table open */ /* Wait until all there are no other threads that has this table open */
while (remove_table_from_cache(thd,table->table_cache_key, while (remove_table_from_cache(thd,table->table_cache_key,
table->table_name)) table->table_name))
...@@ -1569,20 +1569,29 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name, ...@@ -1569,20 +1569,29 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
} }
} }
#if defined( __WIN__) || defined( __EMX__) || defined( OS2) #if (!defined( __WIN__) && !defined( __EMX__) && !defined( OS2))
// Win32 can't rename an open table, so we must close the org table! if (table->file->has_transactions())
table_name=thd->strdup(table_name); // must be saved #endif
if (close_cached_table(thd,table)) {
{ // Aborted /*
VOID(quick_rm_table(new_db_type,new_db,tmp_name)); Win32 and InnoDB can't rename an open table, so we must close
VOID(pthread_mutex_unlock(&LOCK_open)); the original table at before doing the rename
goto err; */
table_name=thd->strdup(table_name); // must be saved
if (close_cached_table(thd,table))
{ // Aborted
VOID(quick_rm_table(new_db_type,new_db,tmp_name));
VOID(pthread_mutex_unlock(&LOCK_open));
goto err;
}
table=0; // Marker that table is closed
} }
table=0; // Marker for win32 version #if (!defined( __WIN__) && !defined( __EMX__) && !defined( OS2))
#else else
table->file->extra(HA_EXTRA_FORCE_REOPEN); // Don't use this file anymore table->file->extra(HA_EXTRA_FORCE_REOPEN); // Don't use this file anymore
#endif #endif
error=0; error=0;
if (mysql_rename_table(old_db_type,db,table_name,db,old_name)) if (mysql_rename_table(old_db_type,db,table_name,db,old_name))
{ {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# MySQL. # MySQL.
# #
# You can copy this file to # You can copy this file to
# /etc/mf.cnf to set global options, # /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this # mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is @localstatedir@) or # installation this directory is @localstatedir@) or
# ~/.my.cnf to set user-specific options. # ~/.my.cnf to set user-specific options.
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# MySQL. # MySQL.
# #
# You can copy this file to # You can copy this file to
# /etc/mf.cnf to set global options, # /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this # mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is @localstatedir@) or # installation this directory is @localstatedir@) or
# ~/.my.cnf to set user-specific options. # ~/.my.cnf to set user-specific options.
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
# other programs (like a web server) # other programs (like a web server)
# #
# You can copy this file to # You can copy this file to
# /etc/mf.cnf to set global options, # /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this # mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is @localstatedir@) or # installation this directory is @localstatedir@) or
# ~/.my.cnf to set user-specific options. # ~/.my.cnf to set user-specific options.
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
# doesn't use much resources. # doesn't use much resources.
# #
# You can copy this file to # You can copy this file to
# /etc/mf.cnf to set global options, # /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this # mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is @localstatedir@) or # installation this directory is @localstatedir@) or
# ~/.my.cnf to set user-specific options. # ~/.my.cnf to set user-specific options.
......
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