andygrove commented on code in PR #16946:
URL: https://github.com/apache/datafusion/pull/16946#discussion_r2291754511


##########
datafusion/sqllogictest/test_files/spark/conditional/if.slt:
##########
@@ -21,7 +21,135 @@
 # For more information, please see:
 #   https://github.com/apache/datafusion/issues/15914
 
-## Original Query: SELECT if(1 < 2, 'a', 'b');
-## PySpark 3.5.5 Result: {'(IF((1 < 2), a, b))': 'a', 'typeof((IF((1 < 2), a, 
b)))': 'string', 'typeof((1 < 2))': 'boolean', 'typeof(a)': 'string', 
'typeof(b)': 'string'}
-#query
-#SELECT if((1 < 2)::boolean, 'a'::string, 'b'::string);
+## Basic IF function tests
+
+# Test basic true condition
+query T
+SELECT if(true, 'yes', 'no');

Review Comment:
   I'm sorry, I wasn't clear on my comment above. It could be that the 2nd or 
3rd argument expressions could fail if evaluated on certain rows, and we would 
expect `if` to provide conditional evaluation. For example:
   
   ```select if(a==0, 0, b/a) from tbl```
   
   if `a==0` then we want to avoid evaluating `b/a` because it would cause a 
divide by zero error.
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to