Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-30444

Error when BETWEEN is used with HAVING

    XMLWordPrintable

Details

    • Untriaged
    • Unknown
    • CX Sprint 111

    Description

      400 when we use BETWEEN with HAVING in a query

      select callsign from ds1 group by callsign having count(callsign) between 0 and 2
       
       
      [
      {
      "code": 25000,
      "msg": "sql-count is a SQL-92 aggregate function. The SQL++ core aggregate function array_sql-count could potentially express the intent. (in line 1, at column 51)",
      "query_from_user": "select callsign from ds1 group by callsign having count(callsign) between 0 and 2"
      }
      ]

      Response from N1QL

      select callsign from `travel-sample` group by callsign having count(callsign) between 0 and 2
       
      [
      {
      "callsign": "Vickjet"
      },
      {
      "callsign": "AIR FLORIDA"
      },
      {
      "callsign": "AIR MIKE"
      },
      {
      "callsign": "GETAWAY"
      }
      ]

      Error in analytics log

      2018-07-12T08:08:22.902Z INFO CBAS.server.QueryServiceServlet [HttpExecutor(port:8095)-3] handleRequest: {"host":"10.142.180.103:8091","path":"/query/service","statement":"select callsign from ds1 group by callsign having count(callsign) between 0 and 2","pretty":false,"mode":null,"clientContextID":"8d9b957c-01e6-46c4-9d15-6d9c19f80bc9","format":null,"timeout":null,"maxResultReads":null,"planFormat":"json","expressionTree":false,"rewrittenExpressionTree":false,"logicalPlan":false,"optimizedLogicalPlan":true,"job":false,"signature":true}
      2018-07-12T08:08:22.904Z INFO CBAS.work.WorkQueue [Worker:ClusterController] Executing: ApplicationMessage: nodeID: ac38a33abe0e7625ff4bc0ae731a20e7
      2018-07-12T08:08:22.904Z INFO CBAS.messaging.CCMessageBroker [Executor-29:ClusterController] Received message: ExecuteStatementRequestMessage(id=99, from=ac38a33abe0e7625ff4bc0ae731a20e7): select callsign from ds1 group by callsign having count(callsign) between 0 and 2;
      2018-07-12T08:08:22.906Z INFO CBAS.translator.QueryTranslator [QueryTranslator] ASX1079: sql-count is a SQL-92 aggregate function. The SQL++ core aggregate function array_sql-count could potentially express the intent. (in line 1, at column 51)
      org.apache.asterix.common.exceptions.CompilationException: ASX1079: sql-count is a SQL-92 aggregate function. The SQL++ core aggregate function array_sql-count could potentially express the intent. (in line 1, at column 51)
      at org.apache.asterix.lang.sqlpp.util.FunctionMapUtil.normalizeBuiltinFunctionSignature(FunctionMapUtil.java:116) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppBuiltinFunctionRewriteVisitor.visit(SqlppBuiltinFunctionRewriteVisitor.java:45) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppBuiltinFunctionRewriteVisitor.visit(SqlppBuiltinFunctionRewriteVisitor.java:39) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.common.expression.CallExpr.accept(CallExpr.java:62) ~[asterix-lang-common.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:359) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:373) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:285) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.common.expression.OperatorExpr.accept(OperatorExpr.java:123) ~[asterix-lang-common.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:359) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:373) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:285) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.common.expression.OperatorExpr.accept(OperatorExpr.java:123) ~[asterix-lang-common.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:359) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:185) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.clause.HavingClause.accept(HavingClause.java:37) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:143) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.struct.SetOperationInput.accept(SetOperationInput.java:57) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:176) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.clause.SelectSetOperation.accept(SelectSetOperation.java:47) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:249) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.expression.SelectExpression.accept(SelectExpression.java:55) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:359) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:191) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.common.statement.Query.accept(Query.java:94) ~[asterix-lang-common.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.rewriteFunctionNames(SqlppQueryRewriter.java:167) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.rewrite(SqlppQueryRewriter.java:140) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.api.common.APIFramework.reWriteQuery(APIFramework.java:186) ~[asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.rewriteCompileQuery(QueryTranslator.java:1967) ~[asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.lambda$handleQuery$2(QueryTranslator.java:2478) ~[asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.createAndRunJob(QueryTranslator.java:2602) [asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.deliverResult(QueryTranslator.java:2522) [asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.handleQuery(QueryTranslator.java:2491) [asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.compileAndExecute(QueryTranslator.java:388) [asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.message.ExecuteStatementRequestMessage.handle(ExecuteStatementRequestMessage.java:134) [asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.messaging.CCMessageBroker.receivedMessage(CCMessageBroker.java:66) [asterix-app.jar:6.0.0-1303]
      at org.apache.hyracks.control.cc.work.ApplicationMessageWork$1.run(ApplicationMessageWork.java:59) [hyracks-control-cc.jar:6.0.0-1303]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_162]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_162]
      at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
      2018-07-12T08:08:22.912Z WARN CBAS.apache.asterix [Executor-29:ClusterController] ASX1079: sql-count is a SQL-92 aggregate function. The SQL++ core aggregate function array_sql-count could potentially express the intent. (in line 1, at column 51)
      org.apache.asterix.common.exceptions.CompilationException: ASX1079: sql-count is a SQL-92 aggregate function. The SQL++ core aggregate function array_sql-count could potentially express the intent. (in line 1, at column 51)
      at org.apache.asterix.lang.sqlpp.util.FunctionMapUtil.normalizeBuiltinFunctionSignature(FunctionMapUtil.java:116) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppBuiltinFunctionRewriteVisitor.visit(SqlppBuiltinFunctionRewriteVisitor.java:45) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.rewrites.visitor.SqlppBuiltinFunctionRewriteVisitor.visit(SqlppBuiltinFunctionRewriteVisitor.java:39) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.common.expression.CallExpr.accept(CallExpr.java:62) ~[asterix-lang-common.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:359) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:373) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:285) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.common.expression.OperatorExpr.accept(OperatorExpr.java:123) ~[asterix-lang-common.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:359) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:373) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:285) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.common.expression.OperatorExpr.accept(OperatorExpr.java:123) ~[asterix-lang-common.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:359) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:185) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.clause.HavingClause.accept(HavingClause.java:37) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:143) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.struct.SetOperationInput.accept(SetOperationInput.java:57) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:176) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.clause.SelectSetOperation.accept(SelectSetOperation.java:47) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:249) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.expression.SelectExpression.accept(SelectExpression.java:55) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:359) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:191) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.visitor.base.AbstractSqlppSimpleExpressionVisitor.visit(AbstractSqlppSimpleExpressionVisitor.java:66) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.common.statement.Query.accept(Query.java:94) ~[asterix-lang-common.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.rewriteFunctionNames(SqlppQueryRewriter.java:167) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.lang.sqlpp.rewrites.SqlppQueryRewriter.rewrite(SqlppQueryRewriter.java:140) ~[asterix-lang-sqlpp.jar:6.0.0-1303]
      at org.apache.asterix.api.common.APIFramework.reWriteQuery(APIFramework.java:186) ~[asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.rewriteCompileQuery(QueryTranslator.java:1967) ~[asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.lambda$handleQuery$2(QueryTranslator.java:2478) ~[asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.createAndRunJob(QueryTranslator.java:2602) ~[asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.deliverResult(QueryTranslator.java:2522) ~[asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.handleQuery(QueryTranslator.java:2491) ~[asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.translator.QueryTranslator.compileAndExecute(QueryTranslator.java:388) ~[asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.app.message.ExecuteStatementRequestMessage.handle(ExecuteStatementRequestMessage.java:134) [asterix-app.jar:6.0.0-1303]
      at org.apache.asterix.messaging.CCMessageBroker.receivedMessage(CCMessageBroker.java:66) [asterix-app.jar:6.0.0-1303]
      at org.apache.hyracks.control.cc.work.ApplicationMessageWork$1.run(ApplicationMessageWork.java:59) [hyracks-control-cc.jar:6.0.0-1303]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_162]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_162]
      at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
      2018-07-12T08:08:22.915Z INFO CBAS.work.WorkQueue [Worker:ac38a33abe0e7625ff4bc0ae731a20e7] Executing: ApplicationMessage: nodeId: ac38a33abe0e7625ff4bc0ae731a20e7
      2018-07-12T08:08:22.915Z INFO CBAS.messaging.NCMessageBroker [Worker:ac38a33abe0e7625ff4bc0ae731a20e7] Received message: ExecuteStatementResponseMessage(id=99): 0 characters
      2018-07-12T08:08:22.916Z INFO CBAS.server.QueryServiceServlet [HttpExecutor(port:8095)-3] handleException: ASX1079: sql-count is a SQL-92 aggregate function. The SQL++ core aggregate function array_sql-count could potentially express the intent. (in line 1, at column 51): {"host":"10.142.180.103:8091","path":"/query/service","statement":"select callsign from ds1 group by callsign having count(callsign) between 0 and 2","pretty":false,"mode":null,"clientContextID":"8d9b957c-01e6-46c4-9d15-6d9c19f80bc9","format":null,"timeout":null,"maxResultReads":null,"planFormat":"json","expressionTree":false,"rewrittenExpressionTree":false,"logicalPlan":false,"optimizedLogicalPlan":true,"job":false,"signature":true}
      2018-07-12T08:09:29.676Z INFO CBAS.netty.DcpMessageHandler [nioEventLoopGroup-3-1] Sending back a NoOp response{"class" : "DcpChannel", "inetAddress" : "/10.142.180.101:11210", "bucket" : "travel-sample", "state" : "CONNECTED"}. Current ack counter = 0
      2018-07-12T08:09:31.036Z INFO CBAS.events.DeadConnectionDetection [FixerThread:cbas:travel-sample:ac38a33abe0e7625ff4bc0ae731a20e7:0] Running dead connection detection
      2018-07-12T08:11:29.893Z INFO CBAS.netty.DcpMessageHandler [nioEventLoopGroup-3-1] Sending back a NoOp response{"class" : "DcpChannel", "inetAddress" : "/10.142.180.101:11210", "bucket" : "travel-sample", "state" : "CONNECTED"}. Current ack counter = 0
      

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            dmitry.lychagin Dmitry Lychagin (Inactive)
            vikas.chaudhary Vikas Chaudhary
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty