You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Qifan Chen (Jira)" <ji...@apache.org> on 2022/04/27 18:19:00 UTC

[jira] [Commented] (IMPALA-11274) CNF Rewrite causes a regress in join node performance

    [ https://issues.apache.org/jira/browse/IMPALA-11274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17528949#comment-17528949 ] 

Qifan Chen commented on IMPALA-11274:
-------------------------------------

For the following query


{code:java}
set explain_level = 3;                                                                        
                                                                                              
explain                                                                                       
select * from                                                                                 
p, a1, a4, a5                                                                                 
where                                                                                         
(                                                                                             
( coalesce(CAST(a1.c1 AS string), '') != '' )                                                 
                                                                                              
OR                                                                                            
                                                                                              
(                                                                                             
(                                                                                             
( upper(p.email5153) = '1' )                                                                  
OR ( upper(p.email5171) = 'WJNS13@YAHOO.COM ' )                                               
OR ( ( upper(p.email5171) LIKE '%GMAI.COM' )                                                  
AND ( coalesce(CAST(a4.customerkey AS string), '') = '' ) )                                   
OR ( upper(p.email5171) = 'CLARIANT.COM' )                                                    
OR ( upper(p.email5171) = 'YAHOO.COM' )                                                       
OR ( upper(p.email5171) LIKE '%ELECTROMAILS.COM' )                                            
)                                                                                             
                                                                                              
AND (                                                                                         
( upper(p.global5170) != 'Y' )                                                                
OR ( coalesce(CAST(p.global5170 AS string), '') = '' ) )                                      
                                                                                              
AND ( ( upper(p.email5170) != 'Y' )                                                           
OR ( coalesce(CAST(p.email5170 AS string), '') = '' ) )                                       
                                                                                              
AND ( ( upper(p.sms5171) != 'Y' )                                                             
OR ( coalesce(CAST(p.sms5171 AS string), '') = '' ) )                                         
                                                                                              
AND ( upper(coalesce(p.client5171, 'G')) = 'G' )                                              
AND ( coalesce(CAST(p.email2dc AS string), '') = '' )                                         
AND ( coalesce(CAST(p.email1dc AS string), '') = '' )                                         
AND ( upper(coalesce(p.system5171, 'G')) = 'G' )                                              
AND ( upper(coalesce(p.clientsms5171, 'G')) = 'G' )                                           
AND ( coalesce(CAST(p.sms3dc AS string), '') = '' )                                           
AND ( upper(coalesce(p.systemsms5171, 'G')) = 'G' )                                           
)                                                                                             
                                                                                              
OR ( upper(p.email5153) = '4' )
OR                                                                                            
                                                                                              
( ( upper(p.email5153) = '3' )                                                                
AND ( ( upper(p.global5170) != 'Y' )                                                          
OR ( coalesce(CAST(p.global5170 AS string), '') = '' ) )                                      
AND ( ( upper(p.email5170) != 'Y' )                                                           
OR ( coalesce(CAST(p.email5170 AS string), '') = '' ) )                                       
AND ( ( upper(p.sms5171) != 'Y' )                                                             
OR ( coalesce(CAST(p.sms5171 AS string), '') = '' ) )                                         
AND ( upper(coalesce(p.client5171, 'G')) = 'G' )                                           
AND ( coalesce(CAST(p.email2dc AS string), '') = '' )                                      
AND ( coalesce(CAST(p.email1dc AS string), '') = '' )                                      
AND ( upper(coalesce(p.system5171, 'G')) = 'G' )                                           
AND ( upper(coalesce(p.clientsms5171, 'G')) = 'G' )                                        
AND ( coalesce(CAST(p.sms3dc AS string), '') = '' )                                        
AND ( upper(coalesce(p.systemsms5171, 'G')) = 'G' ) )                                      
                                                                                           
OR ( coalesce(CAST(a5.customerkey3024 AS string), '') != '' )                              
)                                                                                          
                                                                                           
AND ( ( upper(p.global5170) != 'Y' )                                                       
OR ( coalesce(CAST(p.global5170 AS string), '') = '' ) )                                   
                                                                                           
AND ( ( upper(p.email5170) != 'Y' )                                                        
OR ( coalesce(CAST(p.email5170 AS string), '') = '' ) )                                    
                                                                                           
AND ( ( upper(p.sms5171) != 'Y' )                                                          
OR ( coalesce(CAST(p.sms5171 AS string), '') = '' )                                        
)                                                                                          
                                                                                           
AND ( upper(coalesce(p.client5171, 'G')) = 'G' )                                           
                                                                                           
AND ( coalesce(CAST(p.email2dc AS string), '') = '' )                                      
                                                                                           
AND ( coalesce(CAST(p.email1dc AS string), '') = '' )                                      
                                                                                           
AND ( upper(coalesce(p.system5171, 'G')) = 'G' )                                           
                                                                                           
AND ( upper(coalesce(p.clientsms5171, 'G')) = 'G' )                                        
                                                                                           
AND ( coalesce(CAST(p.sms3dc AS string), '') = '' )                                        
                                                                                           
AND ( upper(coalesce(p.systemsms, 'G')) = 'G' )                                            
;                                         
{code}
                     

The predicate expansion is as follows.


{code:java}
|   |  predicates: (coalesce(a1.c1, '') != '') OR (coalesce(p.email1dc, '') = '') OR (upper(p.email5153) = '4') OR (coalesce(p.email1dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
                                                                                              
                                                                                              
(coalesce(a1.c1, '') != '') OR (coalesce(p.email1dc, '') = '') OR (upper(p.email5153) = '4') OR (coalesce(p.email2dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
                                                                                              
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email1dc, '') = '') OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email2dc, '') = '') OR (upper(p.email5153) = '4') OR (coalesce(p.email1dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email2dc, '') = '') OR (upper(p.email5153) = '4') OR (coalesce(p.email2dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email2dc, '') = '') OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.sms3dc, '') = '') OR (upper(p.email5153) = '4') OR (coalesce(p.email1dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.sms3dc, '') = '') OR (upper(p.email5153) = '4') OR (coalesce(p.email2dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.sms3dc, '') = '') OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.sms3dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email1dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email1dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email1dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email1dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email2dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email2dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email2dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email2dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.sms3dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.sms3dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.sms3dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.sms3dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.email1dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.email2dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.email1dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.email2dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.email1dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.email2dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.email1dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.email2dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (upper(p.email5153) = '4') OR (coalesce(p.email1dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email1dc, '') = '') OR (upper(p.email5153) = '4') OR ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.sms3dc, '') = '') OR (upper(p.email5153) = '4') OR ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.sms3dc, '') = '') OR (upper(p.email5153) = '4') OR ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.sms3dc, '') = '') OR (upper(p.email5153) = '4') OR ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
(coalesce(a1.c1, '') != '') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) OR (upper(p.email5153) = '4') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '
') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) OR (upper(p.email5153) = '4') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') 
!= ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) OR (upper(p.email5153) = '4') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '
') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) OR (upper(p.email5153) = '4') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024,
 '') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) OR (upper(p.email5153) = '4') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024,
 '') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (upper(p.email5153) = '4') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') !
= ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (upper(p.email5153) = '4') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != '
'),
 (coalesce(a1.c1, '') != '') OR ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (upper(p.email5153) = '4') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') !
= ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) OR (coalesce(a5.customerkey3024, '
') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) OR (coalesce(a5.customerkey3024,
 '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (coalesce(a5.customerkey3024, '') !
= ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) OR (coalesce(a5.customerkey3024, '') 
!= ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (coalesce(a5.customerkey3024, '') != '
'),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) OR (coalesce(a5.customerkey3024, '
') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) OR (coalesce(a5.customerkey3024,
 '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (coalesce(a5.customerkey3024, '') !
= ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.system5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') AND ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) OR (
coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email1dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') AND ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) AND ((upper(p.e
mail5170) != 'Y') OR (coalesce(p.email5170, '') = '')) OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (coalesce(p.email2dc, '') = '') OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') AND ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) AND ((upper(p.e
mail5170) != 'Y') OR (coalesce(p.email5170, '') = '')) AND ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(coalesce(p.client5171, 'G')) = 'G') OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') AND ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) AND 
((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) AND ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) AND (upper(coalesce(p.client5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024,
 '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(p.email5153) = '1') OR (upper(p.email5171) = 'WJNS13@YAHOO.COM ') OR (coalesce(a4.customerkey, '') = '') OR (upper(p.email5171) = 'CLARIANT.COM') OR (upper(p.email5171) = '
YAHOO.COM') OR (upper(p.email5171) LIKE '%ELECTROMAILS.COM') OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(p.email5153) = '1') OR (upper(p.email5171) = 'WJNS13@YAHOO.COM ') OR (coalesce(a4.customerkey, '') = '') OR (upper(p.email5171) = 'CLARIANT.COM') OR (upper(p.email5171) = '
 (coalesce(a1.c1, '') != '') OR (upper(p.email5153) = '1') OR (upper(p.email5171) = 'WJNS13@YAHOO.COM ') OR (upper(p.email5171) LIKE '%GMAI.COM') OR (upper(p.email5171) = 'CLARIANT.COM') OR (upper(p.email5171) =
 'YAHOO.COM') OR (upper(p.email5171) LIKE '%ELECTROMAILS.COM') OR (upper(p.email5153) = '4') OR (coalesce(p.sms3dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') AND ((upper(p.global5170) != 'Y') OR (coalesce(p.global51
70, '') = '')) AND ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) AND ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) AND (upper(coalesce(p.client5171, 'G')) = 'G') AND (coalesce
(p.email2dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(p.email5153) = '1') OR (upper(p.email5171) = 'WJNS13@YAHOO.COM ') OR (upper(p.email5171) LIKE '%GMAI.COM') OR (upper(p.email5171) = 'CLARIANT.COM') OR (upper(p.email5171) =
 'YAHOO.COM') OR (upper(p.email5171) LIKE '%ELECTROMAILS.COM') OR (upper(p.email5153) = '4') OR (upper(coalesce(p.systemsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') AND ((upper(p.global5170) != 'Y') OR (coalesce(p.glob
al5170, '') = '')) AND ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) AND ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) AND (upper(coalesce(p.client5171, 'G')) = 'G') AND (coal
esce(p.email2dc, '') = '') AND (coalesce(p.email1dc, '') = '') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') AND ((upper(p.global5170) != 'Y') OR (coalesce(p.gl
obal5170, '') = '')) AND ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')) AND ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) AND (upper(coalesce(p.client5171, 'G')) = 'G') AND (co
alesce(p.email2dc, '') = '') AND (coalesce(p.email1dc, '') = '') AND (upper(coalesce(p.system5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(p.email5153) = '1') OR (upper(p.email5171) = 'WJNS13@YAHOO.COM ') OR (coalesce(a4.customerkey, '') = '') OR (upper(p.email5171) = 'CLARIANT.COM') OR (upper(p.email5171) = '
YAHOO.COM') OR (upper(p.email5171) LIKE '%ELECTROMAILS.COM') OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') AND ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) AND ((upper(p.emai
l5170) != 'Y') OR (coalesce(p.email5170, '') = '')) AND ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) AND (upper(coalesce(p.client5171, 'G')) = 'G') AND (coalesce(p.email2dc, '') = '') AND (coale
sce(p.email1dc, '') = '') AND (upper(coalesce(p.system5171, 'G')) = 'G') AND (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != ''),
 (coalesce(a1.c1, '') != '') OR (upper(p.email5153) = '1') OR (upper(p.email5171) = 'WJNS13@YAHOO.COM ') OR (upper(p.email5171) LIKE '%GMAI.COM') OR (upper(p.email5171) = 'CLARIANT.COM') OR (upper(p.email5171) =
 'YAHOO.COM') OR (upper(p.email5171) LIKE '%ELECTROMAILS.COM') OR (upper(p.email5153) = '4') OR (upper(p.email5153) = '3') AND ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')) AND ((upper(p.em
ail5170) != 'Y') OR (coalesce(p.email5170, '') = '')) AND ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = '')) AND (upper(coalesce(p.client5171, 'G')) = 'G') AND (coalesce(p.email2dc, '') = '') AND (coa
lesce(p.email1dc, '') = '') AND (upper(coalesce(p.system5171, 'G')) = 'G') AND (upper(coalesce(p.clientsms5171, 'G')) = 'G') OR (coalesce(a5.customerkey3024, '') != '') |
|      predicates: (coalesce(p.email1dc, '') = ''),

 (coalesce(p.email2dc, '') = ''),
 (coalesce(p.sms3dc, '') = ''),
 (upper(coalesce(p.client5171, 'G')) = 'G'),
 (upper(coalesce(p.clientsms5171, 'G')) = 'G'),
 (upper(coalesce(p.system5171, 'G')) = 'G'),
 (upper(coalesce(p.systemsms, 'G')) = 'G'),
 ((upper(p.email5170) != 'Y') OR (coalesce(p.email5170, '') = '')),
 ((upper(p.global5170) != 'Y') OR (coalesce(p.global5170, '') = '')),
 ((upper(p.sms5171) != 'Y') OR (coalesce(p.sms5171, '') = ''))
{code}


> CNF Rewrite causes a regress in join node performance
> -----------------------------------------------------
>
>                 Key: IMPALA-11274
>                 URL: https://issues.apache.org/jira/browse/IMPALA-11274
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Frontend
>            Reporter: Qifan Chen
>            Assignee: Qifan Chen
>            Priority: Major
>
> It appears that cnf rewrite can generate more predicates and presumably cause the same query to execute slower.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

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