Maybe something related to the function mapping:

org.apache.asterix.lang.sqlpp.util.FunctionMapUtil

On Tue, Feb 20, 2018 at 11:34 AM, James Fang <[email protected]> wrote:

> Hi,
>
> Recently, I have noticed that the aggregation functions I have been
> implementing only work as collection functions, and it will produce errors
> when ran as an array function. This only affects the new aggregate
> functions I have added and does not affect the existing aggregate
> functions(avg, max, min). Is there something specific I have to do to make
> these functions work as array functions.
>
> For example:
> *My Functions:*
> coll_stddev( [1.0, 2.0, 3.0] ) --> works
> array_stddev( [1.0, 2.0, 3.0] ) - --> undefined function.
>
> *Exisitng Functions:*
> coll_avg( [1.0, 2.0, 3.0] ) --> works
> array_avg( [1.0, 2.0, 3.0] ) - --> works
>
>
> I have only modified or added files in:
> 1) New FunctionDescriptors and AggregateFunctions
> 2) BuiltinFunctions.java
> 3) FunctionCollection.java
> 4) New Typecomputer.
>
> Stack trace of undefined function:
> 11:15:48.177 [HttpExecutor(port:19001)-13] ERROR org.apache.asterix -
> function Default.array_stddev@1 is not defined
> org.apache.asterix.common.exceptions.CompilationException: function
> Default.array_stddev@1 is not defined
> at
> org.apache.asterix.lang.common.util.FunctionUtil.
> retrieveUsedStoredFunctions(FunctionUtil.java:144)
> ~[classes/:?]
> at
> org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.
> inlineDeclaredUdfs(SqlppQueryRewriter.java:226)
> ~[classes/:?]
> at
> org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.
> rewrite(SqlppQueryRewriter.java:131)
> ~[classes/:?]
> at
> org.apache.asterix.api.common.APIFramework.reWriteQuery(
> APIFramework.java:199)
> ~[classes/:?]
> at
> org.apache.asterix.app.translator.QueryTranslator.rewriteCompileQuery(
> QueryTranslator.java:1894)
> ~[classes/:?]
> at
> org.apache.asterix.app.translator.QueryTranslator.lambda$handleQuery$2(
> QueryTranslator.java:2373)
> ~[classes/:?]
> at
> org.apache.asterix.app.translator.QueryTranslator.createAndRunJob(
> QueryTranslator.java:2496)
> ~[classes/:?]
> at
> org.apache.asterix.app.translator.QueryTranslator.
> deliverResult(QueryTranslator.java:2406)
> ~[classes/:?]
> at
> org.apache.asterix.app.translator.QueryTranslator.
> handleQuery(QueryTranslator.java:2385)
> ~[classes/:?]
> at
> org.apache.asterix.app.translator.QueryTranslator.compileAndExecute(
> QueryTranslator.java:381)
> ~[classes/:?]
> at org.apache.asterix.api.http.server.ApiServlet.post(ApiServlet.java:168)
> [classes/:?]
> at
> org.apache.hyracks.http.server.AbstractServlet.handle(
> AbstractServlet.java:92)
> [classes/:?]
> at
> org.apache.hyracks.http.server.HttpRequestHandler.
> handle(HttpRequestHandler.java:71)
> [classes/:?]
> at
> org.apache.hyracks.http.server.HttpRequestHandler.
> call(HttpRequestHandler.java:56)
> [classes/:?]
> at
> org.apache.hyracks.http.server.HttpRequestHandler.
> call(HttpRequestHandler.java:37)
> [classes/:?]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_131]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142)
> [?:1.8.0_131]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617)
> [?:1.8.0_131]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
>



-- 

*Regards,*
Wail Alkowaileet

Reply via email to