summaryrefslogtreecommitdiff
path: root/sql-common/my_time.c
diff options
context:
space:
mode:
authorunknown <monty@mishka.local>2005-07-31 12:49:55 +0300
committerunknown <monty@mishka.local>2005-07-31 12:49:55 +0300
commit6b3478ec1248825122f837411704ab387651b715 (patch)
treec4df327e7bc6c594e03c6454dddbc63a93203c6a /sql-common/my_time.c
parent90b2daa7133cfab02017ff9ffc44d5e8089c0c31 (diff)
downloadmariadb-git-6b3478ec1248825122f837411704ab387651b715.tar.gz
Fixes during review of new pushed code
Change bool in C code to my_bool Added to mysqltest --enable_parsning and --disable_parsing to avoid to have to comment parts of tests Added comparison of LEX_STRING's and use this to compare file types for view and trigger files. client/client_priv.h: Added OPT_TRIGGERS (to get rid of compiler warning) client/mysql.cc: Added cast to get rid of compiler warning client/mysqldump.c: Added OPT_TRIGGERS (to get rid of compiler warning) Abort if we can't write to outfile (even if --ignore-errors is given) client/mysqltest.c: Added --enable_parsning and --disable_parsing to avoid to have to comment parts of tests include/my_sys.h: Make my_progname const include/my_time.h: Avoid using 'bool' in C programs mysql-test/lib/init_db.sql: Align with mysql_create_system_tables (Ideally this file should be auto-generated from the above script) mysql-test/r/mysqltest.result: Test for --enable_parsing mysql-test/r/variables.result: Update results after fix for overflow checking of max_heap_table_size mysql-test/t/information_schema.test: USe --enable/disable parsing instead of comments mysql-test/t/mysqltest.test: Test for --enable_parsing mysql-test/t/sp.test: USe --enable/disable parsing instead of comments mysql-test/t/variables.test: Portability fix for 64 bit systems mysql-test/t/view.test: USe --enable/disable parsing instead of comments mysys/my_init.c: May my_progname const mysys/my_static.c: May my_progname const mysys/thr_lock.c: Remove not needed casts sql-common/my_time.c: Change bool -> my_bool as bool is not portable in C programs sql/field.cc: Test number_to_datetime() for -1 instead of < 0 (Safety fix) New prototype for TIME_to_timestamp() sql/item.h: Don't have prototypes for both uint32 and ulong as these 'may' be the same thing sql/item_timefunc.cc: New prototype for TIME_to_timestamp() sql/log.cc: Remove compiler warnings sql/mysql_priv.h: New prototype for TIME_to_timestamp() Added function for comparing LEX_STRING sql/set_var.cc: Added overflow checking when setting ulong variable sql/sql_base.cc: Added function is_equal() Changed strncmp -> is_equal() as strncmp() to not match "V" (instead of "VIEW") sql/sql_class.cc: Added comment sql/sql_select.cc: Portability fixes After review fixes sql/sql_trigger.cc: Use 'tables_alias_charset' for comparing database name Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly) sql/sql_view.cc: Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly) sql/time.cc: New prototype for TIME_to_timestamp() to allow easyer mapping to C function sql/tztime.cc: bool -> my_bool (to allow calling C code from C++ code) sql/tztime.h: bool -> my_bool (to allow calling C code from C++ code)
Diffstat (limited to 'sql-common/my_time.c')
-rw-r--r--sql-common/my_time.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/sql-common/my_time.c b/sql-common/my_time.c
index c00c0e7be83..ed02021011b 100644
--- a/sql-common/my_time.c
+++ b/sql-common/my_time.c
@@ -60,11 +60,11 @@ uint calc_days_in_year(uint year)
SYNOPSIS
check_date()
- ltime - Date to check.
- not_zero_date - ltime is not the zero date
- flags - flags to check
- was_cut - set to whether the value was truncated
-
+ ltime Date to check.
+ not_zero_date ltime is not the zero date
+ flags flags to check
+ was_cut set to 2 if value was truncated.
+ NOTE: This is not touched if value was not truncated
NOTES
Here we assume that year and month is ok !
If month is 0 we allow any date. (This only happens if we allow zero
@@ -75,10 +75,9 @@ uint calc_days_in_year(uint year)
1 error
*/
-bool check_date(const MYSQL_TIME *ltime, bool not_zero_date, ulong flags,
- int *was_cut)
+static my_bool check_date(const MYSQL_TIME *ltime, my_bool not_zero_date,
+ ulong flags, int *was_cut)
{
-
if (not_zero_date)
{
if ((((flags & TIME_NO_ZERO_IN_DATE) || !(flags & TIME_FUZZY_DATE)) &&
@@ -165,11 +164,11 @@ str_to_datetime(const char *str, uint length, MYSQL_TIME *l_time,
uint date[MAX_DATE_PARTS], date_len[MAX_DATE_PARTS];
uint add_hours= 0, start_loop;
ulong not_zero_date, allow_space;
- bool is_internal_format;
+ my_bool is_internal_format;
const char *pos, *last_field_pos;
const char *end=str+length;
const uchar *format_position;
- bool found_delimitier= 0, found_space= 0;
+ my_bool found_delimitier= 0, found_space= 0;
uint frac_pos, frac_len;
DBUG_ENTER("str_to_datetime");
DBUG_PRINT("ENTER",("str: %.*s",length,str));
@@ -472,12 +471,12 @@ err:
1 error
*/
-bool str_to_time(const char *str, uint length, MYSQL_TIME *l_time,
- int *was_cut)
+my_bool str_to_time(const char *str, uint length, MYSQL_TIME *l_time,
+ int *was_cut)
{
long date[5],value;
const char *end=str+length, *end_of_days;
- bool found_days,found_hours;
+ my_bool found_days,found_hours;
uint state;
l_time->neg=0;
@@ -644,7 +643,7 @@ void init_time(void)
time_t seconds;
struct tm *l_time,tm_tmp;
MYSQL_TIME my_time;
- bool not_used;
+ my_bool not_used;
seconds= (time_t) time((time_t*) 0);
localtime_r(&seconds,&tm_tmp);
@@ -710,7 +709,8 @@ long calc_daynr(uint year,uint month,uint day)
Time in UTC seconds since Unix Epoch representation.
*/
my_time_t
-my_system_gmt_sec(const MYSQL_TIME *t, long *my_timezone, bool *in_dst_time_gap)
+my_system_gmt_sec(const MYSQL_TIME *t, long *my_timezone,
+ my_bool *in_dst_time_gap)
{
uint loop;
time_t tmp;
@@ -961,11 +961,10 @@ longlong number_to_datetime(longlong nr, MYSQL_TIME *time_res,
return nr;
/* Don't want to have was_cut get set if NO_ZERO_DATE was violated. */
- if (!nr && flags & TIME_NO_ZERO_DATE)
+ if (!nr && (flags & TIME_NO_ZERO_DATE))
return LL(-1);
err:
-
*was_cut= 1;
return LL(-1);
}