You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Wail Y. Alkowaileet (Jira)" <ji...@apache.org> on 2020/11/12 06:05:00 UTC

[jira] [Created] (ASTERIXDB-2799) SQL++ UDF cannot be used twice in SELECT

Wail Y. Alkowaileet created ASTERIXDB-2799:
----------------------------------------------

             Summary: SQL++ UDF cannot be used twice in SELECT
                 Key: ASTERIXDB-2799
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2799
             Project: Apache AsterixDB
          Issue Type: Bug
            Reporter: Wail Y. Alkowaileet


 

I'm not sure if I'm doing something wrong.

DDL:
{code:java}
DROP DATAVERSE UDFTest IF EXISTS;
CREATE DATAVERSE UDFTest;
CREATE FUNCTION doubleDigit(digit) {
    CASE WHEN digit < 10 THEN concat("0", toString(digit))
                ELSE toString(digit)
                END
};{code}
Query:

 
{code:java}
USE UDFTest;
SELECT doubleDigit(1), doubleDigit(10);
{code}
It throws: 
{code:java}
ASX1079: Compilation error: Recursive invocation UDFTest.doubleDigit(1) <==> UDFTest.doubleDigit(1){code}
Log:
{code:java}
22:01:49.997 [QueryTranslator:a5e7e2fe-fcbe-4b6b-ae99-8c0b0e717ddd] INFO  org.apache.asterix.app.translator.QueryTranslator - ASX1079: Compilation error: Recursive invocation UDFTest.doubleDigit(1) <==> UDFTest.doubleDigit(1) (in line 9, at column 24)22:01:49.997 [QueryTranslator:a5e7e2fe-fcbe-4b6b-ae99-8c0b0e717ddd] INFO  org.apache.asterix.app.translator.QueryTranslator - ASX1079: Compilation error: Recursive invocation UDFTest.doubleDigit(1) <==> UDFTest.doubleDigit(1) (in line 9, at column 24)org.apache.asterix.common.exceptions.CompilationException: ASX1079: Compilation error: Recursive invocation UDFTest.doubleDigit(1) <==> UDFTest.doubleDigit(1) (in line 9, at column 24) at org.apache.asterix.lang.common.util.FunctionUtil.retrieveUsedStoredFunctions(FunctionUtil.java:236) ~[asterix-lang-common-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.inlineDeclaredUdfs(SqlppQueryRewriter.java:318) ~[asterix-lang-sqlpp-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.rewrite(SqlppQueryRewriter.java:184) ~[asterix-lang-sqlpp-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.api.common.APIFramework.reWriteQuery(APIFramework.java:191) ~[asterix-app-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.app.translator.QueryTranslator.rewriteCompileQuery(QueryTranslator.java:2834) ~[asterix-app-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.app.translator.QueryTranslator.lambda$handleQuery$3(QueryTranslator.java:3341) ~[asterix-app-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.app.translator.QueryTranslator.createAndRunJob(QueryTranslator.java:3473) [asterix-app-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.app.translator.QueryTranslator.deliverResult(QueryTranslator.java:3377) [asterix-app-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.app.translator.QueryTranslator.handleQuery(QueryTranslator.java:3356) [asterix-app-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.app.translator.QueryTranslator.compileAndExecute(QueryTranslator.java:434) [asterix-app-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.api.http.server.QueryServiceServlet.executeStatement(QueryServiceServlet.java:417) [asterix-app-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.api.http.server.QueryServiceServlet.handleRequest(QueryServiceServlet.java:303) [asterix-app-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.asterix.api.http.server.QueryServiceServlet.post(QueryServiceServlet.java:143) [asterix-app-0.9.6-SNAPSHOT.jar:0.9.6-SNAPSHOT] at org.apache.hyracks.http.server.AbstractServlet.handle(AbstractServlet.java:93) [hyracks-http-0.3.6-SNAPSHOT.jar:0.3.6-SNAPSHOT] at org.apache.hyracks.http.server.HttpRequestHandler.handle(HttpRequestHandler.java:83) [hyracks-http-0.3.6-SNAPSHOT.jar:0.3.6-SNAPSHOT] at org.apache.hyracks.http.server.HttpRequestHandler.call(HttpRequestHandler.java:68) [hyracks-http-0.3.6-SNAPSHOT.jar:0.3.6-SNAPSHOT] at org.apache.hyracks.http.server.HttpRequestHandler.call(HttpRequestHandler.java:37) [hyracks-http-0.3.6-SNAPSHOT.jar:0.3.6-SNAPSHOT] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?] at java.lang.Thread.run(Thread.java:834) [?:?]
{code}
 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)