mirror of
https://github.com/datahub-project/datahub.git
synced 2025-12-27 18:07:57 +00:00
fix(ingest/bigquery) - Fix for Bigquery parser quoted semicolon in the FROM table name as well (#7277)
This commit is contained in:
parent
c0bc477ca5
commit
1402071e48
@ -79,7 +79,7 @@ class BigQuerySQLParser(SQLParser):
|
||||
Note: ignore cases of having keyword FROM as part of datetime function EXTRACT
|
||||
"""
|
||||
return re.sub(
|
||||
r"(?<!day\s)(?<!(date|time|hour|week|year)\s)(?<!month\s)(?<!(second|minute)\s)(?<!quarter\s)(?<!\.)(from\s)([^`\s()]+)",
|
||||
r"(?<!day\s)(?<!(date|time|hour|week|year)\s)(?<!month\s)(?<!(second|minute)\s)(?<!quarter\s)(?<!\.)(from\s)([^`\s();]+)",
|
||||
r"\3`\4`",
|
||||
sql_query,
|
||||
flags=re.IGNORECASE,
|
||||
|
||||
@ -303,3 +303,19 @@ EXTRACT(TIME FROM time_field) AS col_17
|
||||
FROM `src-project.dataset.src_table_a`
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
def test_bigquery_sql_parser_with_semicolon_in_from():
|
||||
sql_query = """CREATE VIEW `acryl-staging.smoke_test_db.view_from_table`\nAS select * from smoke_test_db.base_table;"""
|
||||
|
||||
table_list = BigQuerySQLParser(sql_query).get_tables()
|
||||
table_list.sort()
|
||||
assert table_list == ["smoke_test_db.base_table"]
|
||||
|
||||
|
||||
def test_bigquery_sql_parser_with_parenthesis_in_from():
|
||||
sql_query = """CREATE VIEW `acryl-staging.smoke_test_db.view_from_table`\nAS (select * from smoke_test_db.base_table);"""
|
||||
|
||||
table_list = BigQuerySQLParser(sql_query).get_tables()
|
||||
table_list.sort()
|
||||
assert table_list == ["smoke_test_db.base_table"]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user