diff options
Diffstat (limited to 'tests/dialects/test_bigquery.py')
-rw-r--r-- | tests/dialects/test_bigquery.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/dialects/test_bigquery.py b/tests/dialects/test_bigquery.py index 1f5f902..8d172ea 100644 --- a/tests/dialects/test_bigquery.py +++ b/tests/dialects/test_bigquery.py @@ -122,6 +122,14 @@ class TestBigQuery(Validator): """SELECT JSON '"foo"' AS json_data""", """SELECT PARSE_JSON('"foo"') AS json_data""", ) + self.validate_identity( + "CREATE OR REPLACE TABLE `a.b.c` CLONE `a.b.d`", + "CREATE OR REPLACE TABLE a.b.c CLONE a.b.d", + ) + self.validate_identity( + "SELECT * FROM UNNEST(x) WITH OFFSET EXCEPT DISTINCT SELECT * FROM UNNEST(y) WITH OFFSET", + "SELECT * FROM UNNEST(x) WITH OFFSET AS offset EXCEPT DISTINCT SELECT * FROM UNNEST(y) WITH OFFSET AS offset", + ) self.validate_all("SELECT SPLIT(foo)", write={"bigquery": "SELECT SPLIT(foo, ',')"}) self.validate_all("SELECT 1 AS hash", write={"bigquery": "SELECT 1 AS `hash`"}) @@ -131,6 +139,35 @@ class TestBigQuery(Validator): self.validate_all("x <> ''''''", write={"bigquery": "x <> ''"}) self.validate_all("CAST(x AS DATETIME)", read={"": "x::timestamp"}) self.validate_all( + "SELECT '\\n'", + read={ + "bigquery": "SELECT '''\n'''", + }, + write={ + "bigquery": "SELECT '\\n'", + "postgres": "SELECT '\n'", + }, + ) + self.validate_all( + "TRIM(item, '*')", + read={ + "snowflake": "TRIM(item, '*')", + "spark": "TRIM('*', item)", + }, + write={ + "bigquery": "TRIM(item, '*')", + "snowflake": "TRIM(item, '*')", + "spark": "TRIM('*' FROM item)", + }, + ) + self.validate_all( + "CREATE OR REPLACE TABLE `a.b.c` COPY `a.b.d`", + write={ + "bigquery": "CREATE OR REPLACE TABLE a.b.c COPY a.b.d", + "snowflake": "CREATE OR REPLACE TABLE a.b.c CLONE a.b.d", + }, + ) + self.validate_all( "SELECT DATETIME_DIFF('2023-01-01T00:00:00', '2023-01-01T05:00:00', MILLISECOND)", write={ "bigquery": "SELECT DATETIME_DIFF('2023-01-01T00:00:00', '2023-01-01T05:00:00', MILLISECOND)", @@ -608,6 +645,9 @@ class TestBigQuery(Validator): "postgres": "CURRENT_DATE AT TIME ZONE 'UTC'", }, ) + self.validate_identity( + "SELECT * FROM test QUALIFY a IS DISTINCT FROM b WINDOW c AS (PARTITION BY d)" + ) self.validate_all( "SELECT a FROM test WHERE a = 1 GROUP BY a HAVING a = 2 QUALIFY z ORDER BY a LIMIT 10", write={ |