OmniSciDB  a5dc49c757
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DateTimeUtils.h File Reference
#include "DateAdd.h"
#include "DateTruncate.h"
#include <cstdint>
#include <ctime>
#include <map>
#include <string>
#include "../Shared/sqldefs.h"
+ Include dependency graph for DateTimeUtils.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 anonymous_namespace{DateTimeUtils.h}
 
 DateTimeUtils
 

Enumerations

enum  DateTimeUtils::ScalingType { DateTimeUtils::ScaleUp, DateTimeUtils::ScaleDown }
 

Functions

constexpr int64_t DateTimeUtils::get_timestamp_precision_scale (const int32_t dimen)
 
constexpr int64_t DateTimeUtils::get_dateadd_timestamp_precision_scale (const DateaddField field)
 
constexpr int64_t DateTimeUtils::get_extract_timestamp_precision_scale (const ExtractField field)
 
constexpr bool DateTimeUtils::is_subsecond_extract_field (const ExtractField &field)
 
constexpr bool DateTimeUtils::is_subsecond_dateadd_field (const DateaddField field)
 
constexpr bool DateTimeUtils::is_subsecond_datetrunc_field (const DatetruncField field)
 
const std::pair< SQLOps, int64_t > DateTimeUtils::get_dateadd_high_precision_adjusted_scale (const DateaddField field, int32_t dimen)
 
const std::pair< SQLOps, int64_t > DateTimeUtils::get_extract_high_precision_adjusted_scale (const ExtractField &field, const int32_t dimen)
 
const int64_t DateTimeUtils::get_datetrunc_high_precision_scale (const DatetruncField &field, const int32_t dimen)
 
constexpr int64_t DateTimeUtils::get_datetime_scaled_epoch (const ScalingType direction, const int64_t epoch, const int32_t dimen)
 

Variables

static const std::map
< std::pair< int32_t,
ExtractField >, std::pair
< SQLOps, int64_t > > 
anonymous_namespace{DateTimeUtils.h}::extract_precision_lookup
 
static const std::map
< std::pair< int32_t,
DatetruncField >, int64_t > 
anonymous_namespace{DateTimeUtils.h}::datetrunc_precision_lookup