Fixed gethostname_r tests to be more portable
This commit is contained in:
parent
336019a559
commit
e05df20dc5
@ -14,7 +14,8 @@ fi
|
||||
|
||||
$make $AM_MAKEFLAGS
|
||||
if [ "x$strip" = "xyes" ]; then
|
||||
nm --numeric-sort sql/mysqld > mysqld.sym
|
||||
objdump -d sql/mysqld > mysqld.S
|
||||
mkdir -p tmp
|
||||
nm --numeric-sort sql/mysqld > tmp/mysqld.sym
|
||||
objdump -d sql/mysqld > tmp/mysqld.S
|
||||
strip sql/mysqld
|
||||
fi
|
||||
|
@ -18274,6 +18274,9 @@ exist.
|
||||
@code{RESTRICT} and @code{CASCADE} are allowed to make porting easier.
|
||||
For the moment they don't do anything.
|
||||
|
||||
@strong{NOTE}: @code{DROP TABLE} is not transaction safe and will
|
||||
automaticly commit any active transactions.
|
||||
|
||||
@cindex tables, defragment
|
||||
@cindex tables, fragmentation
|
||||
@findex OPTIMIZE TABLE
|
||||
@ -21276,6 +21279,9 @@ You can also lock all tables in all databases with read locks with the
|
||||
convinient way to get backups if you have a file system, like Veritas,
|
||||
that can take snapshots in time.
|
||||
|
||||
@strong{NOTE}: @code{LOCK TABLES} is not transaction safe and will
|
||||
automaticly commit any active transactions before attempting to lock the
|
||||
tables.
|
||||
|
||||
@findex SET OPTION
|
||||
@node SET OPTION, GRANT, LOCK TABLES, Reference
|
||||
@ -40018,6 +40024,8 @@ though, so Version 3.23 is not released as a stable version yet.
|
||||
@appendixsubsec Changes in release 3.23.30
|
||||
@itemize @bullet
|
||||
@item
|
||||
@code{LOCK TABLES} will now automaticly start a new transaction.
|
||||
@item
|
||||
Changed BDB tables to not use internal subtransactions and reuse open files to
|
||||
get more speed.
|
||||
@item
|
||||
|
@ -68,12 +68,12 @@
|
||||
/* READLINE: */
|
||||
#undef HAVE_GETPW_DECLS
|
||||
|
||||
/* In OSF 4.0f the 3'd argument to gethostname_r is hostent_data * */
|
||||
#undef HAVE_GETHOSTBYNAME_R_WITH_HOSTENT_DATA
|
||||
|
||||
/* Solaris define gethostbyname_r with 5 arguments. glibc2 defines
|
||||
this with 6 arguments */
|
||||
#undef HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R
|
||||
#undef HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE
|
||||
|
||||
/* In OSF 4.0f the 3'd argument to gethostname_r is hostent_data * */
|
||||
#undef HAVE_GETHOSTBYNAME_R_RETURN_INT
|
||||
|
||||
/* Define if int8, int16 and int32 types exist */
|
||||
#undef HAVE_INT_8_16_32
|
||||
|
@ -728,11 +728,6 @@ case $SYSTEM_TYPE in
|
||||
fi
|
||||
CXXFLAGS="-D_BOOL"
|
||||
;;
|
||||
*dec-osf4*)
|
||||
echo "Adding fix to not use gethostbyname_r"
|
||||
CFLAGS="$CFLAGS -DUNDEF_HAVE_GETHOSTBYNAME_R"
|
||||
CXXFLAGS="$CXXFLAGS -DUNDEF_HAVE_GETHOSTBYNAME_R"
|
||||
;;
|
||||
*aix4.3*)
|
||||
echo "Adding defines for AIX"
|
||||
CFLAGS="$CFLAGS -Wa,-many -DUNDEF_HAVE_INITGROUPS"
|
||||
@ -1341,7 +1336,7 @@ AC_LANG_RESTORE
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
if test "$mysql_cv_gethostname_style" = "glibc2"
|
||||
then
|
||||
AC_DEFINE(HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R)
|
||||
AC_DEFINE(HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE)
|
||||
fi
|
||||
|
||||
# Check 3rd argument of getthostbyname_r
|
||||
@ -1371,7 +1366,7 @@ AC_LANG_RESTORE
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
if test "$mysql_cv_gethostname_arg" = "hostent_data"
|
||||
then
|
||||
AC_DEFINE(HAVE_GETHOSTBYNAME_R_WITH_HOSTENT_DATA)
|
||||
AC_DEFINE(HAVE_GETHOSTBYNAME_R_RETURN_INT)
|
||||
fi
|
||||
|
||||
|
||||
|
@ -234,7 +234,7 @@ extern int my_pthread_create_detached;
|
||||
#define HAVE_LOCALTIME_R
|
||||
#undef HAVE_PTHREAD_ATTR_SETSCOPE
|
||||
#define HAVE_PTHREAD_ATTR_SETSCOPE
|
||||
#undef HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R /* If we are running linux */
|
||||
#undef HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE /* If we are running linux */
|
||||
#undef HAVE_RWLOCK_T
|
||||
#undef HAVE_RWLOCK_INIT
|
||||
#undef HAVE_PTHREAD_RWLOCK_RDLOCK
|
||||
@ -378,28 +378,30 @@ struct tm *localtime_r(const time_t *clock, struct tm *res);
|
||||
#define HAVE_PTHREAD_KILL
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_PTHREAD_ATTR_CREATE) || defined(_AIX) || defined(HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R)
|
||||
#if defined(HAVE_PTHREAD_ATTR_CREATE) || defined(_AIX) || defined(HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE)
|
||||
#if !defined(HPUX)
|
||||
struct hostent;
|
||||
#endif /* HPUX */
|
||||
struct hostent *my_gethostbyname_r(const char *name,
|
||||
struct hostent *result, char *buffer,
|
||||
int buflen, int *h_errnop);
|
||||
#if defined(HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R)
|
||||
#if defined(HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE)
|
||||
#define GETHOSTBYNAME_BUFF_SIZE 2048
|
||||
#else
|
||||
#define GETHOSTBYNAME_BUFF_SIZE sizeof(struct hostent_data)
|
||||
#endif /* defined(HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R) */
|
||||
#endif /* defined(HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE) */
|
||||
|
||||
#else
|
||||
#ifdef HAVE_GETHOSTBYNAME_R_WITH_HOSTENT_DATA
|
||||
#ifdef HAVE_GETHOSTBYNAME_R_RETURN_INT
|
||||
#define GETHOSTBYNAME_BUFF_SIZE sizeof(struct hostent_data)
|
||||
#define my_gethostbyname_r(A,B,C,D,E) gethostbyname_r((A),(B),(struct hostent_data*) (C))
|
||||
struct hostent *my_gethostbyname_r(const char *name,
|
||||
struct hostent *result, char *buffer,
|
||||
int buflen, int *h_errnop);
|
||||
#else
|
||||
#define GETHOSTBYNAME_BUFF_SIZE 2048
|
||||
#define my_gethostbyname_r(A,B,C,D,E) gethostbyname_r((A),(B),(C),(D),(E))
|
||||
#endif /* HAVE_GETHOSTBYNAME_R_WITH_HOSTENT_DATA */
|
||||
#endif /* defined(HAVE_PTHREAD_ATTR_CREATE) || defined(_AIX) || defined(HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R) */
|
||||
#endif /* HAVE_GETHOSTBYNAME_R_RETURN_INT */
|
||||
#endif /* defined(HAVE_PTHREAD_ATTR_CREATE) || defined(_AIX) || defined(HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE) */
|
||||
|
||||
#endif /* defined(__WIN__) */
|
||||
|
||||
|
@ -90,9 +90,6 @@ length(repeat("a",65500)) length(concat(repeat("a",32000),repeat("a",32000))) le
|
||||
65500 64000 50000 60000
|
||||
length(repeat("a",1000000)) length(concat(repeat("a",32000),repeat("a",32000),repeat("a",32000))) length(replace("aaaaa","a",concat(repeat("a",32000)))) length(insert(repeat("a",48000),1,1000,repeat("a",48000)))
|
||||
1000000 96000 160000 95000
|
||||
Date Unix
|
||||
1998-9-16 09:26:00 905927160
|
||||
1998-9-16 09:26:00 905927160
|
||||
domain
|
||||
hello.de
|
||||
domain
|
||||
|
3
mysql-test/r/func_timestamp.result
Normal file
3
mysql-test/r/func_timestamp.result
Normal file
@ -0,0 +1,3 @@
|
||||
Date Unix
|
||||
1998-9-16 09:26:00 905927160
|
||||
1998-9-16 09:26:00 905927160
|
@ -64,15 +64,6 @@ select length(repeat("a",1000000)),length(concat(repeat("a",32000),repeat("a",32
|
||||
# Problem med concat
|
||||
#
|
||||
|
||||
drop table if exists t1;
|
||||
create table t1 (Zeit time, Tag tinyint not null, Monat tinyint not null, Jahr smallint not null, index(Tag), index(Monat), index(Jahr) );
|
||||
insert into t1 values ("09:26:00",16,9,1998);
|
||||
insert into t1 values ("09:26:00",16,9,1998);
|
||||
SELECT CONCAT(Jahr,'-',Monat,'-',Tag,' ',Zeit) AS Date,
|
||||
UNIX_TIMESTAMP(CONCAT(Jahr,'-',Monat,'-',Tag,' ',Zeit)) AS Unix
|
||||
FROM t1;
|
||||
drop table t1;
|
||||
|
||||
create table t1 ( domain char(50) );
|
||||
insert into t1 VALUES ("hello.de" ), ("test.de" );
|
||||
select domain from t1 where concat('@', trim(leading '.' from concat('.', domain))) = '@hello.de';
|
||||
|
12
mysql-test/t/func_timestamp.test
Normal file
12
mysql-test/t/func_timestamp.test
Normal file
@ -0,0 +1,12 @@
|
||||
#
|
||||
# Tests that depend on the timestamp and the TZ variable
|
||||
#
|
||||
|
||||
drop table if exists t1;
|
||||
create table t1 (Zeit time, Tag tinyint not null, Monat tinyint not null,
|
||||
Jahr smallint not null, index(Tag), index(Monat), index(Jahr) );
|
||||
insert into t1 values ("09:26:00",16,9,1998),("09:26:00",16,9,1998);
|
||||
SELECT CONCAT(Jahr,'-',Monat,'-',Tag,' ',Zeit) AS Date,
|
||||
UNIX_TIMESTAMP(CONCAT(Jahr,'-',Monat,'-',Tag,' ',Zeit)) AS Unix
|
||||
FROM t1;
|
||||
drop table t1;
|
@ -74,7 +74,7 @@ select distinct i from t1;
|
||||
select distinct i from t1 order by rand(5);
|
||||
select distinct i from t1 order by i desc;
|
||||
select distinct i from t1 order by 1-i;
|
||||
select distinct i from t1 order by mod(i,2);
|
||||
select distinct i from t1 order by mod(i,2),i;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
|
@ -417,7 +417,7 @@ int my_pthread_cond_init(pthread_cond_t *mp, const pthread_condattr_t *attr)
|
||||
|
||||
#if !defined(my_gethostbyname_r) && defined(HAVE_GETHOSTBYNAME_R)
|
||||
|
||||
#if defined(HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R)
|
||||
#if defined(HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE)
|
||||
|
||||
struct hostent *my_gethostbyname_r(const char *name,
|
||||
struct hostent *result, char *buffer,
|
||||
@ -430,7 +430,7 @@ struct hostent *my_gethostbyname_r(const char *name,
|
||||
return hp;
|
||||
}
|
||||
|
||||
#elif defined(_HPUX_SOURCE) || (defined(_AIX) && !defined(_AIX32_THREADS))
|
||||
#elif defined(HAVE_GETHOSTBYNAME_R_RETURN_INT)
|
||||
|
||||
struct hostent *my_gethostbyname_r(const char *name,
|
||||
struct hostent *result, char *buffer,
|
||||
|
@ -1652,7 +1652,7 @@ mysql_execute_command(void)
|
||||
thd->locked_tables=0; // Will be automaticly closed
|
||||
close_thread_tables(thd);
|
||||
}
|
||||
if (check_db_used(thd,tables))
|
||||
if (check_db_used(thd,tables) || end_active_trans(thd))
|
||||
goto error;
|
||||
thd->in_lock_tables=1;
|
||||
if (!(res=open_and_lock_tables(thd,tables)))
|
||||
|
Loading…
x
Reference in New Issue
Block a user