summaryrefslogtreecommitdiffstats
path: root/tests/dialects/test_hive.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/dialects/test_hive.py')
-rw-r--r--tests/dialects/test_hive.py27
1 files changed, 10 insertions, 17 deletions
diff --git a/tests/dialects/test_hive.py b/tests/dialects/test_hive.py
index b892dd6..33294ee 100644
--- a/tests/dialects/test_hive.py
+++ b/tests/dialects/test_hive.py
@@ -235,15 +235,18 @@ class TestHive(Validator):
},
)
self.validate_all(
- "'\\\\a'",
+ "'\\\\\\\\a'",
read={
+ "drill": "'\\\\\\\\a'",
+ "duckdb": "'\\\\a'",
"presto": "'\\\\a'",
},
write={
+ "drill": "'\\\\\\\\a'",
"duckdb": "'\\\\a'",
+ "hive": "'\\\\\\\\a'",
"presto": "'\\\\a'",
- "hive": "'\\\\a'",
- "spark": "'\\\\a'",
+ "spark": "'\\\\\\\\a'",
},
)
@@ -369,7 +372,7 @@ class TestHive(Validator):
"UNIX_TIMESTAMP(x)",
write={
"duckdb": "EPOCH(STRPTIME(x, '%Y-%m-%d %H:%M:%S'))",
- "presto": "TO_UNIXTIME(DATE_PARSE(x, '%Y-%m-%d %T'))",
+ "presto": "TO_UNIXTIME(COALESCE(TRY(DATE_PARSE(CAST(x AS VARCHAR), '%Y-%m-%d %T')), PARSE_DATETIME(CAST(x AS VARCHAR), 'yyyy-MM-dd HH:mm:ss')))",
"hive": "UNIX_TIMESTAMP(x)",
"spark": "UNIX_TIMESTAMP(x)",
"": "STR_TO_UNIX(x, '%Y-%m-%d %H:%M:%S')",
@@ -563,7 +566,7 @@ class TestHive(Validator):
"LOCATE('a', x, 3)",
write={
"duckdb": "STRPOS(SUBSTR(x, 3), 'a') + 3 - 1",
- "presto": "STRPOS(x, 'a', 3)",
+ "presto": "STRPOS(SUBSTR(x, 3), 'a') + 3 - 1",
"hive": "LOCATE('a', x, 3)",
"spark": "LOCATE('a', x, 3)",
},
@@ -654,15 +657,6 @@ class TestHive(Validator):
},
)
self.validate_all(
- "LOG(10, 2)",
- write={
- "duckdb": "LOG(10, 2)",
- "presto": "LOG(10, 2)",
- "hive": "LOG(10, 2)",
- "spark": "LOG(10, 2)",
- },
- )
- self.validate_all(
'ds = "2020-01-01"',
write={
"duckdb": "ds = '2020-01-01'",
@@ -745,13 +739,12 @@ class TestHive(Validator):
)
def test_escapes(self) -> None:
- self.validate_identity("'\n'")
+ self.validate_identity("'\n'", "'\\n'")
self.validate_identity("'\\n'")
- self.validate_identity("'\\\n'")
+ self.validate_identity("'\\\n'", "'\\\\\\n'")
self.validate_identity("'\\\\n'")
self.validate_identity("''")
self.validate_identity("'\\\\'")
- self.validate_identity("'\\z'")
self.validate_identity("'\\\\z'")
def test_data_type(self):