[ 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