[ 
https://issues.apache.org/jira/browse/SPARK-46062?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jungtaek Lim reassigned SPARK-46062:
------------------------------------

    Assignee: Jungtaek Lim

> CTE reference node does not inherit the flag `isStreaming` from CTE 
> definition node
> -----------------------------------------------------------------------------------
>
>                 Key: SPARK-46062
>                 URL: https://issues.apache.org/jira/browse/SPARK-46062
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 3.3.2, 3.4.1, 3.5.0, 4.0.0
>            Reporter: Jungtaek Lim
>            Assignee: Jungtaek Lim
>            Priority: Major
>              Labels: pull-request-available
>
> Looks like this is a long standing bug.
> We figured out that CTE reference node would never set the isStreaming flag 
> to true, regardless of the value for flag in CTE definition. The node cannot 
> determine the right value of isStreaming flag by itself (likewise it cannot 
> determine about resolution by itself) but it has no parameter in constructor, 
> hence always takes the default (no children, so batch one).
> This may impact some rules which behaves differently depending on isStreaming 
> flag. It would no longer be a problem once CTE reference is replaced with CTE 
> definition at some point in "optimization phase", but all rules in analyzer 
> and optimizer being triggered before the rule takes effect may be impacted.
> We probably couldn't sync the flag in real time, but we should sync the flag 
> when we mark CTE reference to be "resolved". The rule `ResolveWithCTE` will 
> be a good place to do that.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to