cloud-fan commented on code in PR #47442: URL: https://github.com/apache/spark/pull/47442#discussion_r1689236185
########## sql/core/src/main/scala/org/apache/spark/sql/scripting/SqlScriptingExecutionNode.scala: ########## @@ -155,3 +157,98 @@ abstract class CompoundNestedStatementIteratorExec(collection: Seq[CompoundState */ class CompoundBodyExec(statements: Seq[CompoundStatementExec]) extends CompoundNestedStatementIteratorExec(statements) + +/** + * Executable node for IfElseStatement. + * @param conditions Collection of executable conditions. First condition corresponds to IF clause, + * while others (if any) correspond to following ELSE IF clauses. + * @param bodies Collection of executable bodies. + * @param booleanEvaluator Evaluator for Boolean conditions. + */ +class IfElseStatementExec( + conditions: Seq[SingleStatementExec], + bodies: Seq[CompoundBodyExec], + booleanEvaluator: StatementBooleanEvaluator) extends NonLeafStatementExec { + private object IfElseState extends Enumeration { + val Condition, Body = Value + } + + private var state = IfElseState.Condition + private var curr: Option[CompoundStatementExec] = Some(conditions.head) + + private var clauseIdx: Int = 0 + private val conditionsCount: Int = conditions.length + private val bodiesCount: Int = bodies.length + assert(conditionsCount == bodiesCount || conditionsCount + 1 == bodiesCount) + + private lazy val treeIterator: Iterator[CompoundStatementExec] = Review Comment: I mean from user's perspective within JDBC protocol. Should users be able to see the if conditions as part of the result sets? -- 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: reviews-unsubscr...@spark.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org