diff --git a/superset/sql_parse.py b/superset/sql_parse.py index d2e20f9cbae..ed463a40e68 100644 --- a/superset/sql_parse.py +++ b/superset/sql_parse.py @@ -1104,7 +1104,7 @@ def extract_tables_from_jinja_sql(sql: str, database: Database) -> set[Table]: Table( *[ remove_quotes(part.strip()) - for part in node.args[0].value.split(".")[::-1] + for part in node.args[0].as_const().split(".")[::-1] if len(node.args) == 1 ] ) diff --git a/tests/unit_tests/sql_parse_tests.py b/tests/unit_tests/sql_parse_tests.py index bbb19fd8033..1aa92cb90dd 100644 --- a/tests/unit_tests/sql_parse_tests.py +++ b/tests/unit_tests/sql_parse_tests.py @@ -1895,6 +1895,7 @@ SELECT * FROM t""" [ "latest_partition('foo.bar')", "latest_partition(' foo.bar ')", # Non-atypical user error which works + "latest_partition('foo.%s'|format('bar'))", "latest_sub_partition('foo.bar', baz='qux')", ], )