alamb commented on code in PR #13953: URL: https://github.com/apache/datafusion/pull/13953#discussion_r1903110723
########## datafusion/physical-expr/src/expressions/case.rs: ########## @@ -394,6 +401,43 @@ impl CaseExpr { Ok(ColumnarValue::Array(zip(&when_value, &then_value, &else_)?)) } + + fn expr_or_expr(&self, batch: &RecordBatch) -> Result<ColumnarValue> { + let return_type = self.data_type(&batch.schema())?; + + // evalute when condition on batch + let when_value = self.when_then_expr[0].0.evaluate(batch)?; + let when_value = when_value.into_array(batch.num_rows())?; + let when_value = as_boolean_array(&when_value).map_err(|e| { + DataFusionError::Context( + "WHEN expression did not return a BooleanArray".to_string(), + Box::new(e), + ) Review Comment: Follow on issue: - ########## datafusion/physical-expr/src/expressions/case.rs: ########## @@ -394,6 +401,43 @@ impl CaseExpr { Ok(ColumnarValue::Array(zip(&when_value, &then_value, &else_)?)) } + + fn expr_or_expr(&self, batch: &RecordBatch) -> Result<ColumnarValue> { + let return_type = self.data_type(&batch.schema())?; + + // evalute when condition on batch + let when_value = self.when_then_expr[0].0.evaluate(batch)?; + let when_value = when_value.into_array(batch.num_rows())?; + let when_value = as_boolean_array(&when_value).map_err(|e| { + DataFusionError::Context( + "WHEN expression did not return a BooleanArray".to_string(), + Box::new(e), + ) Review Comment: Follow on issue: - https://github.com/apache/datafusion/issues/13990 -- 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: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org