Skip to content

SQL: grouping by an INTERVAL formula throws error #37044

@astefan

Description

@astefan

date2 is a date field in ES. If I remove 1 * and make the formula to be an interval added to a date, then I get the exception from #37042. So, the multiplication seems to be the issue here...

sql> SELECT date2 + 1 * INTERVAL '1' DAY FROM calcs GROUP BY 1;                                                                                                                          
Server error [Server sent bad type [folding_exception]. Original type was [line 1:14: Cannot find grouping for '(date2) + 1 * INTERVAL '1' DAY']. [FoldingException[line 1:14: Cannot fin
d grouping for '(date2) + 1 * INTERVAL '1' DAY']                                                                                                                                         
        at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldAggregate.rule(QueryFolder.java:312)                                                                                      
        at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldAggregate.rule(QueryFolder.java:197)                                                                                      
        at org.elasticsearch.xpack.sql.tree.Node.lambda$transformUp$11(Node.java:188)                                                                                                    
        at org.elasticsearch.xpack.sql.tree.Node.transformUp(Node.java:182)                                                                                                              
        at org.elasticsearch.xpack.sql.tree.Node.transformUp(Node.java:188)                                                                                                              
        at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldingRule.apply(QueryFolder.java:560)                                                                                       
        at org.elasticsearch.xpack.sql.planner.QueryFolder$FoldingRule.apply(QueryFolder.java:556)                                                                                       
        at org.elasticsearch.xpack.sql.rule.RuleExecutor$Transformation.<init>(RuleExecutor.java:82)                                                                                     
        at org.elasticsearch.xpack.sql.rule.RuleExecutor.executeWithInfo(RuleExecutor.java:158)                                                                                          
        at org.elasticsearch.xpack.sql.rule.RuleExecutor.execute(RuleExecutor.java:130)                                                                                                  
        at org.elasticsearch.xpack.sql.planner.QueryFolder.fold(QueryFolder.java:83)                                                                                                     
        at org.elasticsearch.xpack.sql.planner.Planner.foldPlan(Planner.java:38)                                                                                                         
        at org.elasticsearch.xpack.sql.planner.Planner.plan(Planner.java:28)                                                                                                             
        at org.elasticsearch.xpack.sql.session.SqlSession.lambda$physicalPlan$4(SqlSession.java:153)                                                                                     
        at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60)                                                                                                  
        at org.elasticsearch.xpack.sql.session.SqlSession.lambda$optimizedPlan$3(SqlSession.java:149)                                                                                    
        at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60)                                                                                                  
        at org.elasticsearch.xpack.sql.session.SqlSession.lambda$preAnalyze$2(SqlSession.java:137)                                                                                       
        at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60)                                                                                                  
        at org.elasticsearch.xpack.sql.analysis.index.IndexResolver.lambda$resolveAsMergedMapping$3(IndexResolver.java:246)                                                              
        at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60)                                                                                                  
        at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:64)                                                                                        
        at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:60)                                                                                        
        at org.elasticsearch.action.fieldcaps.TransportFieldCapabilitiesAction.lambda$doExecute$1(TransportFieldCapabilitiesAction.java:84)                                              
        at org.elasticsearch.action.fieldcaps.TransportFieldCapabilitiesAction$1.onResponse(TransportFieldCapabilitiesAction.java:97)                                                    
        at org.elasticsearch.action.fieldcaps.TransportFieldCapabilitiesAction$1.onResponse(TransportFieldCapabilitiesAction.java:93)                                                    
        at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:64)                                                                                        
        at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:60)                                                                                        
        at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction$2.handleResponse(TransportSingleShardAction.java:271)                              
        at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction$2.handleResponse(TransportSingleShardAction.java:255)                              
        at org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleResponse(TransportService.java:1094)                                                         
        at org.elasticsearch.transport.TransportService$DirectResponseChannel.processResponse(TransportService.java:1175)                                                                
        at org.elasticsearch.transport.TransportService$DirectResponseChannel.sendResponse(TransportService.java:1155)                                                                   
        at org.elasticsearch.transport.TaskTransportChannel.sendResponse(TaskTransportChannel.java:54)                                                                                   
        at org.elasticsearch.action.support.HandledTransportAction$ChannelActionListener.onResponse(HandledTransportAction.java:93)                                                      
        at org.elasticsearch.action.support.HandledTransportAction$ChannelActionListener.onResponse(HandledTransportAction.java:77)                                                      
        at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$1.doRun(TransportSingleShardAction.java:117)                                                         
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:759)                                                        
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)                                                                                       
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)                                                                                     
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)                                                                                     
        at java.base/java.lang.Thread.run(Thread.java:834)                                                                                                                               
]]                                                                                                                                                                                       

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions