Lines Matching refs:ltime

78 static bool make_datetime(date_time_format_types format, MYSQL_TIME *ltime,  in make_datetime()  argument
92 ltime->neg ? "-" : "", in make_datetime()
93 ltime->hour, ltime->minute, ltime->second); in make_datetime()
97 ltime->neg ? "-" : "", in make_datetime()
98 ltime->hour, ltime->minute, ltime->second, in make_datetime()
99 ltime->second_part); in make_datetime()
103 ltime->year, ltime->month, ltime->day); in make_datetime()
108 ltime->year, ltime->month, ltime->day, in make_datetime()
109 ltime->hour, ltime->minute, ltime->second); in make_datetime()
114 ltime->year, ltime->month, ltime->day, in make_datetime()
115 ltime->hour, ltime->minute, ltime->second, in make_datetime()
116 ltime->second_part); in make_datetime()
137 static bool make_datetime_with_warn(date_time_format_types format, MYSQL_TIME *ltime, in make_datetime_with_warn() argument
142 if (make_datetime(format, ltime, str)) in make_datetime_with_warn()
144 if (check_time_range(ltime, &warning)) in make_datetime_with_warn()
152 return make_datetime(format, ltime, str); in make_datetime_with_warn()
206 static bool sec_to_time(longlong seconds, bool unsigned_flag, MYSQL_TIME *ltime) in sec_to_time() argument
210 bzero((char *)ltime, sizeof(*ltime)); in sec_to_time()
216 ltime->neg= 1; in sec_to_time()
225 ltime->hour= (uint) (seconds/3600); in sec_to_time()
226 ltime->minute= sec/60; in sec_to_time()
227 ltime->second= sec % 60; in sec_to_time()
232 ltime->hour= TIME_MAX_HOUR; in sec_to_time()
233 ltime->minute= TIME_MAX_MINUTE; in sec_to_time()
234 ltime->second= TIME_MAX_SECOND; in sec_to_time()
964 MYSQL_TIME ltime; in val_int() local
965 if (get_arg0_date(&ltime, TIME_NO_ZERO_DATE)) in val_int()
967 return (longlong) calc_daynr(ltime.year,ltime.month,ltime.day); in val_int()
975 MYSQL_TIME ltime; in val_int_endpoint() local
979 if (get_arg0_date(&ltime, TIME_FUZZY_DATE)) in val_int_endpoint()
984 seconds= ltime.hour * 3600L + ltime.minute * 60 + ltime.second; in val_int_endpoint()
985 seconds= ltime.neg ? -seconds : seconds; in val_int_endpoint()
986 days= (longlong) calc_daynr(ltime.year, ltime.month, ltime.day); in val_int_endpoint()
989 null_value= check_date(&ltime, in val_int_endpoint()
990 (ltime.year || ltime.month || ltime.day), in val_int_endpoint()
1002 MYSQL_TIME ltime; in val_int() local
1005 if (get_arg0_date(&ltime, TIME_NO_ZERO_DATE)) in val_int()
1007 seconds= ltime.hour * 3600L + ltime.minute * 60 + ltime.second; in val_int()
1008 seconds=ltime.neg ? -seconds : seconds; in val_int()
1009 days= (longlong) calc_daynr(ltime.year, ltime.month, ltime.day); in val_int()
1054 MYSQL_TIME ltime; in val_int_endpoint() local
1057 if (get_arg0_date(&ltime, TIME_FUZZY_DATE)) in val_int_endpoint()
1062 res=(longlong) calc_daynr(ltime.year,ltime.month,ltime.day); in val_int_endpoint()
1064 null_value= check_date(&ltime, in val_int_endpoint()
1065 (ltime.year || ltime.month || ltime.day), in val_int_endpoint()
1096 if ((!left_endp && !(ltime.hour || ltime.minute || ltime.second || in val_int_endpoint()
1097 ltime.second_part)) || in val_int_endpoint()
1098 (left_endp && ltime.hour == 23 && ltime.minute == 59 && in val_int_endpoint()
1099 ltime.second == 59)) in val_int_endpoint()
1111 MYSQL_TIME ltime; in val_int() local
1112 if (get_arg0_date(&ltime,TIME_NO_ZERO_DATE)) in val_int()
1114 return (longlong) calc_daynr(ltime.year,ltime.month,ltime.day) - in val_int()
1115 calc_daynr(ltime.year,1,1) + 1; in val_int()
1121 MYSQL_TIME ltime; in val_int() local
1122 (void) get_arg0_date(&ltime, TIME_FUZZY_DATE); in val_int()
1123 return (longlong) ltime.day; in val_int()
1129 MYSQL_TIME ltime; in val_int() local
1130 (void) get_arg0_date(&ltime, TIME_FUZZY_DATE); in val_int()
1131 return (longlong) ltime.month; in val_int()
1153 MYSQL_TIME ltime; in val_str() local
1155 if ((null_value= (get_arg0_date(&ltime, TIME_FUZZY_DATE) || !ltime.month))) in val_str()
1158 month_name= locale->month_names->type_names[ltime.month - 1]; in val_str()
1172 MYSQL_TIME ltime; in val_int() local
1173 if (get_arg0_date(&ltime, TIME_FUZZY_DATE)) in val_int()
1175 return (longlong) ((ltime.month+2)/3); in val_int()
1181 MYSQL_TIME ltime; in val_int() local
1182 (void) get_arg0_time(&ltime); in val_int()
1183 return ltime.hour; in val_int()
1189 MYSQL_TIME ltime; in val_int() local
1190 (void) get_arg0_time(&ltime); in val_int()
1191 return ltime.minute; in val_int()
1200 MYSQL_TIME ltime; in val_int() local
1201 (void) get_arg0_time(&ltime); in val_int()
1202 return ltime.second; in val_int()
1249 MYSQL_TIME ltime; in val_int() local
1250 if (get_arg0_date(&ltime, TIME_NO_ZERO_DATE)) in val_int()
1252 return (longlong) calc_week(&ltime, in val_int()
1262 MYSQL_TIME ltime; in val_int() local
1263 if (get_arg0_date(&ltime, TIME_NO_ZERO_DATE)) in val_int()
1265 week= calc_week(&ltime, in val_int()
1275 MYSQL_TIME ltime; in val_int() local
1277 if (get_arg0_date(&ltime, TIME_NO_ZERO_DATE)) in val_int()
1280 return (longlong) calc_weekday(calc_daynr(ltime.year, ltime.month, in val_int()
1281 ltime.day), in val_int()
1318 MYSQL_TIME ltime; in val_int() local
1319 (void) get_arg0_date(&ltime, TIME_FUZZY_DATE); in val_int()
1320 return (longlong) ltime.year; in val_int()
1351 MYSQL_TIME ltime; in val_int_endpoint() local
1352 if (get_arg0_date(&ltime, TIME_FUZZY_DATE)) in val_int_endpoint()
1369 if (!left_endp && ltime.day == 1 && ltime.month == 1 && in val_int_endpoint()
1370 !(ltime.hour || ltime.minute || ltime.second || ltime.second_part)) in val_int_endpoint()
1374 return ltime.year; in val_int_endpoint()
1380 MYSQL_TIME ltime; in val_int() local
1393 if (get_arg0_date(&ltime, TIME_FUZZY_DATE)) in val_int()
1405 if (check_date(&ltime, non_zero_date(&ltime), TIME_NO_ZERO_IN_DATE, &dummy)) in val_int()
1408 return (longlong) TIME_to_timestamp(current_thd, &ltime, &not_used); in val_int()
1435 MYSQL_TIME ltime; in val_int() local
1437 (void) get_arg0_time(&ltime); in val_int()
1438 seconds=ltime.hour*3600L+ltime.minute*60+ltime.second; in val_int()
1439 return ltime.neg ? -seconds : seconds; in val_int()
1583 MYSQL_TIME ltime; in val_str() local
1584 if (get_date(&ltime, TIME_FUZZY_DATE)) in val_str()
1591 make_date((DATE_TIME_FORMAT *) 0, &ltime, str); in val_str()
1599 MYSQL_TIME ltime; in val_int() local
1600 if (get_date(&ltime, TIME_FUZZY_DATE)) in val_int()
1602 return (longlong) (ltime.year*10000L+ltime.month*100+ltime.day); in val_int()
1606 bool Item_func_from_days::get_date(MYSQL_TIME *ltime, uint fuzzy_date) in get_date() argument
1611 bzero(ltime, sizeof(MYSQL_TIME)); in get_date()
1612 get_date_from_daynr((long) value, &ltime->year, &ltime->month, &ltime->day); in get_date()
1615 (ltime->year == 0 || ltime->month == 0 || ltime->day == 0))) in get_date()
1618 ltime->time_type= MYSQL_TIMESTAMP_DATE; in get_date()
1627 store_now_in_TIME(&ltime); in fix_length_and_dec()
1630 ltime.hour= ltime.minute= ltime.second= 0; in fix_length_and_dec()
1631 ltime.time_type= MYSQL_TIMESTAMP_DATE; in fix_length_and_dec()
1632 value= (longlong) TIME_to_ulonglong_date(&ltime); in fix_length_and_dec()
1643 make_date((DATE_TIME_FORMAT *) 0, &ltime, str); in val_str()
1678 *res=ltime; in get_date()
1693 MYSQL_TIME ltime; in fix_length_and_dec() local
1696 store_now_in_TIME(&ltime); in fix_length_and_dec()
1697 value= TIME_to_ulonglong_time(&ltime); in fix_length_and_dec()
1698 buff_length= (uint) my_time_to_str(&ltime, buff); in fix_length_and_dec()
1743 store_now_in_TIME(&ltime); in fix_length_and_dec()
1744 value= (longlong) TIME_to_ulonglong_datetime(&ltime); in fix_length_and_dec()
1746 buff_length= (uint) my_datetime_to_str(&ltime, buff); in fix_length_and_dec()
1782 *res= ltime; in get_date()
1790 return to->store_time(&ltime, MYSQL_TIMESTAMP_DATETIME); in save_in_field()
1809 store_now_in_TIME(&ltime); in val_str()
1810 buff_length= (uint) my_datetime_to_str(&ltime, buff); in val_str()
1819 store_now_in_TIME(&ltime); in val_int()
1820 return (longlong) TIME_to_ulonglong_datetime(&ltime); in val_int()
1827 store_now_in_TIME(&ltime); in val_real()
1828 return ulonglong2double(TIME_to_ulonglong_datetime(&ltime)); in val_real()
1842 store_now_in_TIME(&ltime); in get_date()
1843 *res= ltime; in get_date()
1850 store_now_in_TIME(&ltime); in save_in_field()
1852 to->store_time(&ltime, MYSQL_TIMESTAMP_DATETIME); in save_in_field()
1860 MYSQL_TIME ltime; in val_str() local
1870 sec_to_time(arg_val, args[0]->unsigned_flag, &ltime); in val_str()
1872 make_time((DATE_TIME_FORMAT *) 0, &ltime, str); in val_str()
1880 MYSQL_TIME ltime; in val_int() local
1886 sec_to_time(arg_val, args[0]->unsigned_flag, &ltime); in val_int()
1888 return (ltime.neg ? -1 : 1) * in val_int()
1889 (longlong) ((ltime.hour)*10000 + ltime.minute*100 + ltime.second); in val_int()
2124 bool Item_func_from_unixtime::get_date(MYSQL_TIME *ltime, in get_date() argument
2135 thd->variables.time_zone->gmt_sec_to_TIME(ltime, (my_time_t)tmp); in get_date()
2179 bool Item_func_convert_tz::get_date(MYSQL_TIME *ltime, in get_date() argument
2198 if (from_tz==0 || to_tz==0 || get_arg0_date(ltime, TIME_NO_ZERO_DATE)) in get_date()
2206 my_time_tmp= from_tz->TIME_to_gmt_sec(ltime, &not_used); in get_date()
2209 to_tz->gmt_sec_to_TIME(ltime, my_time_tmp); in get_date()
2273 bool Item_date_add_interval::get_date(MYSQL_TIME *ltime, uint fuzzy_date) in get_date() argument
2277 if (args[0]->get_date(ltime, TIME_NO_ZERO_DATE) || in get_date()
2284 if ((null_value= date_add_interval(ltime, int_type, interval))) in get_date()
2293 MYSQL_TIME ltime; in val_str_ascii() local
2296 if (Item_date_add_interval::get_date(&ltime, TIME_NO_ZERO_DATE)) in val_str_ascii()
2299 if (ltime.time_type == MYSQL_TIMESTAMP_DATE) in val_str_ascii()
2301 else if (ltime.second_part) in val_str_ascii()
2306 if (!make_datetime(format, &ltime, str)) in val_str_ascii()
2317 MYSQL_TIME ltime; in val_int() local
2319 if (Item_date_add_interval::get_date(&ltime, TIME_NO_ZERO_DATE)) in val_int()
2321 date = (ltime.year*100L + ltime.month)*100L + ltime.day; in val_int()
2322 return ltime.time_type == MYSQL_TIMESTAMP_DATE ? date : in val_int()
2323 ((date*100L + ltime.hour)*100L+ ltime.minute)*100L + ltime.second; in val_int()
2405 MYSQL_TIME ltime; in val_int() local
2411 if (get_arg0_date(&ltime, TIME_FUZZY_DATE)) in val_int()
2422 &ltime)) in val_int()
2427 neg= ltime.neg ? -1 : 1; in val_int()
2431 case INTERVAL_YEAR: return ltime.year; in val_int()
2432 case INTERVAL_YEAR_MONTH: return ltime.year*100L+ltime.month; in val_int()
2433 case INTERVAL_QUARTER: return (ltime.month+2)/3; in val_int()
2434 case INTERVAL_MONTH: return ltime.month; in val_int()
2438 return calc_week(&ltime, week_mode(week_format), &year); in val_int()
2440 case INTERVAL_DAY: return ltime.day; in val_int()
2441 case INTERVAL_DAY_HOUR: return (long) (ltime.day*100L+ltime.hour)*neg; in val_int()
2442 case INTERVAL_DAY_MINUTE: return (long) (ltime.day*10000L+ in val_int()
2443 ltime.hour*100L+ in val_int()
2444 ltime.minute)*neg; in val_int()
2445 case INTERVAL_DAY_SECOND: return ((longlong) ltime.day*1000000L+ in val_int()
2446 (longlong) (ltime.hour*10000L+ in val_int()
2447 ltime.minute*100+ in val_int()
2448 ltime.second))*neg; in val_int()
2449 case INTERVAL_HOUR: return (long) ltime.hour*neg; in val_int()
2450 case INTERVAL_HOUR_MINUTE: return (long) (ltime.hour*100+ltime.minute)*neg; in val_int()
2451 case INTERVAL_HOUR_SECOND: return (long) (ltime.hour*10000+ltime.minute*100+ in val_int()
2452 ltime.second)*neg; in val_int()
2453 case INTERVAL_MINUTE: return (long) ltime.minute*neg; in val_int()
2454 case INTERVAL_MINUTE_SECOND: return (long) (ltime.minute*100+ltime.second)*neg; in val_int()
2455 case INTERVAL_SECOND: return (long) ltime.second*neg; in val_int()
2456 case INTERVAL_MICROSECOND: return (long) ltime.second_part*neg; in val_int()
2457 case INTERVAL_DAY_MICROSECOND: return (((longlong)ltime.day*1000000L + in val_int()
2458 (longlong)ltime.hour*10000L + in val_int()
2459 ltime.minute*100 + in val_int()
2460 ltime.second)*1000000L + in val_int()
2461 ltime.second_part)*neg; in val_int()
2462 case INTERVAL_HOUR_MICROSECOND: return (((longlong)ltime.hour*10000L + in val_int()
2463 ltime.minute*100 + in val_int()
2464 ltime.second)*1000000L + in val_int()
2465 ltime.second_part)*neg; in val_int()
2466 case INTERVAL_MINUTE_MICROSECOND: return (((longlong)(ltime.minute*100+ in val_int()
2467 ltime.second))*1000000L+ in val_int()
2468 ltime.second_part)*neg; in val_int()
2469 case INTERVAL_SECOND_MICROSECOND: return ((longlong)ltime.second*1000000L+ in val_int()
2470 ltime.second_part)*neg; in val_int()
2679 MYSQL_TIME ltime; in val_str() local
2681 if (!get_arg0_date(&ltime, TIME_FUZZY_DATE) && in val_str()
2682 !make_datetime(ltime.second_part ? DATE_TIME_MICROSECOND : DATE_TIME, in val_str()
2683 &ltime, str)) in val_str()
2694 MYSQL_TIME ltime; in val_int() local
2695 if (get_arg0_date(&ltime, TIME_FUZZY_DATE)) in val_int()
2701 return TIME_to_ulonglong_datetime(&ltime); in val_int()
2705 bool Item_time_typecast::get_time(MYSQL_TIME *ltime) in get_time() argument
2707 bool res= get_arg0_time(ltime); in get_time()
2712 if (ltime->time_type == MYSQL_TIMESTAMP_DATETIME) in get_time()
2713 ltime->year= ltime->month= ltime->day= 0; in get_time()
2714 ltime->time_type= MYSQL_TIMESTAMP_TIME; in get_time()
2721 MYSQL_TIME ltime; in val_int() local
2722 if (get_time(&ltime)) in val_int()
2727 return (ltime.neg ? -1 : 1) * in val_int()
2728 (longlong) ((ltime.hour)*10000 + ltime.minute*100 + ltime.second); in val_int()
2734 MYSQL_TIME ltime; in val_str() local
2736 if (!get_arg0_time(&ltime) && in val_str()
2737 !make_datetime(ltime.second_part ? TIME_MICROSECOND : TIME_ONLY, in val_str()
2738 &ltime, str)) in val_str()
2746 bool Item_date_typecast::get_date(MYSQL_TIME *ltime, uint fuzzy_date) in get_date() argument
2748 bool res= get_arg0_date(ltime, TIME_FUZZY_DATE); in get_date()
2749 ltime->hour= ltime->minute= ltime->second= ltime->second_part= 0; in get_date()
2750 ltime->time_type= MYSQL_TIMESTAMP_DATE; in get_date()
2755 bool Item_date_typecast::get_time(MYSQL_TIME *ltime) in get_time() argument
2757 bzero((char *)ltime, sizeof(MYSQL_TIME)); in get_time()
2765 MYSQL_TIME ltime; in val_str() local
2767 if (!get_arg0_date(&ltime, TIME_FUZZY_DATE) && in val_str()
2770 make_date((DATE_TIME_FORMAT *) 0, &ltime, str); in val_str()
2781 MYSQL_TIME ltime; in val_int() local
2782 if ((null_value= args[0]->get_date(&ltime, TIME_FUZZY_DATE))) in val_int()
2784 return (longlong) (ltime.year * 10000L + ltime.month * 100 + ltime.day); in val_int()
2978 MYSQL_TIME ltime; in val_str() local
2981 val_datetime(&ltime, &format); in val_str()
2986 if (!make_datetime_with_warn(format, &ltime, str)) in val_str()
2996 MYSQL_TIME ltime; in val_int() local
2999 val_datetime(&ltime, &format); in val_int()
3004 return TIME_to_ulonglong_datetime(&ltime); in val_int()
3088 MYSQL_TIME ltime; in val_str() local
3103 bzero((char *)&ltime, sizeof(ltime)); in val_str()
3104 ltime.neg= 0; in val_str()
3112 ltime.neg= 1; in val_str()
3119 ltime.hour= (uint) ((hour < 0 ? -hour : hour)); in val_str()
3120 ltime.minute= (uint) minute; in val_str()
3121 ltime.second= (uint) second; in val_str()
3125 ltime.hour= TIME_MAX_HOUR; in val_str()
3126 ltime.minute= TIME_MAX_MINUTE; in val_str()
3127 ltime.second= TIME_MAX_SECOND; in val_str()
3137 if (make_time_with_warn((DATE_TIME_FORMAT *) 0, &ltime, str)) in val_str()
3157 MYSQL_TIME ltime; in val_int() local
3158 if (!get_arg0_time(&ltime)) in val_int()
3159 return ltime.second_part; in val_int()
3482 bool Item_func_str_to_date::get_date(MYSQL_TIME *ltime, uint fuzzy_date) in get_date() argument
3496 bzero((char*) ltime, sizeof(*ltime)); in get_date()
3500 ltime, cached_timestamp_type, 0, "datetime") || in get_date()
3502 (ltime->year == 0 || ltime->month == 0 || ltime->day == 0))) in get_date()
3504 if (cached_timestamp_type == MYSQL_TIMESTAMP_TIME && ltime->day) in get_date()
3511 ltime->hour+= ltime->day*24; in get_date()
3512 ltime->day= 0; in get_date()
3532 MYSQL_TIME ltime; in val_str() local
3534 if (Item_func_str_to_date::get_date(&ltime, TIME_FUZZY_DATE | sql_mode)) in val_str()
3538 (ltime.second_part ? DATE_TIME_MICROSECOND : DATE_TIME)), in val_str()
3539 &ltime, str)) in val_str()
3548 MYSQL_TIME ltime; in val_int() local
3550 if (Item_func_str_to_date::get_date(&ltime, TIME_FUZZY_DATE | sql_mode)) in val_int()
3557 return TIME_to_ulonglong_date(&ltime); in val_int()
3559 return TIME_to_ulonglong_time(&ltime); in val_int()
3561 return TIME_to_ulonglong_datetime(&ltime); in val_int()
3564 return TIME_to_ulonglong_datetime(&ltime); in val_int()
3568 bool Item_func_last_day::get_date(MYSQL_TIME *ltime, uint fuzzy_date) in get_date() argument
3570 if (get_arg0_date(ltime, fuzzy_date & ~TIME_FUZZY_DATE) || in get_date()
3571 (ltime->month == 0)) in get_date()
3577 uint month_idx= ltime->month-1; in get_date()
3578 ltime->day= days_in_month[month_idx]; in get_date()
3579 if ( month_idx == 1 && calc_days_in_year(ltime->year) == 366) in get_date()
3580 ltime->day= 29; in get_date()
3581 ltime->hour= ltime->minute= ltime->second= 0; in get_date()
3582 ltime->second_part= 0; in get_date()
3583 ltime->time_type= MYSQL_TIMESTAMP_DATE; in get_date()