Skip to content

Commit bcd0ba7

Browse files
andrew-colemanvbarua
authored andcommitted
feat(spark): support NULL safe equality operator
Add support for the <=> operator (NULL safe equals) which gets generated by the spark optimiser for certain queries. Enables three more successful TPC-DS tests. Signed-off-by: Andrew Coleman <[email protected]>
1 parent d5452ad commit bcd0ba7

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

spark/src/main/scala/io/substrait/spark/expression/FunctionMappings.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ class FunctionMappings {
4747
s[GreaterThan]("gt"),
4848
s[GreaterThanOrEqual]("gte"),
4949
s[EqualTo]("equal"),
50+
s[EqualNullSafe]("is_not_distinct_from"),
5051
// s[BitwiseXor]("xor"),
5152
s[IsNull]("is_null"),
5253
s[IsNotNull]("is_not_null"),

spark/src/test/scala/io/substrait/spark/TPCDSPlan.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ class TPCDSPlan extends TPCDSBase with SubstraitPlanTestBase {
3333

3434
// "q9" failed in spark 3.3
3535
val successfulSQL: Set[String] = Set("q1", "q3", "q4", "q7",
36-
"q11", "q13", "q15", "q16", "q18", "q19",
36+
"q11", "q13", "q14b", "q15", "q16", "q18", "q19",
3737
"q21", "q22", "q23a", "q23b", "q25", "q26", "q28", "q29",
38-
"q30", "q31", "q32", "q33", "q37",
38+
"q30", "q31", "q32", "q33", "q37", "q38",
3939
"q41", "q42", "q43", "q46", "q48",
4040
"q50", "q52", "q54", "q55", "q56", "q58", "q59",
4141
"q60", "q61", "q62", "q65", "q66", "q68", "q69",
4242
"q71", "q73", "q76", "q79",
43-
"q81", "q82", "q85", "q88",
43+
"q81", "q82", "q85", "q87", "q88",
4444
"q90", "q91", "q92", "q93", "q94", "q95", "q96", "q97", "q99")
4545

4646
tpcdsQueries.foreach {

0 commit comments

Comments
 (0)