Exemplo n.º 1
0
 def test_timegrain_expressions(self):
     """
     DB Eng Specs (druid): Test time grain expressions
     """
     col = "__time"
     sqla_col = column(col)
     test_cases = {
         "PT1S": f"FLOOR({col} TO SECOND)",
         "PT5M": f"TIME_FLOOR({col}, 'PT5M')",
     }
     for grain, expected in test_cases.items():
         actual = DruidEngineSpec.get_timestamp_expr(
             col=sqla_col, pdf=None, time_grain=grain
         )
         self.assertEqual(str(actual), expected)
Exemplo n.º 2
0
 def test_timegrain_expressions(self):
     """
     DB Eng Specs (druid): Test time grain expressions
     """
     col = "__time"
     sqla_col = column(col)
     test_cases = {
         "PT1S":
         f"TIME_FLOOR(CAST({col} AS TIMESTAMP), 'PT1S')",
         "PT5M":
         f"TIME_FLOOR(CAST({col} AS TIMESTAMP), 'PT5M')",
         "P1W/1970-01-03T00:00:00Z":
         f"TIME_SHIFT(TIME_FLOOR(TIME_SHIFT(CAST({col} AS TIMESTAMP), 'P1D', 1), 'P1W'), 'P1D', 5)",
         "1969-12-28T00:00:00Z/P1W":
         f"TIME_SHIFT(TIME_FLOOR(TIME_SHIFT(CAST({col} AS TIMESTAMP), 'P1D', 1), 'P1W'), 'P1D', -1)",
     }
     for grain, expected in test_cases.items():
         actual = DruidEngineSpec.get_timestamp_expr(col=sqla_col,
                                                     pdf=None,
                                                     time_grain=grain)
         self.assertEqual(str(actual), expected)