alamb commented on code in PR #8520:
URL: https://github.com/apache/arrow-datafusion/pull/8520#discussion_r1424456727


##########
datafusion/sqllogictest/test_files/functions.slt:
##########
@@ -995,3 +995,8 @@ query ?
 SELECT find_in_set(NULL, NULL)
 ----
 NULL
+
+query B
+SELECT r1 == r2 FROM (SELECT random() r1, random() r2)
+----
+false

Review Comment:
   For some reason, this query actually passes on `main` without the changes 
from this PR:
   
   ```
   DataFusion CLI v33.0.0
   ❯ SELECT r1 == r2 FROM (SELECT random() r1, random() r2);
   +---------+
   | r1 = r2 |
   +---------+
   | false   |
   +---------+
   1 row in set. Query took 0.023 seconds.
   
   ❯ explain SELECT r1 == r2 FROM (SELECT random() r1, random() r2);
   +---------------+-------------------------------------------------------+
   | plan_type     | plan                                                  |
   +---------------+-------------------------------------------------------+
   | logical_plan  | Projection: random() = random() AS r1 = r2            |
   |               |   EmptyRelation                                       |
   | physical_plan | ProjectionExec: expr=[random() = random() as r1 = r2] |
   |               |   PlaceholderRowExec                                  |
   |               |                                                       |
   +---------------+-------------------------------------------------------+
   2 rows in set. Query took 0.009 seconds.
   
   DataFusion CLI v33.0.0
   ❯ explain verbose SELECT r1 == r2 FROM (SELECT random() r1, random() r2);
   
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------+
   | plan_type                                                  | plan          
                                                                                
                 |
   
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------+
   | initial_logical_plan                                       | Projection: 
r1 = r2                                                                         
                   |
   |                                                            |   Projection: 
random() AS r1, random() AS r2                                                  
                 |
   |                                                            |     
EmptyRelation                                                                   
                           |
   ...
   | logical_plan after optimize_projections                    | Projection: 
random() = random() AS r1 = r2                                                  
                   |
   |                                                            |   Projection: 
random() AS random()                                                            
                 |
   |                                                            |     
EmptyRelation                                                                   
                           |
   | logical_plan after eliminate_nested_union                  | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after simplify_expressions                    | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after unwrap_cast_in_comparison               | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after replace_distinct_aggregate              | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_join                          | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after decorrelate_predicate_subquery          | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after scalar_subquery_to_join                 | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after extract_equijoin_predicate              | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after simplify_expressions                    | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after rewrite_disjunctive_predicate           | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_duplicated_expr               | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_filter                        | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_cross_join                    | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after common_sub_expression_eliminate         | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_limit                         | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after propagate_empty_relation                | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_one_union                     | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after filter_null_join_keys                   | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_outer_join                    | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after push_down_limit                         | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after push_down_filter                        | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after single_distinct_aggregation_to_group_by | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after simplify_expressions                    | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after unwrap_cast_in_comparison               | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after common_sub_expression_eliminate         | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after optimize_projections                    | Projection: 
random() = random() AS r1 = r2                                                  
                   |
   |                                                            |   
EmptyRelation
   ```
   
   



##########
datafusion/sqllogictest/test_files/functions.slt:
##########
@@ -995,3 +995,8 @@ query ?
 SELECT find_in_set(NULL, NULL)
 ----
 NULL
+
+query B
+SELECT r1 == r2 FROM (SELECT random() r1, random() r2)
+----
+false

Review Comment:
   For some reason, this query actually passes on `main` without the changes 
from this PR:
   
   ```
   DataFusion CLI v33.0.0
   ❯ SELECT r1 == r2 FROM (SELECT random() r1, random() r2);
   +---------+
   | r1 = r2 |
   +---------+
   | false   |
   +---------+
   1 row in set. Query took 0.023 seconds.
   
   ❯ explain SELECT r1 == r2 FROM (SELECT random() r1, random() r2);
   +---------------+-------------------------------------------------------+
   | plan_type     | plan                                                  |
   +---------------+-------------------------------------------------------+
   | logical_plan  | Projection: random() = random() AS r1 = r2            |
   |               |   EmptyRelation                                       |
   | physical_plan | ProjectionExec: expr=[random() = random() as r1 = r2] |
   |               |   PlaceholderRowExec                                  |
   |               |                                                       |
   +---------------+-------------------------------------------------------+
   2 rows in set. Query took 0.009 seconds.
   
   DataFusion CLI v33.0.0
   ❯ explain verbose SELECT r1 == r2 FROM (SELECT random() r1, random() r2);
   
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------+
   | plan_type                                                  | plan          
                                                                                
                 |
   
+------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------+
   | initial_logical_plan                                       | Projection: 
r1 = r2                                                                         
                   |
   |                                                            |   Projection: 
random() AS r1, random() AS r2                                                  
                 |
   |                                                            |     
EmptyRelation                                                                   
                           |
   ...
   | logical_plan after optimize_projections                    | Projection: 
random() = random() AS r1 = r2                                                  
                   |
   |                                                            |   Projection: 
random() AS random()                                                            
                 |
   |                                                            |     
EmptyRelation                                                                   
                           |
   | logical_plan after eliminate_nested_union                  | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after simplify_expressions                    | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after unwrap_cast_in_comparison               | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after replace_distinct_aggregate              | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_join                          | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after decorrelate_predicate_subquery          | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after scalar_subquery_to_join                 | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after extract_equijoin_predicate              | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after simplify_expressions                    | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after rewrite_disjunctive_predicate           | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_duplicated_expr               | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_filter                        | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_cross_join                    | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after common_sub_expression_eliminate         | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_limit                         | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after propagate_empty_relation                | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_one_union                     | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after filter_null_join_keys                   | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after eliminate_outer_join                    | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after push_down_limit                         | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after push_down_filter                        | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after single_distinct_aggregation_to_group_by | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after simplify_expressions                    | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after unwrap_cast_in_comparison               | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after common_sub_expression_eliminate         | SAME TEXT AS 
ABOVE                                                                           
                  |
   | logical_plan after optimize_projections                    | Projection: 
random() = random() AS r1 = r2                                                  
                   |
   |                                                            |   
EmptyRelation
   ```
   
   



-- 
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]

Reply via email to