spark-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Priyanka Garg (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SPARK-18048) If expression behaves differently if true and false expression are interchanged in case of different data types.
Date Mon, 24 Oct 2016 06:31:00 GMT

     [ https://issues.apache.org/jira/browse/SPARK-18048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Priyanka Garg updated SPARK-18048:
----------------------------------
    Description: 
If expression behaves differently if true and false expression are interchanged in case of
different data types.

For eg. 
  checkEvaluation(
      If(Literal.create(true, BooleanType),
        Literal.create(identity(1), DateType),
        Literal.create(identity(2L), TimestampType)),
      identity(1)) is throwing error while 

 checkEvaluation(
      If(Literal.create(true, BooleanType),
        Literal.create(identity(1L), TimestampType),
        Literal.create(identity(2), DateType)),
      identity(1L)) works fine.

The reason for the same is that the If expression 's datatype only considers trueValue.dataType.

Also, 
  checkEvaluation(
      If(Literal.create(true, BooleanType),
        Literal.create(identity(1), DateType),
        Literal.create(identity(2L), TimestampType)),
      identity(1))
 is breaking only in case of Generated mutable Projection and Unsafe projection. For all other
types its working fine.

Either both should work or none should work

  was:
If expression behaves differently if true and false expression are interchanged in case of
different data types.

For eg. 
If(Literal.create(geo != null, BooleanType),
        Literal.create(null, DateType),
        Literal.create(null, TimestampType)) is throwing error while 

If(Literal.create(geo != null, BooleanType),
        Literal.create(null, TimestampType),
        Literal.create(null, DateType )) works fine.

The reason for the same is that the If expression 's datatype only considers trueValue.dataType.

Also, 
If(Literal.create(geo != null, BooleanType),
        Literal.create(null, DateType),
        Literal.create(null, TimestampType))
 is breaking only in case of Generated mutable Projection and Unsafe projection. For all other
types its working fine.

Either both should work or none should work


> If expression behaves differently if true and false expression are interchanged in case
of different data types.
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-18048
>                 URL: https://issues.apache.org/jira/browse/SPARK-18048
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>            Reporter: Priyanka Garg
>
> If expression behaves differently if true and false expression are interchanged in case
of different data types.
> For eg. 
>   checkEvaluation(
>       If(Literal.create(true, BooleanType),
>         Literal.create(identity(1), DateType),
>         Literal.create(identity(2L), TimestampType)),
>       identity(1)) is throwing error while 
>  checkEvaluation(
>       If(Literal.create(true, BooleanType),
>         Literal.create(identity(1L), TimestampType),
>         Literal.create(identity(2), DateType)),
>       identity(1L)) works fine.
> The reason for the same is that the If expression 's datatype only considers trueValue.dataType.
> Also, 
>   checkEvaluation(
>       If(Literal.create(true, BooleanType),
>         Literal.create(identity(1), DateType),
>         Literal.create(identity(2L), TimestampType)),
>       identity(1))
>  is breaking only in case of Generated mutable Projection and Unsafe projection. For
all other types its working fine.
> Either both should work or none should work



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org


Mime
View raw message