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

ASF GitHub Bot commented on TAJO-774:
-------------------------------------

Github user jihoonson commented on the pull request:

    https://github.com/apache/tajo/pull/13#issuecomment-44297819
  
    Hyunsik, thanks for your great contribution.
    Window function support is truly necessary, and your design seems 
reasonable.
    I left some more comments as above.
    In addition, I found a bug.
    The following error occurs against the query including window functions.
    It seems that you should add a handling routine for window functions to 
ExprAnnotator.visitFunction().
    Thanks!
    
    2014-05-28 01:06:22,226 ERROR org.apache.tajo.master.GlobalEngine:
    Stack Trace:
    org.apache.tajo.engine.planner.PlanningException: Unsupported Function 
Type: WINDOW
            at 
org.apache.tajo.engine.planner.ExprAnnotator.visitFunction(ExprAnnotator.java:608)
            at 
org.apache.tajo.engine.planner.ExprAnnotator.visitFunction(ExprAnnotator.java:61)
            at 
org.apache.tajo.engine.planner.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:217)
            at 
org.apache.tajo.engine.planner.ExprAnnotator.createEvalNode(ExprAnnotator.java:81)
            at 
org.apache.tajo.engine.planner.LogicalPlanPreprocessor.visitProjection(LogicalPlanPreprocessor.java:204)
            at 
org.apache.tajo.engine.planner.LogicalPlanPreprocessor.visitProjection(LogicalPlanPreprocessor.java:38)
            at 
org.apache.tajo.engine.planner.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:55)
            at 
org.apache.tajo.engine.planner.LogicalPlanner.createPlan(LogicalPlanner.java:121)
            at 
org.apache.tajo.engine.planner.LogicalPlanner.createPlan(LogicalPlanner.java:111)
            at 
org.apache.tajo.master.GlobalEngine.createLogicalPlan(GlobalEngine.java:475)
            at 
org.apache.tajo.master.GlobalEngine.executeQuery(GlobalEngine.java:147)
            at 
org.apache.tajo.master.TajoMasterClientService$TajoMasterClientProtocolServiceHandler.submitQuery(TajoMasterClientService.java:261)
            at 
org.apache.tajo.ipc.TajoMasterClientProtocol$TajoMasterClientProtocolService$2.callBlockingMethod(TajoMasterClientProtocol.java:495)
            at 
org.apache.tajo.rpc.BlockingRpcServer$ServerHandler.messageReceived(BlockingRpcServer.java:103)
            at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
            at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
            at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
            at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
            at 
org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:70)
            at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
            at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
            at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
            at 
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
            at 
org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
            at 
org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
            at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
            at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
            at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
            at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
            at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
            at 
org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
            at 
org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109)
            at 
org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
            at 
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90)
            at 
org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
            at 
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
            at 
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
            at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
            at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
            at java.lang.Thread.run(Thread.java:695)


> Implement logical plan part and physical executor for window function.
> ----------------------------------------------------------------------
>
>                 Key: TAJO-774
>                 URL: https://issues.apache.org/jira/browse/TAJO-774
>             Project: Tajo
>          Issue Type: Sub-task
>          Components: planner/optimizer
>            Reporter: Hyunsik Choi
>            Assignee: Hyunsik Choi
>             Fix For: 0.9.0
>
>
> See the title. The main objective of this issue is to implement the logical 
> planning part for window function support.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to