Loading acinclude.m4 +35 −6 Original line number Diff line number Diff line Loading @@ -97,10 +97,10 @@ undefine([AC_CV_NAME])dnl AC_DEFUN([MYSQL_TYPE_ACCEPT], [ac_save_CXXFLAGS="$CXXFLAGS" AC_CACHE_CHECK([base type of last arg to accept], mysql_cv_btype_last_arg_accept, AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_LANG_PUSH(C++) if test "$ac_cv_prog_gxx" = "yes" then # Add -Werror, remove -fbranch-probabilities (Bug #268) CXXFLAGS=`echo $CXXFLAGS -Werror | sed 's/-fbranch-probabilities//'` fi mysql_cv_btype_last_arg_accept=none Loading @@ -127,7 +127,7 @@ fi if test "$mysql_cv_btype_last_arg_accept" = "none"; then mysql_cv_btype_last_arg_accept=int fi) AC_LANG_RESTORE AC_LANG_POP(C++) AC_DEFINE_UNQUOTED([SOCKET_SIZE_TYPE], [$mysql_cv_btype_last_arg_accept], [The base type of the last arg to accept]) CXXFLAGS="$ac_save_CXXFLAGS" Loading @@ -153,6 +153,35 @@ then fi ]) #---START: Figure out whether to use 'struct rlimit' or 'struct rlimit64' AC_DEFUN([MYSQL_TYPE_STRUCT_RLIMIT], [ac_save_CXXFLAGS="$CXXFLAGS" AC_CACHE_CHECK([struct type to use with setrlimit], mysql_cv_btype_struct_rlimit, AC_LANG_PUSH(C++) if test "$ac_cv_prog_gxx" = "yes" then # Add -Werror, remove -fbranch-probabilities (Bug #268) CXXFLAGS=`echo $CXXFLAGS -Werror | sed 's/-fbranch-probabilities//'` fi mysql_cv_btype_struct_rlimit=none [AC_TRY_COMPILE([#if defined(inline) #undef inline #endif #include <stdlib.h> #include <sys/resource.h> ], [struct rlimit64 rl; setrlimit(RLIMIT_CORE, &rl);], mysql_cv_btype_struct_rlimit="struct rlimit64")] if test "$mysql_cv_btype_struct_rlimit" = "none"; then mysql_cv_btype_struct_rlimit="struct rlimit" fi) AC_LANG_POP(C++) AC_DEFINE_UNQUOTED([STRUCT_RLIMIT], [$mysql_cv_btype_struct_rlimit], [The struct rlimit type to use with setrlimit]) CXXFLAGS="$ac_save_CXXFLAGS" ]) #---END: AC_DEFUN([MYSQL_TIMESPEC_TS], [AC_CACHE_CHECK([if struct timespec has a ts_sec member], mysql_cv_timespec_ts, [AC_TRY_COMPILE([#include <pthread.h> Loading Loading @@ -976,7 +1005,7 @@ AC_DEFUN([MYSQL_FIND_OPENSSL], [ if test -z "$OPENSSL_LIB" -o -z "$OPENSSL_INCLUDE" ; then echo "Could not find an installation of OpenSSL" if test -n "$OPENSSL_LIB" ; then if test "$IS_LINUX" = "true"; then if test "$TARGET_LINUX" = "true"; then echo "Looks like you've forgotten to install OpenSSL development RPM" fi fi Loading Loading @@ -1940,8 +1969,8 @@ m4_define([_AC_PROG_CXX_EXIT_DECLARATION], 'void exit (int);' \ '#include <stdlib.h>' do _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([@%:@include <stdlib.h> $ac_declaration], _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_declaration @%:@include <stdlib.h>], [exit (42);])], [], [continue]) Loading configure.in +96 −61 Original line number Diff line number Diff line Loading @@ -410,15 +410,16 @@ AC_MSG_CHECKING("if we should use 'skip-locking' as default for $target_os") if expr "$target_os" : "[[Ll]]inux.*" > /dev/null then MYSQLD_DEFAULT_SWITCHES="--skip-locking" IS_LINUX="true" AC_MSG_RESULT("yes"); TARGET_LINUX="true" AC_MSG_RESULT("yes") AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux]) else MYSQLD_DEFAULT_SWITCHES="" IS_LINUX="false" AC_MSG_RESULT("no"); TARGET_LINUX="false" AC_MSG_RESULT("no") fi AC_SUBST(MYSQLD_DEFAULT_SWITCHES) AC_SUBST(IS_LINUX) AC_SUBST(TARGET_LINUX) dnl Find paths to some shell programs AC_PATH_PROG(LN, ln, ln) Loading Loading @@ -607,7 +608,7 @@ AC_SUBST(NOINST_LDFLAGS) # (this is true on the MySQL build machines to avoid NSS problems) # if test "$IS_LINUX" = "true" -a "$static_nss" = "" if test "$TARGET_LINUX" = "true" -a "$static_nss" = "" then tmp=`nm /usr/lib/libc.a | grep _nss_files_getaliasent_r` if test -n "$tmp" Loading Loading @@ -841,7 +842,7 @@ struct request_info *req; ]) AC_SUBST(WRAPLIBS) if test "$IS_LINUX" = "true"; then if test "$TARGET_LINUX" = "true"; then AC_MSG_CHECKING([for atomic operations]) atom_ops= Loading Loading @@ -885,7 +886,7 @@ int main() [ USE_PSTACK=no ]) pstack_libs= pstack_dirs= if test "$USE_PSTACK" = yes -a "$IS_LINUX" = "true" -a "$BASE_MACHINE_TYPE" = "i386" -a "$with_mit_threads" = "no" if test "$USE_PSTACK" = yes -a "$TARGET_LINUX" = "true" -a "$BASE_MACHINE_TYPE" = "i386" -a "$with_mit_threads" = "no" then have_libiberty= have_libbfd= my_save_LIBS="$LIBS" Loading Loading @@ -1266,11 +1267,36 @@ esac # We have to check libc last because else it fails on Solaris 2.6 with_posix_threads="no" # Hack for DEC-UNIX (OSF1) # Search thread lib on Linux if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no" then AC_MSG_CHECKING("Linux threads") if test "$TARGET_LINUX" = "true" then AC_MSG_RESULT("starting") # use getconf to check glibc contents AC_MSG_CHECKING("getconf GNU_LIBPTHREAD_VERSION") case `getconf GNU_LIBPTHREAD_VERSION | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` in NPTL* ) AC_MSG_RESULT("NPTL") AC_DEFINE([HAVE_NPTL], [1], [NPTL threads implementation]) with_named_thread="-lpthread" ;; LINUXTHREADS* ) AC_MSG_RESULT("Linuxthreads") AC_DEFINE([HAVE_LINUXTHREADS], [1], [Whether we are using Xavier Leroy's LinuxThreads]) with_named_thread="-lpthread" ;; * ) AC_MSG_RESULT("unknown") ;; esac if test "$with_named_thread" = "no" then # old method, check headers # Look for LinuxThreads. AC_MSG_CHECKING("LinuxThreads") AC_MSG_CHECKING("LinuxThreads in header file comment") res=`grep Linuxthreads /usr/include/pthread.h 2>/dev/null | wc -l` if test "$res" -gt 0 then Loading @@ -1286,41 +1312,48 @@ then else AC_MSG_RESULT("Not found") # If this is a linux machine we should barf if test "$IS_LINUX" = "true" then AC_MSG_ERROR([This is a linux system and Linuxthreads was not found. On linux Linuxthreads should be used. Please install Linuxthreads (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) AC_MSG_ERROR([This is a Linux system without a working getconf, and Linuxthreads was not found. Please install it (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) fi else AC_MSG_CHECKING("DEC threads") AC_MSG_RESULT("no need to check headers") fi AC_MSG_CHECKING("for pthread_create in -lpthread"); ac_save_LIBS="$LIBS" LIBS="$LIBS -lpthread" AC_TRY_LINK( [#include <pthread.h>], [ (void) pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ], AC_MSG_RESULT("yes"), [ AC_MSG_RESULT("no") AC_MSG_ERROR([ This is a Linux system claiming to support threads, either Linuxthreads or NPTL, but linking a test program failed. Please install one of these (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) ] ) LIBS="$ac_save_LIBS" else AC_MSG_RESULT("no") fi # "$TARGET_LINUX" fi # "$with_named_thread" = "no" -a "$with_mit_threads" = "no" # Hack for DEC-UNIX (OSF1 -> Tru64) if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no" then AC_MSG_CHECKING("DEC threads post OSF/1 3.2") if test -f /usr/shlib/libpthread.so -a -f /usr/lib/libmach.a -a -f /usr/ccs/lib/cmplrs/cc/libexc.a then with_named_thread="-lpthread -lmach -lexc" CFLAGS="$CFLAGS -D_REENTRANT" CXXFLAGS="$CXXFLAGS -D_REENTRANT" AC_DEFINE(HAVE_DEC_THREADS, [1], [Whether we are using DEC threads]) AC_DEFINE(HAVE_DEC_THREADS, [1], [Whether we are using DEC threads]) AC_MSG_RESULT("yes") else AC_MSG_RESULT("no") AC_MSG_CHECKING("DEC 3.2 threads") if test -f /usr/shlib/libpthreads.so -a -f /usr/lib/libmach.a -a -f /usr/ccs/lib/cmplrs/cc/libexc.a then with_named_thread="-lpthreads -lmach -lc_r" AC_DEFINE(HAVE_DEC_THREADS, [1]) AC_DEFINE([HAVE_DEC_3_2_THREADS], [1], [Whether we are using OSF1 DEC threads on 3.2]) with_osf32_threads="yes" MYSQLD_DEFAULT_SWITCHES="--skip-thread-priority" AC_MSG_RESULT("yes") else AC_MSG_RESULT("no") fi fi fi fi fi fi # DEC threads fi # "$with_named_thread" = "no" -a "$with_mit_threads" = "no" dnl This is needed because -lsocket has to come after the thread Loading Loading @@ -1738,7 +1771,7 @@ fi AC_SUBST(COMPILATION_COMMENT) AC_MSG_CHECKING("need of special linking flags") if test "$IS_LINUX" = "true" -a "$ac_cv_prog_gcc" = "yes" -a "$all_is_static" != "yes" if test "$TARGET_LINUX" = "true" -a "$ac_cv_prog_gcc" = "yes" -a "$all_is_static" != "yes" then LDFLAGS="$LDFLAGS -rdynamic" AC_MSG_RESULT("-rdynamic") Loading Loading @@ -1795,6 +1828,8 @@ AC_C_BIGENDIAN MYSQL_TYPE_ACCEPT #---END: # Figure out what type of struct rlimit to use with setrlimit MYSQL_TYPE_STRUCT_RLIMIT # Find where the stack goes MYSQL_STACK_DIRECTION # We want to skip alloca on irix unconditionally. It may work on some version.. Loading Loading @@ -1955,7 +1990,7 @@ CFLAGS="$ORG_CFLAGS" # Sanity check: We chould not have any fseeko symbol unless # large_file_support=yes AC_CHECK_FUNC(fseeko, [if test "$large_file_support" = no -a "$IS_LINUX" = "true"; [if test "$large_file_support" = no -a "$TARGET_LINUX" = "true"; then AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!"); fi] Loading include/my_global.h +5 −4 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ /* Fix problem with S_ISLNK() on Linux */ #if defined(HAVE_LINUXTHREADS) #if defined(TARGET_OS_LINUX) #undef _GNU_SOURCE #define _GNU_SOURCE 1 #endif Loading @@ -107,6 +107,7 @@ #undef THREAD #undef HAVE_mit_thread #undef HAVE_LINUXTHREADS #undef HAVE_NPTL #undef HAVE_UNIXWARE7_THREADS #endif Loading Loading @@ -214,13 +215,13 @@ C_MODE_START int __cxa_pure_virtual() {\ #endif /* In Linux-alpha we have atomic.h if we are using gcc */ #if defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && defined(__alpha__) && (__GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 95)) && !defined(HAVE_ATOMIC_ADD) #if defined(TARGET_OS_LINUX) && defined(__GNUC__) && defined(__alpha__) && (__GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 95)) && !defined(HAVE_ATOMIC_ADD) #define HAVE_ATOMIC_ADD #define HAVE_ATOMIC_SUB #endif /* In Linux-ia64 including atomic.h will give us an error */ #if (defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && (defined(__ia64__)||defined(__powerpc64__))) || !defined(THREAD) #if (defined(TARGET_OS_LINUX) && defined(__GNUC__) && (defined(__ia64__)||defined(__powerpc64__))) || !defined(THREAD) #undef HAVE_ATOMIC_ADD #undef HAVE_ATOMIC_SUB #endif Loading Loading @@ -755,7 +756,7 @@ typedef unsigned long uint32; /* Short for unsigned integer >= 32 bits */ error "Neither int or long is of 4 bytes width" #endif #if !defined(HAVE_ULONG) && !defined(HAVE_LINUXTHREADS) && !defined(__USE_MISC) #if !defined(HAVE_ULONG) && !defined(TARGET_OS_LINUX) && !defined(__USE_MISC) typedef unsigned long ulong; /* Short for unsigned long */ #endif #ifndef longlong_defined Loading innobase/dict/dict0dict.c +11 −1 Original line number Diff line number Diff line Loading @@ -197,6 +197,16 @@ FILE* dict_foreign_err_file = NULL; mutex_t dict_foreign_err_mutex; /* mutex protecting the foreign and unique error buffers */ /********************************************************************** Makes all characters in a NUL-terminated UTF-8 string lower case. */ void dict_casedn_str( /*============*/ char* a) /* in/out: string to put in lower case */ { innobase_casedn_str(a); } /************************************************************************ Checks if the database name in two table names is the same. */ Loading innobase/fil/fil0fil.c +9 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ Created 10/25/1995 Heikki Tuuri #include "srv0start.h" #include "mtr0mtr.h" #include "mtr0log.h" #include "dict0dict.h" /* Loading Loading @@ -2732,7 +2733,15 @@ fil_load_single_table_tablespace( sprintf(filepath, "%s/%s/%s", fil_path_to_mysql_datadir, dbname, filename); srv_normalize_path_for_win(filepath); #ifdef __WIN__ /* If lower_case_table_names is 0 or 2, then MySQL allows database directory names with upper case letters. On Windows, all table and database names in InnoDB are internally always in lower case. Put the file path to lower case, so that we are consistent with InnoDB's internal data dictionary. */ dict_casedn_str(filepath); #endif file = os_file_create_simple_no_error_handling(filepath, OS_FILE_OPEN, OS_FILE_READ_ONLY, &success); if (!success) { Loading Loading
acinclude.m4 +35 −6 Original line number Diff line number Diff line Loading @@ -97,10 +97,10 @@ undefine([AC_CV_NAME])dnl AC_DEFUN([MYSQL_TYPE_ACCEPT], [ac_save_CXXFLAGS="$CXXFLAGS" AC_CACHE_CHECK([base type of last arg to accept], mysql_cv_btype_last_arg_accept, AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_LANG_PUSH(C++) if test "$ac_cv_prog_gxx" = "yes" then # Add -Werror, remove -fbranch-probabilities (Bug #268) CXXFLAGS=`echo $CXXFLAGS -Werror | sed 's/-fbranch-probabilities//'` fi mysql_cv_btype_last_arg_accept=none Loading @@ -127,7 +127,7 @@ fi if test "$mysql_cv_btype_last_arg_accept" = "none"; then mysql_cv_btype_last_arg_accept=int fi) AC_LANG_RESTORE AC_LANG_POP(C++) AC_DEFINE_UNQUOTED([SOCKET_SIZE_TYPE], [$mysql_cv_btype_last_arg_accept], [The base type of the last arg to accept]) CXXFLAGS="$ac_save_CXXFLAGS" Loading @@ -153,6 +153,35 @@ then fi ]) #---START: Figure out whether to use 'struct rlimit' or 'struct rlimit64' AC_DEFUN([MYSQL_TYPE_STRUCT_RLIMIT], [ac_save_CXXFLAGS="$CXXFLAGS" AC_CACHE_CHECK([struct type to use with setrlimit], mysql_cv_btype_struct_rlimit, AC_LANG_PUSH(C++) if test "$ac_cv_prog_gxx" = "yes" then # Add -Werror, remove -fbranch-probabilities (Bug #268) CXXFLAGS=`echo $CXXFLAGS -Werror | sed 's/-fbranch-probabilities//'` fi mysql_cv_btype_struct_rlimit=none [AC_TRY_COMPILE([#if defined(inline) #undef inline #endif #include <stdlib.h> #include <sys/resource.h> ], [struct rlimit64 rl; setrlimit(RLIMIT_CORE, &rl);], mysql_cv_btype_struct_rlimit="struct rlimit64")] if test "$mysql_cv_btype_struct_rlimit" = "none"; then mysql_cv_btype_struct_rlimit="struct rlimit" fi) AC_LANG_POP(C++) AC_DEFINE_UNQUOTED([STRUCT_RLIMIT], [$mysql_cv_btype_struct_rlimit], [The struct rlimit type to use with setrlimit]) CXXFLAGS="$ac_save_CXXFLAGS" ]) #---END: AC_DEFUN([MYSQL_TIMESPEC_TS], [AC_CACHE_CHECK([if struct timespec has a ts_sec member], mysql_cv_timespec_ts, [AC_TRY_COMPILE([#include <pthread.h> Loading Loading @@ -976,7 +1005,7 @@ AC_DEFUN([MYSQL_FIND_OPENSSL], [ if test -z "$OPENSSL_LIB" -o -z "$OPENSSL_INCLUDE" ; then echo "Could not find an installation of OpenSSL" if test -n "$OPENSSL_LIB" ; then if test "$IS_LINUX" = "true"; then if test "$TARGET_LINUX" = "true"; then echo "Looks like you've forgotten to install OpenSSL development RPM" fi fi Loading Loading @@ -1940,8 +1969,8 @@ m4_define([_AC_PROG_CXX_EXIT_DECLARATION], 'void exit (int);' \ '#include <stdlib.h>' do _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([@%:@include <stdlib.h> $ac_declaration], _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_declaration @%:@include <stdlib.h>], [exit (42);])], [], [continue]) Loading
configure.in +96 −61 Original line number Diff line number Diff line Loading @@ -410,15 +410,16 @@ AC_MSG_CHECKING("if we should use 'skip-locking' as default for $target_os") if expr "$target_os" : "[[Ll]]inux.*" > /dev/null then MYSQLD_DEFAULT_SWITCHES="--skip-locking" IS_LINUX="true" AC_MSG_RESULT("yes"); TARGET_LINUX="true" AC_MSG_RESULT("yes") AC_DEFINE([TARGET_OS_LINUX], [1], [Whether we build for Linux]) else MYSQLD_DEFAULT_SWITCHES="" IS_LINUX="false" AC_MSG_RESULT("no"); TARGET_LINUX="false" AC_MSG_RESULT("no") fi AC_SUBST(MYSQLD_DEFAULT_SWITCHES) AC_SUBST(IS_LINUX) AC_SUBST(TARGET_LINUX) dnl Find paths to some shell programs AC_PATH_PROG(LN, ln, ln) Loading Loading @@ -607,7 +608,7 @@ AC_SUBST(NOINST_LDFLAGS) # (this is true on the MySQL build machines to avoid NSS problems) # if test "$IS_LINUX" = "true" -a "$static_nss" = "" if test "$TARGET_LINUX" = "true" -a "$static_nss" = "" then tmp=`nm /usr/lib/libc.a | grep _nss_files_getaliasent_r` if test -n "$tmp" Loading Loading @@ -841,7 +842,7 @@ struct request_info *req; ]) AC_SUBST(WRAPLIBS) if test "$IS_LINUX" = "true"; then if test "$TARGET_LINUX" = "true"; then AC_MSG_CHECKING([for atomic operations]) atom_ops= Loading Loading @@ -885,7 +886,7 @@ int main() [ USE_PSTACK=no ]) pstack_libs= pstack_dirs= if test "$USE_PSTACK" = yes -a "$IS_LINUX" = "true" -a "$BASE_MACHINE_TYPE" = "i386" -a "$with_mit_threads" = "no" if test "$USE_PSTACK" = yes -a "$TARGET_LINUX" = "true" -a "$BASE_MACHINE_TYPE" = "i386" -a "$with_mit_threads" = "no" then have_libiberty= have_libbfd= my_save_LIBS="$LIBS" Loading Loading @@ -1266,11 +1267,36 @@ esac # We have to check libc last because else it fails on Solaris 2.6 with_posix_threads="no" # Hack for DEC-UNIX (OSF1) # Search thread lib on Linux if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no" then AC_MSG_CHECKING("Linux threads") if test "$TARGET_LINUX" = "true" then AC_MSG_RESULT("starting") # use getconf to check glibc contents AC_MSG_CHECKING("getconf GNU_LIBPTHREAD_VERSION") case `getconf GNU_LIBPTHREAD_VERSION | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` in NPTL* ) AC_MSG_RESULT("NPTL") AC_DEFINE([HAVE_NPTL], [1], [NPTL threads implementation]) with_named_thread="-lpthread" ;; LINUXTHREADS* ) AC_MSG_RESULT("Linuxthreads") AC_DEFINE([HAVE_LINUXTHREADS], [1], [Whether we are using Xavier Leroy's LinuxThreads]) with_named_thread="-lpthread" ;; * ) AC_MSG_RESULT("unknown") ;; esac if test "$with_named_thread" = "no" then # old method, check headers # Look for LinuxThreads. AC_MSG_CHECKING("LinuxThreads") AC_MSG_CHECKING("LinuxThreads in header file comment") res=`grep Linuxthreads /usr/include/pthread.h 2>/dev/null | wc -l` if test "$res" -gt 0 then Loading @@ -1286,41 +1312,48 @@ then else AC_MSG_RESULT("Not found") # If this is a linux machine we should barf if test "$IS_LINUX" = "true" then AC_MSG_ERROR([This is a linux system and Linuxthreads was not found. On linux Linuxthreads should be used. Please install Linuxthreads (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) AC_MSG_ERROR([This is a Linux system without a working getconf, and Linuxthreads was not found. Please install it (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) fi else AC_MSG_CHECKING("DEC threads") AC_MSG_RESULT("no need to check headers") fi AC_MSG_CHECKING("for pthread_create in -lpthread"); ac_save_LIBS="$LIBS" LIBS="$LIBS -lpthread" AC_TRY_LINK( [#include <pthread.h>], [ (void) pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ], AC_MSG_RESULT("yes"), [ AC_MSG_RESULT("no") AC_MSG_ERROR([ This is a Linux system claiming to support threads, either Linuxthreads or NPTL, but linking a test program failed. Please install one of these (or a new glibc) and try again. See the Installation chapter in the Reference Manual for more information.]) ] ) LIBS="$ac_save_LIBS" else AC_MSG_RESULT("no") fi # "$TARGET_LINUX" fi # "$with_named_thread" = "no" -a "$with_mit_threads" = "no" # Hack for DEC-UNIX (OSF1 -> Tru64) if test "$with_named_thread" = "no" -a "$with_mit_threads" = "no" then AC_MSG_CHECKING("DEC threads post OSF/1 3.2") if test -f /usr/shlib/libpthread.so -a -f /usr/lib/libmach.a -a -f /usr/ccs/lib/cmplrs/cc/libexc.a then with_named_thread="-lpthread -lmach -lexc" CFLAGS="$CFLAGS -D_REENTRANT" CXXFLAGS="$CXXFLAGS -D_REENTRANT" AC_DEFINE(HAVE_DEC_THREADS, [1], [Whether we are using DEC threads]) AC_DEFINE(HAVE_DEC_THREADS, [1], [Whether we are using DEC threads]) AC_MSG_RESULT("yes") else AC_MSG_RESULT("no") AC_MSG_CHECKING("DEC 3.2 threads") if test -f /usr/shlib/libpthreads.so -a -f /usr/lib/libmach.a -a -f /usr/ccs/lib/cmplrs/cc/libexc.a then with_named_thread="-lpthreads -lmach -lc_r" AC_DEFINE(HAVE_DEC_THREADS, [1]) AC_DEFINE([HAVE_DEC_3_2_THREADS], [1], [Whether we are using OSF1 DEC threads on 3.2]) with_osf32_threads="yes" MYSQLD_DEFAULT_SWITCHES="--skip-thread-priority" AC_MSG_RESULT("yes") else AC_MSG_RESULT("no") fi fi fi fi fi fi # DEC threads fi # "$with_named_thread" = "no" -a "$with_mit_threads" = "no" dnl This is needed because -lsocket has to come after the thread Loading Loading @@ -1738,7 +1771,7 @@ fi AC_SUBST(COMPILATION_COMMENT) AC_MSG_CHECKING("need of special linking flags") if test "$IS_LINUX" = "true" -a "$ac_cv_prog_gcc" = "yes" -a "$all_is_static" != "yes" if test "$TARGET_LINUX" = "true" -a "$ac_cv_prog_gcc" = "yes" -a "$all_is_static" != "yes" then LDFLAGS="$LDFLAGS -rdynamic" AC_MSG_RESULT("-rdynamic") Loading Loading @@ -1795,6 +1828,8 @@ AC_C_BIGENDIAN MYSQL_TYPE_ACCEPT #---END: # Figure out what type of struct rlimit to use with setrlimit MYSQL_TYPE_STRUCT_RLIMIT # Find where the stack goes MYSQL_STACK_DIRECTION # We want to skip alloca on irix unconditionally. It may work on some version.. Loading Loading @@ -1955,7 +1990,7 @@ CFLAGS="$ORG_CFLAGS" # Sanity check: We chould not have any fseeko symbol unless # large_file_support=yes AC_CHECK_FUNC(fseeko, [if test "$large_file_support" = no -a "$IS_LINUX" = "true"; [if test "$large_file_support" = no -a "$TARGET_LINUX" = "true"; then AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!"); fi] Loading
include/my_global.h +5 −4 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ /* Fix problem with S_ISLNK() on Linux */ #if defined(HAVE_LINUXTHREADS) #if defined(TARGET_OS_LINUX) #undef _GNU_SOURCE #define _GNU_SOURCE 1 #endif Loading @@ -107,6 +107,7 @@ #undef THREAD #undef HAVE_mit_thread #undef HAVE_LINUXTHREADS #undef HAVE_NPTL #undef HAVE_UNIXWARE7_THREADS #endif Loading Loading @@ -214,13 +215,13 @@ C_MODE_START int __cxa_pure_virtual() {\ #endif /* In Linux-alpha we have atomic.h if we are using gcc */ #if defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && defined(__alpha__) && (__GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 95)) && !defined(HAVE_ATOMIC_ADD) #if defined(TARGET_OS_LINUX) && defined(__GNUC__) && defined(__alpha__) && (__GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 95)) && !defined(HAVE_ATOMIC_ADD) #define HAVE_ATOMIC_ADD #define HAVE_ATOMIC_SUB #endif /* In Linux-ia64 including atomic.h will give us an error */ #if (defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && (defined(__ia64__)||defined(__powerpc64__))) || !defined(THREAD) #if (defined(TARGET_OS_LINUX) && defined(__GNUC__) && (defined(__ia64__)||defined(__powerpc64__))) || !defined(THREAD) #undef HAVE_ATOMIC_ADD #undef HAVE_ATOMIC_SUB #endif Loading Loading @@ -755,7 +756,7 @@ typedef unsigned long uint32; /* Short for unsigned integer >= 32 bits */ error "Neither int or long is of 4 bytes width" #endif #if !defined(HAVE_ULONG) && !defined(HAVE_LINUXTHREADS) && !defined(__USE_MISC) #if !defined(HAVE_ULONG) && !defined(TARGET_OS_LINUX) && !defined(__USE_MISC) typedef unsigned long ulong; /* Short for unsigned long */ #endif #ifndef longlong_defined Loading
innobase/dict/dict0dict.c +11 −1 Original line number Diff line number Diff line Loading @@ -197,6 +197,16 @@ FILE* dict_foreign_err_file = NULL; mutex_t dict_foreign_err_mutex; /* mutex protecting the foreign and unique error buffers */ /********************************************************************** Makes all characters in a NUL-terminated UTF-8 string lower case. */ void dict_casedn_str( /*============*/ char* a) /* in/out: string to put in lower case */ { innobase_casedn_str(a); } /************************************************************************ Checks if the database name in two table names is the same. */ Loading
innobase/fil/fil0fil.c +9 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ Created 10/25/1995 Heikki Tuuri #include "srv0start.h" #include "mtr0mtr.h" #include "mtr0log.h" #include "dict0dict.h" /* Loading Loading @@ -2732,7 +2733,15 @@ fil_load_single_table_tablespace( sprintf(filepath, "%s/%s/%s", fil_path_to_mysql_datadir, dbname, filename); srv_normalize_path_for_win(filepath); #ifdef __WIN__ /* If lower_case_table_names is 0 or 2, then MySQL allows database directory names with upper case letters. On Windows, all table and database names in InnoDB are internally always in lower case. Put the file path to lower case, so that we are consistent with InnoDB's internal data dictionary. */ dict_casedn_str(filepath); #endif file = os_file_create_simple_no_error_handling(filepath, OS_FILE_OPEN, OS_FILE_READ_ONLY, &success); if (!success) { Loading