Bogdan Raducanu created SPARK-19512:
---------------------------------------

             Summary: codegen for compare structs fails
                 Key: SPARK-19512
                 URL: https://issues.apache.org/jira/browse/SPARK-19512
             Project: Spark
          Issue Type: Bug
          Components: SQL
    Affects Versions: 2.1.0, 2.0.0
            Reporter: Bogdan Raducanu


This (1 struct field)

{{
spark.range(10)
      .selectExpr("named_struct('a', id) as col1", "named_struct('a', id+2) as 
col2")
      .filter("col1 = col2").count
}}

fails with

{{
[info]   Cause: java.util.concurrent.ExecutionException: java.lang.Exception: 
failed to compile: org.codehaus.commons.compiler.CompileException: File 
'generated.java', Line 144, Column 32: Expression "range_value" is not an rvalue
}}

This (2 struct fields)
{{
spark.range(10).selectExpr("named_struct('a', id, 'b', id) as col1", 
"named_struct('a',id+2, 'b',id+2) as col2").filter($"col1" === $"col2").count
}}

fails with 
{{

Caused by: java.lang.IndexOutOfBoundsException: 1
  at 
scala.collection.LinearSeqOptimized$class.apply(LinearSeqOptimized.scala:65)
  at scala.collection.immutable.List.apply(List.scala:84)
  at 
org.apache.spark.sql.catalyst.expressions.BoundReference.doGenCode(BoundAttribute.scala:64)
}}




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to