From 757e7de60cf7aa04f15160942ceaadb46daa15b5 Mon Sep 17 00:00:00 2001 From: Glen Schrader Date: Fri, 4 Nov 2016 10:52:06 -0600 Subject: [PATCH] add oracle time_grains (#1544) --- caravel/db_engine_specs.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/caravel/db_engine_specs.py b/caravel/db_engine_specs.py index 9c73934ebd..f5e19107b9 100644 --- a/caravel/db_engine_specs.py +++ b/caravel/db_engine_specs.py @@ -285,6 +285,24 @@ class RedshiftEngineSpec(PostgresEngineSpec): class OracleEngineSpec(PostgresEngineSpec): engine = 'oracle' + time_grains = ( + Grain('Time Column', _('Time Column'), '{col}'), + Grain('minute', _('minute'), + "TRUNC(TO_DATE({col}), 'MI')"), + Grain('hour', _('hour'), + "TRUNC(TO_DATE({col}), 'HH')"), + Grain('day', _('day'), + "TRUNC(TO_DATE({col}), 'DDD')"), + Grain('week', _('week'), + "TRUNC(TO_DATE({col}), 'WW')"), + Grain('month', _('month'), + "TRUNC(TO_DATE({col}), 'MONTH')"), + Grain('quarter', _('quarter'), + "TRUNC(TO_DATE({col}), 'Q')"), + Grain('year', _('year'), + "TRUNC(TO_DATE({col}), 'YEAR')"), + ) + @classmethod def convert_dttm(cls, target_type, dttm): return (