Skip to content

Commit

Permalink
fix: do not replace query as cte for already processed queries
Browse files Browse the repository at this point in the history
  • Loading branch information
nextchamp-saqib committed Dec 5, 2023
1 parent 0a011cf commit 6edcc59
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions insights/insights/doctype/insights_data_source/sources/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,11 @@ def get_stored_query_sql(sql, data_source=None, verbose=False):
# get the sql for the queries
queries = frappe.get_all(
"Insights Query",
filters={"name": ("in", query_tables)},
fields=["name", "sql", "data_source"],
filters={
"name": ("in", set(query_tables)),
"data_source": data_source,
},
fields=["name", "sql", "data_source", "is_native_query"],
)
if not queries:
return None
Expand All @@ -172,6 +175,9 @@ def get_stored_query_sql(sql, data_source=None, verbose=False):
frappe.throw("Cannot use queries from different data sources in a single query")

stored_query_sql[sql.name] = sql.sql
if not sql.is_native_query:
# non native queries are already processed and stored in the db
continue
sub_stored_query_sql = get_stored_query_sql(sql.sql, data_source)
# sub_stored_query_sql = { 'QRY-004': 'SELECT name FROM `Item`' }
if not sub_stored_query_sql:
Expand All @@ -191,10 +197,6 @@ def process_cte(main_query, data_source=None):
Replaces stored queries in the main query with the actual query using CTE
"""

processed_comment = "/* query tables processed as CTE */"
if processed_comment in main_query:
return main_query

stored_query_sql = get_stored_query_sql(main_query, data_source)
if not stored_query_sql:
return main_query
Expand Down Expand Up @@ -229,7 +231,7 @@ def process_cte(main_query, data_source=None):
for query_name, sql in stored_query_sql.items():
cte += f" `{query_name}` AS ({sql}),"
cte = cte[:-1]
return f"{processed_comment} {cte} {main_query}"
return f"{cte} {main_query}"


def strip_quotes(table):
Expand Down

0 comments on commit 6edcc59

Please sign in to comment.