diff --git a/include/my_time.h b/include/my_time.h index 1212f0533e2..1c549ced6b0 100644 --- a/include/my_time.h +++ b/include/my_time.h @@ -28,6 +28,15 @@ C_MODE_START extern ulonglong log_10_int[20]; +/* + Portable time_t replacement. + Should be signed and hold seconds for 1902-2038 range. +*/ +typedef long my_time_t; + +#define MY_TIME_T_MAX LONG_MAX +#define MY_TIME_T_MIN LONG_MIN + #define YY_PART_YEAR 70 /* Flags to str_to_datetime */ diff --git a/include/mysql_time.h b/include/mysql_time.h index 32da27ba33e..ec67d60dea5 100644 --- a/include/mysql_time.h +++ b/include/mysql_time.h @@ -17,7 +17,14 @@ #ifndef _mysql_time_h_ #define _mysql_time_h_ -/* Time declarations shared between server and client library */ +/* + Time declarations shared between the server and client API: + you should not add anything to this header unless it's used + (and hence should be visible) in mysql.h. + If you're looking for a place to add new time-related declaration, + it's most likely my_time.h. See also "C API Handling of Date + and Time Values" chapter in documentation. +*/ enum enum_mysql_timestamp_type { @@ -34,13 +41,4 @@ typedef struct st_mysql_time enum enum_mysql_timestamp_type time_type; } MYSQL_TIME; - -/* - Portable time_t replacement. - Should be signed and hold seconds for 1902-2038 range. -*/ -typedef long my_time_t; -#define MY_TIME_T_MAX LONG_MAX -#define MY_TIME_T_MIN LONG_MIN - #endif /* _mysql_time_h_ */ diff --git a/sql/tztime.cc b/sql/tztime.cc index aab0d36b61e..2ed55f2fa4e 100644 --- a/sql/tztime.cc +++ b/sql/tztime.cc @@ -32,6 +32,7 @@ #include "mysql_priv.h" #else #include +#include #include "tztime.h" #include #endif diff --git a/sql/tztime.h b/sql/tztime.h index 9df5f965f34..69ff176326e 100644 --- a/sql/tztime.h +++ b/sql/tztime.h @@ -19,8 +19,6 @@ #pragma interface /* gcc class interface */ #endif -#include - #if !defined(TESTTIME) && !defined(TZINFO2SQL) /*