Window

11 views
Skip to first unread message

Timothy Chen

unread,
May 15, 2014, 7:01:36 PM5/15/14
to opti...@googlegroups.com, Aman Sinha
Hi Optiq devs (or Julian),

I'm getting a Optiq exception whenever I specifiy a window without an
order, or just a simple empty window:

{
"level" : "ERROR",
"message" : {
"messagePattern" : "Error {}: {}",
"arguments" : [ "4b6de09d-6550-4e18-b457-46acdaa44b9b", "Failure
while parsing sql." ]
},
"logger" : "org.apache.drill.exec.work.foreman.Foreman",
"throwable" : {
"name" : "java.lang.NullPointerException",
"stackTrace" : [ {
"className" : "org.eigenbase.sql.SqlIdentifier",
"methodName" : "getMonotonicity",
"fileName" : "SqlIdentifier.java",
"lineNumber" : 263,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.validate.SelectScope",
"methodName" : "getMonotonicity",
"fileName" : "SelectScope.java",
"lineNumber" : 149,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.SqlWindow",
"methodName" : "isTableSorted",
"fileName" : "SqlWindow.java",
"lineNumber" : 323,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.SqlWindow",
"methodName" : "validate",
"fileName" : "SqlWindow.java",
"lineNumber" : 693,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.SqlNodeList",
"methodName" : "validate",
"fileName" : "SqlNodeList.java",
"lineNumber" : 144,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.validate.SqlValidatorImpl",
"methodName" : "validateWindowClause",
"fileName" : "SqlValidatorImpl.java",
"lineNumber" : 2820,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.validate.SqlValidatorImpl",
"methodName" : "validateSelect",
"fileName" : "SqlValidatorImpl.java",
"lineNumber" : 2767,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.validate.SelectNamespace",
"methodName" : "validateImpl",
"fileName" : "SelectNamespace.java",
"lineNumber" : 60,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.validate.AbstractNamespace",
"methodName" : "validate",
"fileName" : "AbstractNamespace.java",
"lineNumber" : 80,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.validate.SqlValidatorImpl",
"methodName" : "validateNamespace",
"fileName" : "SqlValidatorImpl.java",
"lineNumber" : 747,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.validate.SqlValidatorImpl",
"methodName" : "validateQuery",
"fileName" : "SqlValidatorImpl.java",
"lineNumber" : 736,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.SqlSelect",
"methodName" : "validate",
"fileName" : "SqlSelect.java",
"lineNumber" : 209,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.validate.SqlValidatorImpl",
"methodName" : "validateScopedExpression",
"fileName" : "SqlValidatorImpl.java",
"lineNumber" : 710,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "org.eigenbase.sql.validate.SqlValidatorImpl",
"methodName" : "validate",
"fileName" : "SqlValidatorImpl.java",
"lineNumber" : 426,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" : "net.hydromatic.optiq.prepare.PlannerImpl",
"methodName" : "validate",
"fileName" : "PlannerImpl.java",
"lineNumber" : 175,
"codeLocation" : "optiq-core-0.7-SNAPSHOT.jar",
"version" : "na",
"exact" : false
}, {
"className" :
"org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler",
"methodName" : "validateNode",
"fileName" : "DefaultSqlHandler.java",
"lineNumber" : 103,
"codeLocation" : "classes/",
"version" : "na",
"exact" : false
}, {
"className" :
"org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler",
"methodName" : "getPlan",
"fileName" : "DefaultSqlHandler.java",
"lineNumber" : 88,
"codeLocation" : "classes/",
"version" : "na",
"exact" : false
}, {
"className" : "org.apache.drill.exec.planner.sql.DrillSqlWorker",
"methodName" : "getPlan",
"fileName" : "DrillSqlWorker.java",
"lineNumber" : 138,
"codeLocation" : "classes/",
"version" : "na",
"exact" : false
}, {
"className" : "org.apache.drill.exec.work.foreman.Foreman",
"methodName" : "runSQL",
"fileName" : "Foreman.java",
"lineNumber" : 338,
"codeLocation" : "classes/",
"version" : "na",
"exact" : true
}, {
"className" : "org.apache.drill.exec.work.foreman.Foreman",
"methodName" : "run",
"fileName" : "Foreman.java",
"lineNumber" : 186,
"codeLocation" : "classes/",
"version" : "na",
"exact" : true
}, {
"className" : "java.util.concurrent.ThreadPoolExecutor",
"methodName" : "runWorker",
"fileName" : "ThreadPoolExecutor.java",
"lineNumber" : 1145,
"codeLocation" : "na",
"version" : "1.7.0_55",
"exact" : true
}, {
"className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
"methodName" : "run",
"fileName" : "ThreadPoolExecutor.java",
"lineNumber" : 615,
"codeLocation" : "na",
"version" : "1.7.0_55",
"exact" : true
}, {
"className" : "java.lang.Thread",
"methodName" : "run",
"fileName" : "Thread.java",
"lineNumber" : 745,
"codeLocation" : "na",
"version" : "1.7.0_55",
"exact" : true
} ],
"omittedElements" : 0
},
"callStack" : [ {
"className" : "org.apache.drill.exec.work.ErrorHelper",
"methodName" : "logAndConvertError",
"fileName" : "ErrorHelper.java",
"lineNumber" : 60,
"exact" : false
}, {
"className" : "org.apache.drill.exec.work.foreman.Foreman",
"methodName" : "fail",
"fileName" : "Foreman.java",
"lineNumber" : 127,
"exact" : false
}, {
"className" : "org.apache.drill.exec.work.foreman.Foreman",
"methodName" : "runSQL",
"fileName" : "Foreman.java",
"lineNumber" : 341,
"exact" : false
}, {
"className" : "org.apache.drill.exec.work.foreman.Foreman",
"methodName" : "run",
"fileName" : "Foreman.java",
"lineNumber" : 186,
"exact" : false
}, {
"className" : "java.util.concurrent.ThreadPoolExecutor",
"methodName" : "runWorker",
"fileName" : "ThreadPoolExecutor.java",
"lineNumber" : 1145,
"exact" : false
}, {
"className" : "java.util.concurrent.ThreadPoolExecutor$Worker",
"methodName" : "run",
"fileName" : "ThreadPoolExecutor.java",
"lineNumber" : 615,
"exact" : false
}, {
"className" : "java.lang.Thread",
"methodName" : "run",
"fileName" : "Thread.java",
"lineNumber" : 745,
"exact" : false
} ],
"timeStamp" : 1400194597636
}

Is this a bug in Optiq?

Tim

Julian Hyde

unread,
May 15, 2014, 7:27:10 PM5/15/14
to opti...@googlegroups.com, Aman Sinha
If you submitted a SQL query and you get an NPE then yes, it’s a bug. Can you please log an optiq issue with a SQL test case.

Some analytic functions, such as RANK and FIRST_VALUE, require an ORDER BY in the Window but should not give an NPE.
> --
> You received this message because you are subscribed to the Google Groups "optiq-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to optiq-dev+...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages