You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2026/03/31 17:28:13 UTC
(superset) branch master updated: fix(presto): Fix presto timestamp (#26467)
This is an automated email from the ASF dual-hosted git repository.
rusackas 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 53b1d1097cf fix(presto): Fix presto timestamp (#26467)
53b1d1097cf is described below
commit 53b1d1097cf689db358fa03faf4036d4ec4d61b5
Author: Rui Zhao <10...@users.noreply.github.com>
AuthorDate: Tue Mar 31 10:28:06 2026 -0700
fix(presto): Fix presto timestamp (#26467)
Co-authored-by: Claude Code <no...@anthropic.com>
Co-authored-by: Rui Zhao <zh...@dropbox.com>
Co-authored-by: Joe Li <jo...@preset.io>
---
superset/db_engine_specs/presto.py | 13 +++++++++++++
tests/unit_tests/db_engine_specs/test_presto.py | 6 +++---
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/superset/db_engine_specs/presto.py b/superset/db_engine_specs/presto.py
index d8109e1a301..baea622d92e 100644
--- a/superset/db_engine_specs/presto.py
+++ b/superset/db_engine_specs/presto.py
@@ -920,6 +920,19 @@ class PrestoEngineSpec(PrestoBaseEngineSpec):
],
}
+ @classmethod
+ def convert_dttm(
+ cls, target_type: str, dttm: datetime, db_extra: dict[str, Any] | None = None
+ ) -> str | None:
+ sqla_type = cls.get_sqla_column_type(target_type)
+
+ if isinstance(sqla_type, types.Date):
+ return f"DATE '{dttm.date().isoformat()}'"
+ if isinstance(sqla_type, types.TIMESTAMP):
+ return f"""TIMESTAMP '{dttm.isoformat(timespec="milliseconds", sep=" ")}'"""
+
+ return None
+
custom_errors: dict[Pattern[str], tuple[str, SupersetErrorType, dict[str, Any]]] = {
COLUMN_DOES_NOT_EXIST_REGEX: (
__(
diff --git a/tests/unit_tests/db_engine_specs/test_presto.py b/tests/unit_tests/db_engine_specs/test_presto.py
index d73b46f861d..8dd31a4f9c9 100644
--- a/tests/unit_tests/db_engine_specs/test_presto.py
+++ b/tests/unit_tests/db_engine_specs/test_presto.py
@@ -42,17 +42,17 @@ from tests.unit_tests.db_engine_specs.utils import (
(
"TIMESTAMP",
datetime(2022, 1, 1, 1, 23, 45, 600000),
- "TIMESTAMP '2022-01-01 01:23:45.600000'",
+ "TIMESTAMP '2022-01-01 01:23:45.600'",
),
(
"TIMESTAMP WITH TIME ZONE",
datetime(2022, 1, 1, 1, 23, 45, 600000),
- "TIMESTAMP '2022-01-01 01:23:45.600000'",
+ "TIMESTAMP '2022-01-01 01:23:45.600'",
),
(
"TIMESTAMP WITH TIME ZONE",
datetime(2022, 1, 1, 1, 23, 45, 600000, tzinfo=pytz.UTC),
- "TIMESTAMP '2022-01-01 01:23:45.600000+00:00'",
+ "TIMESTAMP '2022-01-01 01:23:45.600+00:00'",
),
],
)