should be it
This commit is contained in:
40
external/duckdb/extension/icu/include/tz_calendar.hpp
vendored
Normal file
40
external/duckdb/extension/icu/include/tz_calendar.hpp
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
// DuckDB
|
||||
//
|
||||
// tz_calendar.hpp
|
||||
//
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "unicode/calendar.h"
|
||||
#include "duckdb/common/string_util.hpp"
|
||||
|
||||
namespace duckdb {
|
||||
|
||||
using CalendarPtr = duckdb::unique_ptr<icu::Calendar>;
|
||||
|
||||
struct TZCalendar {
|
||||
TZCalendar(icu::Calendar &calendar_p, const string &cal_setting)
|
||||
: calendar(CalendarPtr(calendar_p.clone())),
|
||||
is_gregorian(cal_setting.empty() || StringUtil::CIEquals(cal_setting, "gregorian")),
|
||||
supports_intervals(calendar->getMaximum(UCAL_MONTH) < 12) { // 0-based
|
||||
}
|
||||
|
||||
icu::Calendar *GetICUCalendar() {
|
||||
return calendar.get();
|
||||
}
|
||||
bool IsGregorian() const {
|
||||
return is_gregorian;
|
||||
}
|
||||
bool SupportsIntervals() const {
|
||||
return supports_intervals;
|
||||
}
|
||||
|
||||
CalendarPtr calendar;
|
||||
const bool is_gregorian;
|
||||
const bool supports_intervals;
|
||||
};
|
||||
|
||||
} // namespace duckdb
|
||||
Reference in New Issue
Block a user