fix: Time shifts with different granularity for ECharts (#24176)

This commit is contained in:
Michael S. Molina
2023-06-08 16:03:37 -03:00
committed by GitHub
parent e922f0993d
commit e5b7f7c9b5
39 changed files with 682 additions and 416 deletions

View File

@@ -19,6 +19,7 @@ from typing import Any, Optional
from sqlalchemy import types
from superset.constants import TimeGrain
from superset.db_engine_specs.base import BaseEngineSpec, LimitMethod
@@ -33,7 +34,7 @@ class FirebirdEngineSpec(BaseEngineSpec):
_time_grain_expressions = {
None: "{col}",
"PT1S": (
TimeGrain.SECOND: (
"CAST(CAST({col} AS DATE) "
"|| ' ' "
"|| EXTRACT(HOUR FROM {col}) "
@@ -42,7 +43,7 @@ class FirebirdEngineSpec(BaseEngineSpec):
"|| ':' "
"|| FLOOR(EXTRACT(SECOND FROM {col})) AS TIMESTAMP)"
),
"PT1M": (
TimeGrain.MINUTE: (
"CAST(CAST({col} AS DATE) "
"|| ' ' "
"|| EXTRACT(HOUR FROM {col}) "
@@ -50,20 +51,20 @@ class FirebirdEngineSpec(BaseEngineSpec):
"|| EXTRACT(MINUTE FROM {col}) "
"|| ':00' AS TIMESTAMP)"
),
"PT1H": (
TimeGrain.HOUR: (
"CAST(CAST({col} AS DATE) "
"|| ' ' "
"|| EXTRACT(HOUR FROM {col}) "
"|| ':00:00' AS TIMESTAMP)"
),
"P1D": "CAST({col} AS DATE)",
"P1M": (
TimeGrain.DAY: "CAST({col} AS DATE)",
TimeGrain.MONTH: (
"CAST(EXTRACT(YEAR FROM {col}) "
"|| '-' "
"|| EXTRACT(MONTH FROM {col}) "
"|| '-01' AS DATE)"
),
"P1Y": "CAST(EXTRACT(YEAR FROM {col}) || '-01-01' AS DATE)",
TimeGrain.YEAR: "CAST(EXTRACT(YEAR FROM {col}) || '-01-01' AS DATE)",
}
@classmethod