MCPcopy Create free account
hub / github.com/apache/impala / ParseSimpleDateFormat

Method ParseSimpleDateFormat

be/src/runtime/date-parse-util.cc:37–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

35using namespace datetime_parse_util;
36
37bool DateParser::ParseSimpleDateFormat(const char* str, int len,
38 const DateTimeFormatContext& dt_ctx, DateValue* date) {
39 DCHECK(dt_ctx.toks.size() > 0);
40 // 'dt_ctx' must have date tokens. Time tokens are accepted but ignored.
41 DCHECK(dt_ctx.has_date_toks);
42 DCHECK(date != nullptr);
43
44 DateTimeParseResult dt_result;
45 if (UNLIKELY(str == nullptr || len <= 0
46 || !SimpleDateFormatParser::ParseDateTime(str, len, dt_ctx, &dt_result))) {
47 *date = DateValue();
48 return false;
49 }
50
51 int year = dt_result.realign_year ?
52 RealignYear(dt_result, dt_ctx.century_break_ptime) :
53 dt_result.year;
54
55 *date = DateValue(year, dt_result.month, dt_result.day);
56 return date->IsValid();
57}
58
59int DateParser::RealignYear(const DateTimeParseResult& dt_result,
60 const ptime& century_break) {

Callers

nothing calls this directly

Calls 3

DateValueClass · 0.70
sizeMethod · 0.45
IsValidMethod · 0.45

Tested by

no test coverage detected