Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-779

Add support for pipes Concat "||" operator

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Future
    • Future
    • SQL Parser
    • None

    Description

      git.commit.id.abbrev=70fab8c

      0: jdbc:drill:schema=dfs> select (name || age || contributions || registration) as COL from voter where name like '%young';
      Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while running query.[error_id: "dd813164-2347-4c49-9480-bc5c6cc401d6"
      endpoint {
      address: "qa-node64.qa.lab"
      user_port: 31010
      control_port: 31011
      data_port: 31012
      }
      error_type: 0
      message: "Failure while running fragment. < UnsupportedOperationException:[ NULL ]"
      ]

      The data set contains null values; however the result from the above query does not contain any null values.

      Stack trace:
      java.lang.AssertionError: Internal error: pre-condition failed: SqlTypeUtil.sameNamedType(argTypes[0], argTypes[1])
      org.eigenbase.util.Util.newInternal(Util.java:760) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.util.Util.pre(Util.java:833) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.type.ReturnTypes$8.inferReturnType(ReturnTypes.java:540) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.type.SqlTypeTransformCascade.inferReturnType(SqlTypeTransformCascade.java:55) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlOperator.inferReturnType(SqlOperator.java:451) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlOperator.validateOperands(SqlOperator.java:418) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlOperator.deriveType(SqlOperator.java:480) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlBinaryOperator.deriveType(SqlBinaryOperator.java:143) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3870) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3857) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlCall.accept(SqlCall.java:133) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1322) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1305) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlOperator.deriveType(SqlOperator.java:476) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlBinaryOperator.deriveType(SqlBinaryOperator.java:143) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3870) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3857) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlCall.accept(SqlCall.java:133) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1322) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1305) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlOperator.deriveType(SqlOperator.java:476) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlBinaryOperator.deriveType(SqlBinaryOperator.java:143) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3870) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3857) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlCall.accept(SqlCall.java:133) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1322) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1305) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlOperator.deriveType(SqlOperator.java:476) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlBinaryOperator.deriveType(SqlBinaryOperator.java:143) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3870) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3857) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlCall.accept(SqlCall.java:133) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1322) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1305) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlOperator.deriveType(SqlOperator.java:476) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlBinaryOperator.deriveType(SqlBinaryOperator.java:143) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3870) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3857) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlCall.accept(SqlCall.java:133) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1322) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1305) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlOperator.deriveType(SqlOperator.java:476) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlBinaryOperator.deriveType(SqlBinaryOperator.java:143) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3870) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3857) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlCall.accept(SqlCall.java:133) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1322) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1305) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlAsOperator.deriveType(SqlAsOperator.java:117) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3870) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:3857) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlCall.accept(SqlCall.java:133) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1322) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1305) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.expandSelectItem(SqlValidatorImpl.java:418) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.validateSelectList(SqlValidatorImpl.java:3019) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:2772) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:80) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:747) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:736) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.SqlSelect.validate(SqlSelect.java:209) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:710) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.eigenbase.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:426) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      net.hydromatic.optiq.prepare.PlannerImpl.validate(PlannerImpl.java:175) ~[optiq-core-0.7-20140513.013236-5.jar:na]
      org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:99) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
      org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:84) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
      org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:134) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
      org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:338) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
      org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:186) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
      java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]
      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45]
      java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              knguyen Krystal
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: