Lines Matching refs:ltime

303 bool time_add_nanoseconds_with_round(MYSQL_TIME *ltime,  in time_add_nanoseconds_with_round()  argument
308 assert(!check_time_mmssff_range(ltime)); in time_add_nanoseconds_with_round()
313 ltime->second_part+= (nanoseconds + 500) / 1000; in time_add_nanoseconds_with_round()
314 if (ltime->second_part < 1000000) in time_add_nanoseconds_with_round()
317 ltime->second_part%= 1000000; in time_add_nanoseconds_with_round()
318 if (ltime->second < 59) in time_add_nanoseconds_with_round()
320 ltime->second++; in time_add_nanoseconds_with_round()
324 ltime->second= 0; in time_add_nanoseconds_with_round()
325 if (ltime->minute < 59) in time_add_nanoseconds_with_round()
327 ltime->minute++; in time_add_nanoseconds_with_round()
330 ltime->minute= 0; in time_add_nanoseconds_with_round()
331 ltime->hour++; in time_add_nanoseconds_with_round()
340 adjust_time_range(ltime, warnings); in time_add_nanoseconds_with_round()
353 bool datetime_add_nanoseconds_with_round(MYSQL_TIME *ltime, in datetime_add_nanoseconds_with_round() argument
360 ltime->second_part+= (nanoseconds + 500) / 1000; in datetime_add_nanoseconds_with_round()
361 if (ltime->second_part < 1000000) in datetime_add_nanoseconds_with_round()
364 ltime->second_part%= 1000000; in datetime_add_nanoseconds_with_round()
369 if (check_date(ltime, non_zero_date(ltime), in datetime_add_nanoseconds_with_round()
373 if (date_add_interval(ltime, INTERVAL_SECOND, interval)) in datetime_add_nanoseconds_with_round()
415 static bool lldiv_t_to_datetime(lldiv_t lld, MYSQL_TIME *ltime, in lldiv_t_to_datetime() argument
419 number_to_datetime(lld.quot, ltime, flags, warnings) == -1LL) in lldiv_t_to_datetime()
422 set_zero_time(ltime, MYSQL_TIMESTAMP_ERROR); in lldiv_t_to_datetime()
427 else if (ltime->time_type == MYSQL_TIMESTAMP_DATE) in lldiv_t_to_datetime()
439 ltime->second_part= static_cast<ulong>(lld.rem / 1000); in lldiv_t_to_datetime()
440 return datetime_add_nanoseconds_with_round(ltime, lld.rem % 1000, warnings); in lldiv_t_to_datetime()
454 MYSQL_TIME *ltime, my_time_flags_t flags) in my_decimal_to_datetime_with_warn() argument
463 set_zero_time(ltime, MYSQL_TIMESTAMP_NONE); in my_decimal_to_datetime_with_warn()
466 rc= lldiv_t_to_datetime(lld, ltime, flags, &warnings); in my_decimal_to_datetime_with_warn()
469 make_truncated_value_warning(ErrConvString(decimal), ltime->time_type); in my_decimal_to_datetime_with_warn()
481 bool my_double_to_datetime_with_warn(double nr, MYSQL_TIME *ltime, in my_double_to_datetime_with_warn() argument
491 set_zero_time(ltime, MYSQL_TIMESTAMP_NONE); in my_double_to_datetime_with_warn()
494 rc= lldiv_t_to_datetime(lld, ltime, flags, &warnings); in my_double_to_datetime_with_warn()
497 make_truncated_value_warning(ErrConvString(nr), ltime->time_type); in my_double_to_datetime_with_warn()
508 bool my_longlong_to_datetime_with_warn(longlong nr, MYSQL_TIME *ltime, in my_longlong_to_datetime_with_warn() argument
512 bool rc= number_to_datetime(nr, ltime, flags, &warnings) == -1LL; in my_longlong_to_datetime_with_warn()
528 static bool lldiv_t_to_time(lldiv_t lld, MYSQL_TIME *ltime, int *warnings) in lldiv_t_to_time() argument
530 if (number_to_time(lld.quot, ltime, warnings)) in lldiv_t_to_time()
536 if ((ltime->neg|= (lld.rem < 0))) in lldiv_t_to_time()
538 ltime->second_part= static_cast<ulong>(lld.rem / 1000); in lldiv_t_to_time()
539 return time_add_nanoseconds_with_round(ltime, lld.rem % 1000, warnings); in lldiv_t_to_time()
549 bool my_decimal_to_time_with_warn(const my_decimal *decimal, MYSQL_TIME *ltime) in my_decimal_to_time_with_warn() argument
558 set_zero_time(ltime, MYSQL_TIMESTAMP_TIME); in my_decimal_to_time_with_warn()
561 rc= lldiv_t_to_time(lld, ltime, &warnings); in my_decimal_to_time_with_warn()
576 bool my_double_to_time_with_warn(double nr, MYSQL_TIME *ltime) in my_double_to_time_with_warn() argument
585 set_zero_time(ltime, MYSQL_TIMESTAMP_TIME); in my_double_to_time_with_warn()
588 rc= lldiv_t_to_time(lld, ltime, &warnings); in my_double_to_time_with_warn()
603 bool my_longlong_to_time_with_warn(longlong nr, MYSQL_TIME *ltime) in my_longlong_to_time_with_warn() argument
606 bool rc= number_to_time(nr, ltime, &warnings); in my_longlong_to_time_with_warn()
672 const MYSQL_TIME *ltime, in datetime_with_no_zero_in_date_to_timeval() argument
676 if (!ltime->month) /* Zero date */ in datetime_with_no_zero_in_date_to_timeval()
678 assert(!ltime->year && !ltime->day); in datetime_with_no_zero_in_date_to_timeval()
679 if (non_zero_time(ltime)) in datetime_with_no_zero_in_date_to_timeval()
693 if (!(tm->tv_sec= TIME_to_timestamp(current_thd, ltime, &in_dst_time_gap))) in datetime_with_no_zero_in_date_to_timeval()
712 tm->tv_usec= ltime->second_part; in datetime_with_no_zero_in_date_to_timeval()
744 bool datetime_to_timeval(THD *thd, const MYSQL_TIME *ltime, in datetime_to_timeval() argument
748 check_date(ltime, non_zero_date(ltime), TIME_NO_ZERO_IN_DATE, warnings) || in datetime_to_timeval()
749 datetime_with_no_zero_in_date_to_timeval(current_thd, ltime, tm, warnings); in datetime_to_timeval()
778 void time_to_datetime(THD *thd, const MYSQL_TIME *ltime, MYSQL_TIME *ltime2) in time_to_datetime() argument
784 mix_date_and_time(ltime2, ltime); in time_to_datetime()
1198 bool my_TIME_to_str(const MYSQL_TIME *ltime, String *str, uint dec) in my_TIME_to_str() argument
1203 str->length(my_TIME_to_str(ltime, const_cast<char*>(str->ptr()), dec)); in my_TIME_to_str()
1251 bool date_add_interval(MYSQL_TIME *ltime, interval_type int_type, in date_add_interval() argument
1256 ltime->neg= 0; in date_add_interval()
1277 ltime->time_type= MYSQL_TIMESTAMP_DATETIME; // Return full date in date_add_interval()
1278 microseconds= ltime->second_part + sign*interval.second_part; in date_add_interval()
1282 sec=((ltime->day-1)*3600*24L+ltime->hour*3600+ltime->minute*60+ in date_add_interval()
1283 ltime->second + in date_add_interval()
1299 ltime->second_part= (uint) microseconds; in date_add_interval()
1300 ltime->second= (uint) (sec % 60); in date_add_interval()
1301 ltime->minute= (uint) (sec/60 % 60); in date_add_interval()
1302 ltime->hour= (uint) (sec/3600); in date_add_interval()
1303 daynr= calc_daynr(ltime->year,ltime->month,1) + days; in date_add_interval()
1307 get_date_from_daynr((long) daynr, &ltime->year, &ltime->month, in date_add_interval()
1308 &ltime->day); in date_add_interval()
1313 period= (calc_daynr(ltime->year,ltime->month,ltime->day) + in date_add_interval()
1318 get_date_from_daynr((long) period,&ltime->year,&ltime->month,&ltime->day); in date_add_interval()
1321 ltime->year+= sign * (long) interval.year; in date_add_interval()
1322 if ((ulong) ltime->year >= 10000L) in date_add_interval()
1324 if (ltime->month == 2 && ltime->day == 29 && in date_add_interval()
1325 calc_days_in_year(ltime->year) != 366) in date_add_interval()
1326 ltime->day=28; // Was leap-year in date_add_interval()
1331 period= (ltime->year*12 + sign * (long) interval.year*12 + in date_add_interval()
1332 ltime->month-1 + sign * (long) interval.month); in date_add_interval()
1335 ltime->year= (uint) (period / 12); in date_add_interval()
1336 ltime->month= (uint) (period % 12L)+1; in date_add_interval()
1338 if (ltime->day > days_in_month[ltime->month-1]) in date_add_interval()
1340 ltime->day = days_in_month[ltime->month-1]; in date_add_interval()
1341 if (ltime->month == 2 && calc_days_in_year(ltime->year) == 366) in date_add_interval()
1342 ltime->day++; // Leap-year in date_add_interval()
1492 bool my_time_round(MYSQL_TIME *ltime, uint dec) in my_time_round() argument
1497 bool rc= time_add_nanoseconds_with_round(ltime, in my_time_round()
1500 my_time_trunc(ltime, dec); in my_time_round()
1512 bool my_datetime_round(MYSQL_TIME *ltime, uint dec, int *warnings) in my_datetime_round() argument
1516 bool rc= datetime_add_nanoseconds_with_round(ltime, in my_datetime_round()
1519 my_time_trunc(ltime, dec); in my_datetime_round()
1559 void mix_date_and_time(MYSQL_TIME *ldate, const MYSQL_TIME *ltime) in mix_date_and_time() argument
1564 if (!ltime->neg && ltime->hour < 24) in mix_date_and_time()
1570 ldate->hour= ltime->hour; in mix_date_and_time()
1571 ldate->minute= ltime->minute; in mix_date_and_time()
1572 ldate->second= ltime->second; in mix_date_and_time()
1573 ldate->second_part= ltime->second_part; in mix_date_and_time()
1580 int sign= ltime->neg ? 1 : -1; in mix_date_and_time()
1581 ldate->neg= calc_time_diff(ldate, ltime, sign, &seconds, &useconds); in mix_date_and_time()
1606 longlong TIME_to_longlong_packed(const MYSQL_TIME *ltime, in TIME_to_longlong_packed() argument
1612 return TIME_to_longlong_time_packed(ltime); in TIME_to_longlong_packed()
1615 return TIME_to_longlong_datetime_packed(ltime); in TIME_to_longlong_packed()
1617 return TIME_to_longlong_date_packed(ltime); in TIME_to_longlong_packed()
1619 return TIME_to_longlong_packed(ltime); in TIME_to_longlong_packed()
1631 void TIME_from_longlong_packed(MYSQL_TIME *ltime, in TIME_from_longlong_packed() argument
1638 TIME_from_longlong_time_packed(ltime, packed_value); in TIME_from_longlong_packed()
1641 TIME_from_longlong_date_packed(ltime, packed_value); in TIME_from_longlong_packed()
1645 TIME_from_longlong_datetime_packed(ltime, packed_value); in TIME_from_longlong_packed()
1649 set_zero_time(ltime, MYSQL_TIMESTAMP_ERROR); in TIME_from_longlong_packed()
1669 MYSQL_TIME ltime; in my_decimal_from_datetime_packed() local
1673 TIME_from_longlong_time_packed(&ltime, packed_value); in my_decimal_from_datetime_packed()
1674 return time2my_decimal(&ltime, dec); in my_decimal_from_datetime_packed()
1676 TIME_from_longlong_date_packed(&ltime, packed_value); in my_decimal_from_datetime_packed()
1677 ulonglong2decimal(TIME_to_ulonglong_date(&ltime), dec); in my_decimal_from_datetime_packed()
1681 TIME_from_longlong_datetime_packed(&ltime, packed_value); in my_decimal_from_datetime_packed()
1682 return date2my_decimal(&ltime, dec); in my_decimal_from_datetime_packed()
1702 MYSQL_TIME ltime; in longlong_from_datetime_packed() local
1706 TIME_from_longlong_time_packed(&ltime, packed_value); in longlong_from_datetime_packed()
1707 return TIME_to_ulonglong_time(&ltime); in longlong_from_datetime_packed()
1709 TIME_from_longlong_date_packed(&ltime, packed_value); in longlong_from_datetime_packed()
1710 return TIME_to_ulonglong_date(&ltime); in longlong_from_datetime_packed()
1713 TIME_from_longlong_datetime_packed(&ltime, packed_value); in longlong_from_datetime_packed()
1714 return TIME_to_ulonglong_datetime(&ltime); in longlong_from_datetime_packed()