@@ -220,22 +220,23 @@ class SimplifyConditionalSuite extends PlanTest with ExpressionEvalHelper with P
220
220
assert(! nonDeterministic.deterministic)
221
221
assertEquivalent(EqualTo (nonDeterministic, Literal (- 1 )), EqualTo (nonDeterministic, Literal (- 1 )))
222
222
223
- // null check, SPARK-33798 will not change these behaviors.
224
- assertEquivalent(
225
- EqualTo (If (FalseLiteral , Literal (null , IntegerType ), Literal (1 )), Literal (1 )),
226
- TrueLiteral )
223
+ // null check, SPARK-33798 will change the following two behaviors.
227
224
assertEquivalent(
228
- EqualTo (If (TrueLiteral , Literal (null , IntegerType ), Literal (1 )), Literal (1 )),
229
- Literal ( null , BooleanType ) )
225
+ EqualTo (If (a === Literal ( 1 ) , Literal (null , IntegerType ), Literal (1 )), Literal (2 )),
226
+ FalseLiteral )
230
227
assertEquivalent(
231
- EqualTo (If (FalseLiteral , Literal (null , IntegerType ), Literal (null , IntegerType )), Literal (1 )),
232
- Literal ( null , BooleanType ) )
228
+ EqualTo (If (a =!= Literal (1 ), Literal (1 ), Literal ( 2 )), Literal (null , IntegerType )),
229
+ FalseLiteral )
233
230
234
231
assertEquivalent(
235
- EqualTo (If (FalseLiteral , Literal (1 ), Literal (2 )) , Literal (null , IntegerType )),
236
- Literal (null , BooleanType ))
232
+ EqualTo (If (a === Literal (1 ), Literal (null , IntegerType ) , Literal (1 )), Literal ( 1 )),
233
+ EqualTo ( If (a === Literal (1 ), Literal ( null , IntegerType ), Literal ( 1 )), Literal ( 1 ) ))
237
234
assertEquivalent(
238
- EqualTo (If (TrueLiteral , Literal (1 ), Literal (2 )), Literal (null , IntegerType )),
235
+ EqualTo (If (a =!= Literal (1 ), Literal (null , IntegerType ), Literal (1 )), Literal (1 )),
236
+ EqualTo (If (a =!= Literal (1 ), Literal (null , IntegerType ), Literal (1 )), Literal (1 )))
237
+ assertEquivalent(
238
+ EqualTo (If (a =!= Literal (1 ), Literal (null , IntegerType ), Literal (null , IntegerType )),
239
+ Literal (1 )),
239
240
Literal (null , BooleanType ))
240
241
}
241
242
0 commit comments