alamb commented on issue #419:
URL: 
https://github.com/apache/arrow-datafusion/issues/419#issuecomment-847337810


   Looks to me like perhaps there is some large intermediate temporary on the 
stack ?
   ```
   frame #1: 0x0000000100cd9f2e 
server-1e6859002d2827ad`_$LT$datafusion..physical_plan..expressions..binary..BinaryExpr$u20$as$u20$datafusion..physical_plan..PhysicalExpr$GT$::evaluate::hb8fed722869b3a1e
 at binary.rs:419
      409                   &self.left.data_type(input_schema)?,
      410                   &self.op,
      411                   &self.right.data_type(input_schema)?,
      412               )
      413           }
      414       
      415           fn nullable(&self, input_schema: &Schema) -> Result<bool> {
      416               Ok(self.left.nullable(input_schema)? || 
self.right.nullable(input_schema)?)
      417           }
      418       
   -> 419           fn evaluate(&self, batch: &RecordBatch) -> 
Result<ColumnarValue> {
      420               let left_value = self.left.evaluate(batch)?;
      421               let right_value = self.right.evaluate(batch)?;
      422               let left_data_type = left_value.data_type();
      423               let right_data_type = right_value.data_type();
      424       
      425               if left_data_type != right_data_type {
      426                   return Err(DataFusionError::Internal(format!(
      427                       "Cannot evaluate binary expression {:?} with 
types {:?} and {:?}",
      428                       self.op, left_data_type, right_data_type
      429                   )));
   (lldb) 
   frame #2: 0x0000000100cd9fd4 
server-1e6859002d2827ad`_$LT$datafusion..physical_plan..expressions..binary..BinaryExpr$u20$as$u20$datafusion..physical_plan..PhysicalExpr$GT$::evaluate::hb8fed722869b3a1e
 at binary.rs:420:26
      410                   &self.op,
      411                   &self.right.data_type(input_schema)?,
      412               )
      413           }
      414       
      415           fn nullable(&self, input_schema: &Schema) -> Result<bool> {
      416               Ok(self.left.nullable(input_schema)? || 
self.right.nullable(input_schema)?)
      417           }
      418       
      419           fn evaluate(&self, batch: &RecordBatch) -> 
Result<ColumnarValue> {
   -> 420               let left_value = self.left.evaluate(batch)?;
      421               let right_value = self.right.evaluate(batch)?;
      422               let left_data_type = left_value.data_type();
      423               let right_data_type = right_value.data_type();
      424       
      425               if left_data_type != right_data_type {
      426                   return Err(DataFusionError::Internal(format!(
      427                       "Cannot evaluate binary expression {:?} with 
types {:?} and {:?}",
      428                       self.op, left_data_type, right_data_type
      429                   )));
      430               }
   ```


-- 
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.

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


Reply via email to