Hi, Any column reference is not allowed in LIMIT cause. You need to use any integer value instead of L_ORDERKEY. It is the same in other database like systems. But, it is still bug because Tajo should show kindly some invalid query error message.
Thanks you for your interest. - Hyunsik On Sat, Jul 19, 2014 at 10:50 PM, Shrikant Bang <[email protected]> wrote: > Hi Tajo Devs, > I have built TAJO from src code checked out from github.I have created a > database and external LINEITEM table using TAJO cli. > I tried running following query which gave me NullPointerException: > > select * from LINEITEM limit L_ORDERKEY; > As per my understanding this query is invalid, but got parsed without any > exception .After debugging further I could able to get the actual error trace > code as : > java.lang.NullPointerException at > org.apache.tajo.engine.eval.FieldEval.eval(FieldEval.java:47) at > org.apache.tajo.engine.planner.LogicalPlanner.visitLimit(LogicalPlanner.java:751) > at > org.apache.tajo.engine.planner.LogicalPlanner.visitLimit(LogicalPlanner.java:61) > at > org.apache.tajo.engine.planner.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:58) > at > org.apache.tajo.engine.planner.LogicalPlanner.visitProjection(LogicalPlanner.java:209) > at > org.apache.tajo.engine.planner.LogicalPlanner.visitProjection(LogicalPlanner.java:61) > at > org.apache.tajo.engine.planner.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:55) > at > org.apache.tajo.engine.planner.LogicalPlanner.createPlan(LogicalPlanner.java:125) > at > org.apache.tajo.engine.planner.LogicalPlanner.createPlan(LogicalPlanner.java:111) > at > org.apache.tajo.master.GlobalEngine.createLogicalPlan(GlobalEngine.java:468) > at org.apache.tajo.master.GlobalEngine.executeQuery(GlobalEngine.java:145) > 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.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > > It looks like a minor bug. Could you please confirm my understanding. > Thank You,Shrikant Bang.
