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

Need to support referencing a column from a SELECT * subquery

    XMLWordPrintableJSON

Details

    Description

      #Tue Dec 02 14:38:34 EST 2014
      git.commit.id.abbrev=757e9a2

      Mondrian query5843.q used to work but failed with the following stack:

      2014-12-02 16:55:39,696 [2b81a073-d825-bd6d-85c8-022726952867:frag:0:0] WARN o.a.d.e.e.ExpressionTreeMaterializer - Unable to find value vector of path `T9¦¦*`, returning null instance.
      2014-12-02 16:55:39,771 [2b81a073-d825-bd6d-85c8-022726952867:frag:0:0] WARN o.a.d.e.w.fragment.FragmentExecutor - Error while initializing or executing fragment
      java.lang.RuntimeException: Only COUNT aggregate function supported for Boolean type
      at org.apache.drill.exec.test.generated.HashAggregatorGen91048$BatchHolder.setupInterior(HashAggTemplate.java:72) ~[na:na]
      at org.apache.drill.exec.test.generated.HashAggregatorGen91048$BatchHolder.setup(HashAggTemplate.java:150) ~[na:na]
      at org.apache.drill.exec.test.generated.HashAggregatorGen91048$BatchHolder.access$600(HashAggTemplate.java:117) ~[na:na]
      at org.apache.drill.exec.test.generated.HashAggregatorGen91048.addBatchHolder(HashAggTemplate.java:445) ~[na:na]
      at org.apache.drill.exec.test.generated.HashAggregatorGen91048.setup(HashAggTemplate.java:260) ~[na:na]
      at org.apache.drill.exec.physical.impl.aggregate.HashAggBatch.createAggregatorInternal(HashAggBatch.java:263) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.physical.impl.aggregate.HashAggBatch.createAggregator(HashAggBatch.java:189) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.physical.impl.aggregate.HashAggBatch.buildSchema(HashAggBatch.java:97) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:130) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:118) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:99) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:89) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext(AbstractSingleRecordBatch.java:51) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:132) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:142) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:118) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:99) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:89) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext(AbstractSingleRecordBatch.java:51) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:132) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:142) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:118) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:67) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:97) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:57) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:112) ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at org.apache.drill.exec.work.WorkManager$RunnableWrapper.run(WorkManager.java:254) [drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]

      Here is the plan:

      00-00 Screen
      00-01 Project(c0=[$0], c1=[$1], c2=[$2], c3=[$3], m0=[$4])
      00-02 Project(the_year=[$0], quarter=[$1], store_state=[$2], ITEM=[$3], m0=[$4])
      00-03 HashAgg(group=[{0, 1, 2, 3}], m0=[SUM($4)])
      00-04 Project(the_year=[$0], quarter=[$1], store_state=[$5], ITEM=[$3], T10¦¦*=[$2])
      00-05 HashJoin(condition=[=($4, $6)], joinType=[inner])
      00-07 Project(the_year=[$0], quarter=[$1], T10¦¦*=[$3], ITEM=[$4], ITEM3=[$6])
      00-09 HashJoin(condition=[=($5, $2)], joinType=[inner])
      00-12 SelectionVectorRemover
      00-14 Filter(condition=[AND(=($0, 1997), =($1, 'Q3'))])
      00-16 Project(the_year=[$0], quarter=[$2], time_id=[$1])
      00-18 Scan(groupscan=[ParquetGroupScan [entries=[ReadEntryWithPath [path=maprfs:/drill/testdata/mondrian/time_by_day]], selectionRoot=/drill/testdata/mondrian/time_by_day, numFiles=1, columns=[`the_year`, `quarter`, `time_id`]]])
      00-11 SelectionVectorRemover
      00-13 Filter(condition=[=($1, 2)])
      00-15 Project(T10¦¦*=[$0], ITEM=[ITEM($0, 'warehouse_id')], ITEM2=[ITEM($0, 'time_id')], ITEM3=[ITEM($0, 'store_id')])
      00-17 Project(T10¦¦*=[$0])
      00-19 Scan(groupscan=[ParquetGroupScan [entries=[ReadEntryWithPath [path=maprfs:/drill/testdata/mondrian/inventory_fact_1997]], selectionRoot=/drill/testdata/mondrian/inventory_fact_1997, numFiles=1, columns=[`*`]]])
      00-06 SelectionVectorRemover
      00-08 Filter(condition=[=($0, 'WA')])
      00-10 Scan(groupscan=[ParquetGroupScan [entries=[ReadEntryWithPath [path=maprfs:/drill/testdata/mondrian/store]], selectionRoot=/drill/testdata/mondrian/store, numFiles=1, columns=[`store_state`, `store_id`]]])
      {
      "head" :
      Unknown macro: { "version" }

      ,
      "graph" : [ {
      "pop" : "parquet-scan",
      "@id" : 18,
      "entries" : [

      { "path" : "maprfs:/drill/testdata/mondrian/time_by_day" }

      ],
      "storage" : {
      "type" : "file",
      "enabled" : true,
      "connection" : "maprfs:///",
      "workspaces" :

      Unknown macro: { "root" }

      ,
      "formats" :

      Unknown macro: { "psv" }

      },
      "format" :

      { "type" : "parquet" }

      ,
      "columns" : [ "`the_year`", "`quarter`", "`time_id`" ],
      "selectionRoot" : "/drill/testdata/mondrian/time_by_day",
      "cost" : 730.0
      }, {
      "pop" : "project",
      "@

      ----------------------+

      Attachments

        Activity

          People

            Unassigned Unassigned
            cchang@maprtech.com Chun Chang
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: