1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Implemented UTC_TIME, UTC_DATE and UTC_TIMESTAMP functions (WL#345)

configure.in:
  ./configure now tests if gmtime_r is present
include/config-os2.h:
  Supposing that OS/2 have gmtime_r
include/my_pthread.h:
  Use our imeplementation of gmtime_r if system lacks one
mysql-test/r/func_time.result:
  Added UTC_* functions to test
mysql-test/t/func_time.test:
  Added UTC_* functions to test
mysys/my_pthread.c:
  Our implementation of gmtime_r
mysys/my_thr_init.c:
  Now we also need LOCK_locktime_r if gmtime_r is absent
sql/item_timefunc.cc:
  Generalized classes for CURDATE, CURTIME and NOW, abstracted them from
  timezone. Added new children classes for implementing these and UTC_*
  functions.
sql/item_timefunc.h:
  Generalized classes for CURDATE, CURTIME and NOW, abstracted them from
  timezone. Added new children classes for implementing these and UTC_*
  functions.
sql/lex.h:
  Added tokens for UTC_TIME, UTC_DATE and UTC_TIMESTAMP
sql/sql_yacc.yy:
  Added UTC_* functions to grammar. Current functions are using 
  classes now.
This commit is contained in:
unknown
2003-08-11 23:43:01 +04:00
parent e8da290b09
commit 2ad06dc68e
11 changed files with 260 additions and 58 deletions

View File

@ -100,6 +100,8 @@ int pthread_attr_setstacksize(pthread_attr_t *connect_att,DWORD stack);
int pthread_attr_setprio(pthread_attr_t *connect_att,int priority);
int pthread_attr_destroy(pthread_attr_t *connect_att);
struct tm *localtime_r(const time_t *timep,struct tm *tmp);
struct tm *gmtime_r(const time_t *timep,struct tm *tmp);
void pthread_exit(void *a); /* was #define pthread_exit(A) ExitThread(A)*/
@ -109,6 +111,7 @@ void pthread_exit(void *a); /* was #define pthread_exit(A) ExitThread(A)*/
#endif
#define pthread_self() win_pthread_self
#define HAVE_LOCALTIME_R 1
#define HAVE_GMTIME_R 1
#define _REENTRANT 1
#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
@ -276,6 +279,8 @@ extern int my_pthread_create_detached;
#define USE_ALARM_THREAD
#undef HAVE_LOCALTIME_R
#define HAVE_LOCALTIME_R
#undef HAVE_GMTIME_R
#define HAVE_GMTIME_R
#undef HAVE_PTHREAD_ATTR_SETSCOPE
#define HAVE_PTHREAD_ATTR_SETSCOPE
#undef HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE /* If we are running linux */
@ -376,6 +381,10 @@ void *my_pthread_getspecific_imp(pthread_key_t key);
struct tm *localtime_r(const time_t *clock, struct tm *res);
#endif
#ifndef HAVE_GMTIME_R
struct tm *gmtime_r(const time_t *clock, struct tm *res);
#endif
#ifdef HAVE_PTHREAD_CONDATTR_CREATE
/* DCE threads on HPUX 10.20 */
#define pthread_condattr_init pthread_condattr_create