[ https://issues.apache.org/jira/browse/SPARK-24916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yuming Wang resolved SPARK-24916. --------------------------------- Resolution: Duplicate > Fix type coercion for IN expression with subquery > ------------------------------------------------- > > Key: SPARK-24916 > URL: https://issues.apache.org/jira/browse/SPARK-24916 > Project: Spark > Issue Type: Bug > Components: SQL > Affects Versions: 2.2.0, 2.3.0 > Reporter: Yuming Wang > Priority: Major > > How to reproduce: > {code:sql} > CREATE TEMPORARY VIEW t4 AS SELECT * FROM VALUES > (CAST(1 AS DOUBLE), CAST(2 AS STRING), CAST(3 AS STRING)) > AS t1(t4a, t4b, t4c); > CREATE TEMPORARY VIEW t5 AS SELECT * FROM VALUES > (CAST(1 AS DECIMAL(18, 0)), CAST(2 AS STRING), CAST(3 AS BIGINT)) > AS t1(t5a, t5b, t5c); > SELECT * FROM t4 > WHERE > (t4a, t4b, t4c) IN (SELECT t5a, > t5b, > t5c > FROM t5); > {code} > Will throw exception: > {noformat} > org.apache.spark.sql.AnalysisException > cannot resolve '(named_struct('t4a', t4.`t4a`, 't4b', t4.`t4b`, 't4c', > t4.`t4c`) IN (listquery()))' due to data type mismatch: > The data type of one or more elements in the left hand side of an IN subquery > is not compatible with the data type of the output of the subquery > Mismatched columns: > [(t4.`t4a`:double, t5.`t5a`:decimal(18,0)), (t4.`t4c`:string, > t5.`t5c`:bigint)] > Left side: > [double, string, string]. > Right side: > [decimal(18,0), string, bigint].; > {noformat} > But it success on Spark 2.1.x. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org