61
61
temporal.to_int64_t(&int_value);
63
63
#ifdef WORDS_BIGENDIAN
64
if (getTable() && getTable()->getShare()->db_low_byte_first)
64
if (getTable() && getTable()->isDatabaseLowByteFirst())
66
66
int8store(ptr, int_value);
111
111
temporal.to_int64_t(&int_value);
113
113
#ifdef WORDS_BIGENDIAN
114
if (getTable() && getTable()->getShare()->db_low_byte_first)
114
if (getTable() && getTable()->isDatabaseLowByteFirst())
116
116
int8store(ptr, int_value);
124
int Field_datetime::store_time(type::Time *ltime, enum enum_drizzle_timestamp_type)
124
int Field_datetime::store_time(type::Time <ime, type::timestamp_t)
126
126
DateTime temporal;
128
temporal.set_years(ltime->year);
129
temporal.set_months(ltime->month);
130
temporal.set_days(ltime->day);
131
temporal.set_hours(ltime->hour);
132
temporal.set_minutes(ltime->minute);
133
temporal.set_seconds(ltime->second);
128
temporal.set_years(ltime.year);
129
temporal.set_months(ltime.month);
130
temporal.set_days(ltime.day);
131
temporal.set_hours(ltime.hour);
132
temporal.set_minutes(ltime.minute);
133
temporal.set_seconds(ltime.second);
135
135
if (! temporal.is_valid())
137
char tmp_string[MAX_DATE_STRING_REP_LENGTH];
137
char tmp_string[type::Time::MAX_STRING_LENGTH];
138
138
size_t tmp_string_len;
140
tmp_string_len= temporal.to_string(tmp_string, MAX_DATE_STRING_REP_LENGTH);
141
assert(tmp_string_len < MAX_DATE_STRING_REP_LENGTH);
140
tmp_string_len= temporal.to_string(tmp_string, type::Time::MAX_STRING_LENGTH);
141
assert(tmp_string_len < type::Time::MAX_STRING_LENGTH);
142
142
my_error(ER_INVALID_DATETIME_VALUE, MYF(ME_FATALERROR), tmp_string);
147
147
temporal.to_int64_t(&int_value);
149
149
#ifdef WORDS_BIGENDIAN
150
if (getTable() && getTable()->getShare()->db_low_byte_first)
150
if (getTable() && getTable()->isDatabaseLowByteFirst())
152
152
int8store(ptr, int_value);
156
156
int64_tstore(ptr, int_value);
216
217
return val_buffer;
219
bool Field_datetime::get_date(type::Time *ltime, uint32_t fuzzydate)
220
bool Field_datetime::get_date(type::Time <ime, uint32_t fuzzydate)
221
222
int64_t tmp=Field_datetime::val_int();
222
223
uint32_t part1,part2;
223
224
part1=(uint32_t) (tmp/INT64_C(1000000));
224
225
part2=(uint32_t) (tmp - (uint64_t) part1*INT64_C(1000000));
226
ltime->time_type= DRIZZLE_TIMESTAMP_DATETIME;
228
ltime->second_part= 0;
229
ltime->second= (int) (part2%100);
230
ltime->minute= (int) (part2/100%100);
231
ltime->hour= (int) (part2/10000);
232
ltime->day= (int) (part1%100);
233
ltime->month= (int) (part1/100%100);
234
ltime->year= (int) (part1/10000);
235
return (!(fuzzydate & TIME_FUZZY_DATE) && (!ltime->month || !ltime->day)) ? 1 : 0;
227
ltime.time_type= type::DRIZZLE_TIMESTAMP_DATETIME;
229
ltime.second_part= 0;
230
ltime.second= (int) (part2%100);
231
ltime.minute= (int) (part2/100%100);
232
ltime.hour= (int) (part2/10000);
233
ltime.day= (int) (part1%100);
234
ltime.month= (int) (part1/100%100);
235
ltime.year= (int) (part1/10000);
237
return (!(fuzzydate & TIME_FUZZY_DATE) && (!ltime.month || !ltime.day)) ? 1 : 0;
238
bool Field_datetime::get_time(type::Time *ltime)
240
bool Field_datetime::get_time(type::Time <ime)
240
242
return Field_datetime::get_date(ltime,0);