Commit a31406e3 authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi

Fix for Intel compiler (ecc)

Minor cleanups to other patches.
Make --temp-pool default
parent 40f8e028
...@@ -8168,6 +8168,9 @@ Renamed mysqld startup options @code{--skip-locking} to ...@@ -8168,6 +8168,9 @@ Renamed mysqld startup options @code{--skip-locking} to
@code{--skip-external-locking} and @code{--enable-locking} to @code{--skip-external-locking} and @code{--enable-locking} to
@code{--external-locking}. @code{--external-locking}.
@item @item
mysqld now has the option @code{--temp-pool} enabled by default as this
gives better performance with some OS.
@item
@code{DOUBLE} and @code{FLOAT} columns now honour the @code{DOUBLE} and @code{FLOAT} columns now honour the
@code{UNSIGNED} flag on storage (before, @code{UNSIGNED} was ignored for @code{UNSIGNED} flag on storage (before, @code{UNSIGNED} was ignored for
these columns). these columns).
...@@ -50132,6 +50135,10 @@ each individual 4.0.x release. ...@@ -50132,6 +50135,10 @@ each individual 4.0.x release.
@itemize @bullet @itemize @bullet
@item @item
mysqld now has the option @code{--temp-pool} enabled by default as this
gives better performance with some OS.
@item
@item
Fixed bug in @code{REVOKE} that caused user resources to be randomly set. Fixed bug in @code{REVOKE} that caused user resources to be randomly set.
@item @item
Fixed bug in @code{GRANT} for the new @code{CREATE TEMPORARY TABLE} privilege. Fixed bug in @code{GRANT} for the new @code{CREATE TEMPORARY TABLE} privilege.
...@@ -1554,6 +1554,17 @@ AC_SUBST(TERMCAP_LIB) ...@@ -1554,6 +1554,17 @@ AC_SUBST(TERMCAP_LIB)
######################################################################### #########################################################################
dnl Checks for library functions. dnl Checks for library functions.
#
# The following code disables intrinsic function support while we test for
# library functions. This is to avoid configure problems with Intel ecc
# compiler
ORG_CFLAGS="$CFLAGS"
if test "$GCC" != "yes"; then
AC_SYS_COMPILER_FLAG(-nolib_inline,nolib_inline,CFLAGS,[],[])
fi
AC_FUNC_MMAP AC_FUNC_MMAP
AC_TYPE_SIGNAL AC_TYPE_SIGNAL
MYSQL_TYPE_QSORT MYSQL_TYPE_QSORT
...@@ -1576,6 +1587,8 @@ AC_CHECK_FUNCS(alarm bmove \ ...@@ -1576,6 +1587,8 @@ AC_CHECK_FUNCS(alarm bmove \
pthread_condattr_create rwlock_init pthread_rwlock_rdlock \ pthread_condattr_create rwlock_init pthread_rwlock_rdlock \
fchmod getpass getpassphrase initgroups mlockall) fchmod getpass getpassphrase initgroups mlockall)
CFLAGS="$ORG_CFLAGS"
# Sanity check: We chould not have any fseeko symbol unless # Sanity check: We chould not have any fseeko symbol unless
# large_file_support=yes # large_file_support=yes
AC_CHECK_FUNCS(fseeko, AC_CHECK_FUNCS(fseeko,
......
...@@ -121,14 +121,6 @@ ...@@ -121,14 +121,6 @@
/* #define _AIX32_CURSES */ /* XXX: this breaks AIX 4.3.3 (others?). */ /* #define _AIX32_CURSES */ /* XXX: this breaks AIX 4.3.3 (others?). */
#endif #endif
#ifdef __QNXNTO__
#define HAVE_ERRNO_AS_DEFINE
#define HAVE_FCNTL_LOCK
#undef HAVE_SYS_UN_H
#undef HAVE_FINITE
#undef HAVE_RINT
#endif
#ifdef HAVE_BROKEN_SNPRINTF /* HPUX 10.20 don't have this defined */ #ifdef HAVE_BROKEN_SNPRINTF /* HPUX 10.20 don't have this defined */
#undef HAVE_SNPRINTF #undef HAVE_SNPRINTF
#endif #endif
...@@ -253,6 +245,17 @@ ...@@ -253,6 +245,17 @@
#define setrlimit cma_setrlimit64 #define setrlimit cma_setrlimit64
#endif #endif
#ifdef __QNXNTO__
/* This has to be after include limits.h */
#define HAVE_ERRNO_AS_DEFINE
#define HAVE_FCNTL_LOCK
#undef HAVE_SYS_UN_H
#undef HAVE_FINITE
#undef HAVE_RINT
#undef LONGLONG_MIN /* These get wrongly defined in QNX 6.2 */
#undef LONGLONG_MAX /* standard system library 'limits.h' */
#endif
/* We can not live without the following defines */ /* We can not live without the following defines */
#define USE_MYFUNC 1 /* Must use syscall indirection */ #define USE_MYFUNC 1 /* Must use syscall indirection */
...@@ -548,11 +551,6 @@ extern double my_atof(const char*); ...@@ -548,11 +551,6 @@ extern double my_atof(const char*);
#define HAVE_LONG_LONG 1 #define HAVE_LONG_LONG 1
#endif #endif
#ifdef __QNXNTO__
#undef LONGLONG_MIN /* These get wrongly defined in QNX 6.2 */
#undef LONGLONG_MAX /* standard system library 'limits.h' */
#endif
#if defined(HAVE_LONG_LONG) && !defined(LONGLONG_MIN) #if defined(HAVE_LONG_LONG) && !defined(LONGLONG_MIN)
#define LONGLONG_MIN ((long long) 0x8000000000000000LL) #define LONGLONG_MIN ((long long) 0x8000000000000000LL)
#define LONGLONG_MAX ((long long) 0x7FFFFFFFFFFFFFFFLL) #define LONGLONG_MAX ((long long) 0x7FFFFFFFFFFFFFFFLL)
......
...@@ -430,8 +430,9 @@ struct tm *localtime_r(const time_t *clock, struct tm *res); ...@@ -430,8 +430,9 @@ struct tm *localtime_r(const time_t *clock, struct tm *res);
#if defined(HPUX) && !defined(DONT_REMAP_PTHREAD_FUNCTIONS) #if defined(HPUX) && !defined(DONT_REMAP_PTHREAD_FUNCTIONS)
#undef pthread_cond_timedwait #undef pthread_cond_timedwait
#undef pthread_mutex_trylock
#define pthread_cond_timedwait(a,b,c) my_pthread_cond_timedwait((a),(b),(c)) #define pthread_cond_timedwait(a,b,c) my_pthread_cond_timedwait((a),(b),(c))
#define pthread_mutex_trylock(a) my_pthread_mutex_trylock((a)) #define pthread_mutex_trylock(a) my_pthread_mutex_trylock((a))
int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
struct timespec *abstime); struct timespec *abstime);
int my_pthread_mutex_trylock(pthread_mutex_t *mutex); int my_pthread_mutex_trylock(pthread_mutex_t *mutex);
......
...@@ -35,8 +35,6 @@ C_MODE_START ...@@ -35,8 +35,6 @@ C_MODE_START
#ifdef HAVE_SEMAPHORE_H #ifdef HAVE_SEMAPHORE_H
#include <semaphore.h> #include <semaphore.h>
#elif defined(__bsdi__) #elif defined(__bsdi__)
#include <sys/errno.h>
#else
#ifdef __WIN__ #ifdef __WIN__
typedef HANDLE sem_t; typedef HANDLE sem_t;
#else #else
...@@ -45,7 +43,7 @@ typedef struct { ...@@ -45,7 +43,7 @@ typedef struct {
pthread_cond_t cond; pthread_cond_t cond;
uint count; uint count;
} sem_t; } sem_t;
#endif #endif /* __WIN__ */
int sem_init(sem_t * sem, int pshared, unsigned int value); int sem_init(sem_t * sem, int pshared, unsigned int value);
int sem_destroy(sem_t * sem); int sem_destroy(sem_t * sem);
...@@ -55,7 +53,7 @@ int sem_post(sem_t * sem); ...@@ -55,7 +53,7 @@ int sem_post(sem_t * sem);
int sem_post_multiple(sem_t * sem, unsigned int count); int sem_post_multiple(sem_t * sem, unsigned int count);
int sem_getvalue(sem_t * sem, unsigned int * sval); int sem_getvalue(sem_t * sem, unsigned int * sval);
#endif #endif /* !__bsdi__ */
C_MODE_END C_MODE_END
#endif /* !_my_semaphore_h_ */ #endif /* !_my_semaphore_h_ */
...@@ -438,6 +438,12 @@ int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, ...@@ -438,6 +438,12 @@ int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
#ifdef HPUX #ifdef HPUX
/*
In HP-UX-10.20 and other old Posix 1003.4a Draft 4 implementations
pthread_mutex_trylock returns 1 on success, not 0 like
pthread_mutex_lock
*/
int my_pthread_mutex_trylock(pthread_mutex_t *mutex) int my_pthread_mutex_trylock(pthread_mutex_t *mutex)
{ {
int error=pthread_mutex_trylock(mutex); int error=pthread_mutex_trylock(mutex);
...@@ -447,9 +453,9 @@ int my_pthread_mutex_trylock(pthread_mutex_t *mutex) ...@@ -447,9 +453,9 @@ int my_pthread_mutex_trylock(pthread_mutex_t *mutex)
error=errno; error=errno;
return error; return error;
} }
#endif #endif
/* Some help functions */ /* Some help functions */
int pthread_no_free(void *not_used __attribute__((unused))) int pthread_no_free(void *not_used __attribute__((unused)))
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include <my_global.h> #include <my_global.h>
#include <my_semaphore.h> #include <my_semaphore.h>
#include <errno.h>
#if !defined(__WIN__) && !defined(HAVE_SEMAPHORE_H) #if !defined(__WIN__) && !defined(HAVE_SEMAPHORE_H)
......
...@@ -3251,8 +3251,8 @@ struct my_option my_long_options[] = ...@@ -3251,8 +3251,8 @@ struct my_option my_long_options[] =
#endif #endif
{"temp-pool", OPT_TEMP_POOL, {"temp-pool", OPT_TEMP_POOL,
"Using this option will cause most temporary files created to use a small set of names, rather than a unique name for each new file.", "Using this option will cause most temporary files created to use a small set of names, rather than a unique name for each new file.",
(gptr*) &use_temp_pool, (gptr*) &use_temp_pool, 0, GET_BOOL, NO_ARG, 0, 0, (gptr*) &use_temp_pool, (gptr*) &use_temp_pool, 0, GET_BOOL, NO_ARG, 1,
0, 0, 0, 0}, 0, 0, 0, 0, 0},
{"tmpdir", 't', "Path for temporary files", (gptr*) &opt_mysql_tmpdir, {"tmpdir", 't', "Path for temporary files", (gptr*) &opt_mysql_tmpdir,
(gptr*) &opt_mysql_tmpdir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, (gptr*) &opt_mysql_tmpdir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"transaction-isolation", OPT_TX_ISOLATION, {"transaction-isolation", OPT_TX_ISOLATION,
......
...@@ -1476,7 +1476,7 @@ mysql_execute_command(void) ...@@ -1476,7 +1476,7 @@ mysql_execute_command(void)
/* Check that the first table has CREATE privilege */ /* Check that the first table has CREATE privilege */
TABLE_LIST *tmp_table_list=tables->next; TABLE_LIST *tmp_table_list=tables->next;
tables->next=0; tables->next=0;
bool error=check_grant(thd,CREATE_ACL,tables); bool error=check_grant(thd, want_priv, tables);
tables->next=tmp_table_list; tables->next=tmp_table_list;
if (error) if (error)
goto error; goto error;
......
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