codeant-ai-for-open-source[bot] commented on code in PR #43565:
URL: https://github.com/apache/superset/pull/43565#discussion_r3867096108


##########
superset/sql/parse.py:
##########
@@ -732,6 +732,60 @@ def __str__(self) -> str:
         return self.format()
 
 
+def _find_last_token_node(node: exp.Expression) -> exp.Expression:
+    """
+    Find the last token/leaf node in SQL generation order to attach trailing 
comments.
+
+    Avoids optimizer hints (exp.Hint) and non-trailing subtrees to prevent 
injecting
+    trailing comments inside optimizer hint blocks (e.g. /*+ SET_VAR(...) */).
+    """
+    if isinstance(node, exp.Select):
+        for clause_name in (
+            "options",
+            "settings",
+            "format",
+            "locks",
+            "offset",
+            "limit",
+            "sort",
+            "cluster",
+            "distribute",
+            "order",
+            "window",

Review Comment:
   **Suggestion:** The SQLGlot `Select` AST stores window definitions under the 
`windows` argument, not `window`. As a result, a query containing both a 
`WHERE` clause and a trailing `WINDOW` clause skips the actual final clause, 
selects `where` as the target, and attaches the trailing comment before the 
window definition instead of after the statement. Because the comment may be 
rendered as a line comment, this can also comment out or corrupt the subsequent 
`WINDOW` clause. Use the actual `windows` argument name and verify its position 
against the dialect generator order. [incorrect condition logic]
   
   <details>
   <summary><b>Severity Level:</b> Major ⚠️</summary>
   
   ```mdx
   - ❌ Windowed queries can render trailing comments before `WINDOW`.
   - ⚠️ SQL Lab formatting may corrupt subsequent window definitions.
   - ⚠️ Executor formats transformed SQL before database execution.
   ```
   </details>
   
   [![Use CodeAnt 
Skill](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/use-codeant-skill-flat-v2.svg)](https://docs.codeant.ai/cli/resolve-pr-comments-skill)
 [![Fix in 
Cursor](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-cursor-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=e52a6c24e99a4939bd4b5f738d76f4fa&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
 [![Fix in VSCode 
Claude](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-vscode-claude-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=e52a6c24e99a4939bd4b5f738d76f4fa&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
   <details>
   <summary><b>Prompt for AI Agent 🤖 </b></summary>
   
   ```mdx
   This is a comment left during a code review.
   
   **Path:** superset/sql/parse.py
   **Line:** 754:754
   **Comment:**
        *Incorrect Condition Logic: The SQLGlot `Select` AST stores window 
definitions under the `windows` argument, not `window`. As a result, a query 
containing both a `WHERE` clause and a trailing `WINDOW` clause skips the 
actual final clause, selects `where` as the target, and attaches the trailing 
comment before the window definition instead of after the statement. Because 
the comment may be rendered as a line comment, this can also comment out or 
corrupt the subsequent `WINDOW` clause. Use the actual `windows` argument name 
and verify its position against the dialect generator order.
   
   Validate the correctness of the flagged issue. If correct, How can I resolve 
this? If you propose a fix, implement it and please make it concise.
   Once fix is implemented, also check other comments on the same PR, and ask 
user if the user wants to fix the rest of the comments as well. if said yes, 
then fetch all the comments validate the correctness and implement a minimal fix
   ```
   </details>
   <a 
href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F43565&comment_hash=756f35ffa2fdaf4da2f381031f1bbb9c9e1f4b6f5579ade5703d0bc698625244&reaction=like'>👍</a>
 | <a 
href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F43565&comment_hash=756f35ffa2fdaf4da2f381031f1bbb9c9e1f4b6f5579ade5703d0bc698625244&reaction=dislike'>👎</a>



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to