mirror of
https://github.com/apache/superset.git
synced 2026-05-12 19:35:17 +00:00
fix(presto,trino): use correct literal dttm separator (#20123)
* fix(presto,trino): use correct literal dttm separator
* remove redundant tests
(cherry picked from commit e2f11d3680)
This commit is contained in:
committed by
Michael S. Molina
parent
97c6af196e
commit
c5e2809c2c
@@ -758,7 +758,7 @@ class PrestoEngineSpec(BaseEngineSpec): # pylint: disable=too-many-public-metho
|
|||||||
utils.TemporalType.TIMESTAMP,
|
utils.TemporalType.TIMESTAMP,
|
||||||
utils.TemporalType.TIMESTAMP_WITH_TIME_ZONE,
|
utils.TemporalType.TIMESTAMP_WITH_TIME_ZONE,
|
||||||
):
|
):
|
||||||
return f"""TIMESTAMP '{dttm.isoformat(timespec="microseconds")}'"""
|
return f"""TIMESTAMP '{dttm.isoformat(timespec="microseconds", sep=" ")}'"""
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ class TrinoEngineSpec(BaseEngineSpec):
|
|||||||
utils.TemporalType.TIMESTAMP,
|
utils.TemporalType.TIMESTAMP,
|
||||||
utils.TemporalType.TIMESTAMP_WITH_TIME_ZONE,
|
utils.TemporalType.TIMESTAMP_WITH_TIME_ZONE,
|
||||||
):
|
):
|
||||||
return f"""TIMESTAMP '{dttm.isoformat(timespec="microseconds")}'"""
|
return f"""TIMESTAMP '{dttm.isoformat(timespec="microseconds", sep=" ")}'"""
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
@@ -512,19 +512,6 @@ class TestPrestoDbEngineSpec(TestDbEngineSpec):
|
|||||||
query_result = str(result.compile(compile_kwargs={"literal_binds": True}))
|
query_result = str(result.compile(compile_kwargs={"literal_binds": True}))
|
||||||
self.assertEqual("SELECT \nWHERE ds = '01-01-19' AND hour = 1", query_result)
|
self.assertEqual("SELECT \nWHERE ds = '01-01-19' AND hour = 1", query_result)
|
||||||
|
|
||||||
def test_convert_dttm(self):
|
|
||||||
dttm = self.get_dttm()
|
|
||||||
|
|
||||||
self.assertEqual(
|
|
||||||
PrestoEngineSpec.convert_dttm("DATE", dttm),
|
|
||||||
"DATE '2019-01-02'",
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertEqual(
|
|
||||||
PrestoEngineSpec.convert_dttm("TIMESTAMP", dttm),
|
|
||||||
"TIMESTAMP '2019-01-02T03:04:05.678900'",
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_query_cost_formatter(self):
|
def test_query_cost_formatter(self):
|
||||||
raw_cost = [
|
raw_cost = [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,19 +27,6 @@ from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
|
|||||||
|
|
||||||
|
|
||||||
class TestTrinoDbEngineSpec(TestDbEngineSpec):
|
class TestTrinoDbEngineSpec(TestDbEngineSpec):
|
||||||
def test_convert_dttm(self):
|
|
||||||
dttm = self.get_dttm()
|
|
||||||
|
|
||||||
self.assertEqual(
|
|
||||||
TrinoEngineSpec.convert_dttm("DATE", dttm),
|
|
||||||
"DATE '2019-01-02'",
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertEqual(
|
|
||||||
TrinoEngineSpec.convert_dttm("TIMESTAMP", dttm),
|
|
||||||
"TIMESTAMP '2019-01-02T03:04:05.678900'",
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_adjust_database_uri(self):
|
def test_adjust_database_uri(self):
|
||||||
url = URL(drivername="trino", database="hive")
|
url = URL(drivername="trino", database="hive")
|
||||||
TrinoEngineSpec.adjust_database_uri(url, selected_schema="foobar")
|
TrinoEngineSpec.adjust_database_uri(url, selected_schema="foobar")
|
||||||
|
|||||||
@@ -30,17 +30,17 @@ from flask.ctx import AppContext
|
|||||||
(
|
(
|
||||||
"TIMESTAMP",
|
"TIMESTAMP",
|
||||||
datetime(2022, 1, 1, 1, 23, 45, 600000),
|
datetime(2022, 1, 1, 1, 23, 45, 600000),
|
||||||
"TIMESTAMP '2022-01-01T01:23:45.600000'",
|
"TIMESTAMP '2022-01-01 01:23:45.600000'",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"TIMESTAMP WITH TIME ZONE",
|
"TIMESTAMP WITH TIME ZONE",
|
||||||
datetime(2022, 1, 1, 1, 23, 45, 600000),
|
datetime(2022, 1, 1, 1, 23, 45, 600000),
|
||||||
"TIMESTAMP '2022-01-01T01:23:45.600000'",
|
"TIMESTAMP '2022-01-01 01:23:45.600000'",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"TIMESTAMP WITH TIME ZONE",
|
"TIMESTAMP WITH TIME ZONE",
|
||||||
datetime(2022, 1, 1, 1, 23, 45, 600000, tzinfo=pytz.UTC),
|
datetime(2022, 1, 1, 1, 23, 45, 600000, tzinfo=pytz.UTC),
|
||||||
"TIMESTAMP '2022-01-01T01:23:45.600000+00:00'",
|
"TIMESTAMP '2022-01-01 01:23:45.600000+00:00'",
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -30,17 +30,17 @@ from flask.ctx import AppContext
|
|||||||
(
|
(
|
||||||
"TIMESTAMP",
|
"TIMESTAMP",
|
||||||
datetime(2022, 1, 1, 1, 23, 45, 600000),
|
datetime(2022, 1, 1, 1, 23, 45, 600000),
|
||||||
"TIMESTAMP '2022-01-01T01:23:45.600000'",
|
"TIMESTAMP '2022-01-01 01:23:45.600000'",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"TIMESTAMP WITH TIME ZONE",
|
"TIMESTAMP WITH TIME ZONE",
|
||||||
datetime(2022, 1, 1, 1, 23, 45, 600000),
|
datetime(2022, 1, 1, 1, 23, 45, 600000),
|
||||||
"TIMESTAMP '2022-01-01T01:23:45.600000'",
|
"TIMESTAMP '2022-01-01 01:23:45.600000'",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"TIMESTAMP WITH TIME ZONE",
|
"TIMESTAMP WITH TIME ZONE",
|
||||||
datetime(2022, 1, 1, 1, 23, 45, 600000, tzinfo=pytz.UTC),
|
datetime(2022, 1, 1, 1, 23, 45, 600000, tzinfo=pytz.UTC),
|
||||||
"TIMESTAMP '2022-01-01T01:23:45.600000+00:00'",
|
"TIMESTAMP '2022-01-01 01:23:45.600000+00:00'",
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user