Spaces:
Paused
Paused
Download tests/unit_tests/sql/test_firebolt_dialect.py from Leon4gr45/powerbi: direct link, hf CLI and curl.
- Browser
- Download file 2.26 kB
-
https://huggingface.co/spaces/Leon4gr45/powerbi/resolve/main/tests/unit_tests/sql/test_firebolt_dialect.py
- Command line
-
hf download hf://spaces/Leon4gr45/powerbi/tests/unit_tests/sql/test_firebolt_dialect.py
-
curl -L -o test_firebolt_dialect.py https://huggingface.co/spaces/Leon4gr45/powerbi/resolve/main/tests/unit_tests/sql/test_firebolt_dialect.py
2.26 kB
| # Licensed to the Apache Software Foundation (ASF) under one | |
| # or more contributor license agreements. See the NOTICE file | |
| # distributed with this work for additional information | |
| # regarding copyright ownership. The ASF licenses this file | |
| # to you under the Apache License, Version 2.0 (the | |
| # "License"); you may not use this file except in compliance | |
| # with the License. You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, | |
| # software distributed under the License is distributed on an | |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| # KIND, either express or implied. See the License for the | |
| # specific language governing permissions and limitations | |
| # under the License. | |
| """Tests for Firebolt dialect support in sqlglot.""" | |
| from superset.sql.parse import SQLScript | |
| def test_firebolt_exclude_syntax() -> None: | |
| """Test that Firebolt EXCLUDE syntax is preserved (not transformed to EXCEPT).""" | |
| sql = "SELECT g.* EXCLUDE (source_file_timestamp) FROM public.games g" | |
| script = SQLScript(sql, "firebolt") | |
| generated = script.format() | |
| assert "EXCLUDE" in generated | |
| assert "EXCEPT" not in generated | |
| assert "source_file_timestamp" in generated | |
| def test_firebolt_exclude_multiple_columns() -> None: | |
| """Test EXCLUDE with multiple columns.""" | |
| sql = "SELECT * EXCLUDE (col1, col2, col3) FROM my_table" | |
| script = SQLScript(sql, "firebolt") | |
| generated = script.format() | |
| assert "EXCLUDE" in generated | |
| assert "EXCEPT" not in generated | |
| assert "col1" in generated | |
| assert "col2" in generated | |
| assert "col3" in generated | |
| def test_firebolt_sql_parsing() -> None: | |
| """Test that Firebolt SQL can be parsed without errors.""" | |
| sql = "SELECT * FROM my_table LIMIT 10" | |
| script = SQLScript(sql, "firebolt") | |
| assert len(script.statements) == 1 | |
| assert not script.has_mutation() | |
| def test_firebolt_not_in_parenthesized() -> None: | |
| """Test that NOT IN is properly parenthesized in Firebolt.""" | |
| sql = "SELECT * FROM my_table WHERE id NOT IN (1, 2, 3)" | |
| script = SQLScript(sql, "firebolt") | |
| generated = script.format() | |
| assert "NOT" in generated | |
| assert "IN" in generated | |