You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by yo...@apache.org on 2022/09/16 07:19:40 UTC

[superset] branch master updated: fix: BigQuery cannot accept Time Grain (#21489)

This is an automated email from the ASF dual-hosted git repository.

yongjiezhao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 33509ab7da fix: BigQuery cannot accept Time Grain (#21489)
33509ab7da is described below

commit 33509ab7da384144d42d67dd8c6233b1be9c9fa0
Author: Yongjie Zhao <yo...@apache.org>
AuthorDate: Fri Sep 16 15:19:24 2022 +0800

    fix: BigQuery cannot accept Time Grain (#21489)
---
 .../superset-ui-chart-controls/src/shared-controls/index.tsx | 12 +++++-------
 superset/connectors/sqla/models.py                           |  7 ++++---
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx
index 03d4698620..9b06bb3b9b 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx
@@ -57,7 +57,7 @@ import {
   DEFAULT_NUMBER_FORMAT,
 } from '../utils';
 import { TIME_FILTER_LABELS } from '../constants';
-import { SharedControlConfig, Dataset } from '../types';
+import { SharedControlConfig, Dataset, ColumnMeta } from '../types';
 
 import {
   dndAdhocFilterControl,
@@ -197,12 +197,10 @@ const time_grain_sqla: SharedControlConfig<'SelectControl'> = {
     if (isAdhocColumn(xAxisValue)) {
       return true;
     }
-    if (isPhysicalColumn(xAxisValue) && Array.isArray(xAxis?.options)) {
-      for (let i = 0; i < xAxis.options.length; i += 1) {
-        if (xAxis.options[i].column_name === xAxisValue) {
-          return !!xAxis.options[i].is_dttm;
-        }
-      }
+    if (isPhysicalColumn(xAxisValue)) {
+      return !!(xAxis?.options ?? []).find(
+        (col: ColumnMeta) => col?.column_name === xAxisValue,
+      )?.is_dttm;
     }
     return false;
   },
diff --git a/superset/connectors/sqla/models.py b/superset/connectors/sqla/models.py
index a72d07f2d0..4278f490d9 100644
--- a/superset/connectors/sqla/models.py
+++ b/superset/connectors/sqla/models.py
@@ -1144,9 +1144,10 @@ class SqlaTable(Model, BaseDatasource):  # pylint: disable=too-many-public-metho
             and (time_grain := col.get("timeGrain"))
         ):
             sqla_column = self.db_engine_spec.get_timestamp_expr(
-                sqla_column,
-                None,
-                time_grain,
+                col=sqla_column,
+                pdf=None,
+                time_grain=time_grain,
+                type_=str(getattr(sqla_column, "type", "")),
             )
         return self.make_sqla_column_compatible(sqla_column, label)