Norris Lee created DRILL-1147:
---------------------------------

             Summary: Nested where clauses cause an error
                 Key: DRILL-1147
                 URL: https://issues.apache.org/jira/browse/DRILL-1147
             Project: Apache Drill
          Issue Type: Bug
          Components: Query Planning & Optimization
            Reporter: Norris Lee


When using CustomSQL in Tableau, Tableau will wrap your SQL query with a select 
from where clause as such: 
{code}
SELECT * FROM ( your_query ) `TableauSQL` WHERE (0 = 1)
{code}
If your query happens to have a where clause, then the query will not execute.
When using SQLLine to execute
{code}
SELECT * FROM ( select column1 from `hive43.default`.`integer_table` where 
column1 > 10 ) `TableauSQL` WHERE (0 = 1)
{code}
The resulting error is:
{code}
Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while 
running query.[error_id: "aeab569f-c1f9-407e-8fc7-03d8ce81c600"
endpoint {
  address: "192.168.39.43"
  user_port: 31010
  control_port: 31011
  data_port: 31012
}
error_type: 0
message: "Failure while parsing sql. < CannotPlanException:[ Node 
[rel#1198:Subset#13.PHYSICAL.SINGLETON([]).[]] could not be implemented; 
planner state:

Root: rel#1198:Subset#13.PHYSICAL.SINGLETON([]).[]
Original rel:
AbstractConverter(subset=[rel#1198:Subset#13.PHYSICAL.SINGLETON([]).[]], 
convention=[PHYSICAL], DrillDistributionTraitDef=[SINGLETON([])], sort=[[]]): 
rowcount = 1.0, cumulative cost = {inf}, id = 1200
  DrillScreenRel(subset=[rel#1197:Subset#13.LOGICAL.ANY([]).[]]): rowcount = 
1.0, cumulative cost = {0.1 rows, 0.1 cpu, 0.0 io, 0.0 network}, id = 1196
    DrillProjectRel(subset=[rel#1195:Subset#12.LOGICAL.ANY([]).[]], 
column1=[$1]): rowcount = 1.0, cumulative cost = {1.0 rows, 4.0 cpu, 0.0 io, 
0.0 network}, id = 1194
      DrillFilterRel(subset=[rel#1193:Subset#11.LOGICAL.ANY([]).[]], 
condition=[=(0, 1)]): rowcount = 1.0, cumulative cost = {1.0 rows, 4.0 cpu, 0.0 
io, 0.0 network}, id = 1192
        DrillFilterRel(subset=[rel#1191:Subset#10.LOGICAL.ANY([]).[]], 
condition=[>($1, 10)]): rowcount = 1.0, cumulative cost = {1.0 rows, 4.0 cpu, 
0.0 io, 0.0 network}, id = 1190
          DrillScanRel(subset=[rel#1189:Subset#9.LOGICAL.ANY([]).[]], 
table=[[hive43.default, integer_table]], groupscan=[HiveScan 
[table=Table(tableName:integer_table, dbName:default, owner:root, 
createTime:1400090744, lastAccessTime:0, retention:0, 
sd:StorageDescriptor(cols:[FieldSchema(name:keycolumn, type:string, 
comment:null), FieldSchema(name:column1, type:int, comment:null)], 
location:maprfs:/user/hive/warehouse/integer_table, 
inputFormat:org.apache.hadoop.mapred.TextInputFormat, 
outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, 
compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, 
serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, 
parameters:{serialization.format=,, field.delim=,}), bucketCols:[], 
sortCols:[], parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], 
skewedColValues:[], skewedColValueLocationMaps:{}), 
storedAsSubDirectories:false), partitionKeys:[], parameters:{numPartitions=0, 
numFiles=1, transient_lastDdlTime=1400090745, numRows=0, totalSize=262, 
rawDataSize=0}, viewOriginalText:null, viewExpandedText:null, 
tableType:MANAGED_TABLE), 
inputSplits=[maprfs:/user/hive/warehouse/integer_table/Integer_Table.csv:0+262],
 columns=null]]): rowcount = 1.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io, 
0.0 network}, id = 1149

Sets:
Set#9, type: RecordType(VARCHAR(65535) keycolumn, INTEGER column1)
        rel#1189:Subset#9.LOGICAL.ANY([]).[], best=rel#1149, 
importance=0.5904900000000001
                rel#1149:DrillScanRel.LOGICAL.ANY([]).[](table=[hive43.default, 
integer_table],groupscan=HiveScan [table=Table(tableName:integer_table, 
dbName:default, owner:root, createTime:1400090744, lastAccessTime:0, 
retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:keycolumn, 
type:string, comment:null), FieldSchema(name:column1, type:int, comment:null)], 
location:maprfs:/user/hive/warehouse/integer_table, 
inputFormat:org.apache.hadoop.mapred.TextInputFormat, 
outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, 
compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, 
serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, 
parameters:{serialization.format=,, field.delim=,}), bucketCols:[], 
sortCols:[], parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], 
skewedColValues:[], skewedColValueLocationMaps:{}), 
storedAsSubDirectories:false), partitionKeys:[], parameters:{numPartitions=0, 
numFiles=1, transient_lastDdlTime=1400090745, numRows=0, totalSize=262, 
rawDataSize=0}, viewOriginalText:null, viewExpandedText:null, 
tableType:MANAGED_TABLE), 
inputSplits=[maprfs:/user/hive/warehouse/integer_table/Integer_Table.csv:0+262],
 columns=null]), rowcount=1.0, cumulative cost={tiny}
                
rel#1210:AbstractConverter.LOGICAL.ANY([]).[](child=rel#1209:Subset#9.PHYSICAL.ANY([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1221:AbstractConverter.LOGICAL.ANY([]).[](child=rel#1220:Subset#9.PHYSICAL.SINGLETON([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
        rel#1209:Subset#9.PHYSICAL.ANY([]).[], best=rel#1219, 
importance=0.531441
                
rel#1211:AbstractConverter.PHYSICAL.ANY([]).[](child=rel#1189:Subset#9.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1222:AbstractConverter.PHYSICAL.ANY([]).[](child=rel#1220:Subset#9.PHYSICAL.SINGLETON([]).[],convention=PHYSICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1223:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#1189:Subset#9.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1224:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#1209:Subset#9.PHYSICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                rel#1219:ScanPrel.PHYSICAL.SINGLETON([]).[](groupscan=HiveScan 
[table=Table(tableName:integer_table, dbName:default, owner:root, 
createTime:1400090744, lastAccessTime:0, retention:0, 
sd:StorageDescriptor(cols:[FieldSchema(name:keycolumn, type:string, 
comment:null), FieldSchema(name:column1, type:int, comment:null)], 
location:maprfs:/user/hive/warehouse/integer_table, 
inputFormat:org.apache.hadoop.mapred.TextInputFormat, 
outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, 
compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, 
serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, 
parameters:{serialization.format=,, field.delim=,}), bucketCols:[], 
sortCols:[], parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], 
skewedColValues:[], skewedColValueLocationMaps:{}), 
storedAsSubDirectories:false), partitionKeys:[], parameters:{numPartitions=0, 
numFiles=1, transient_lastDdlTime=1400090745, numRows=0, totalSize=262, 
rawDataSize=0}, viewOriginalText:null, viewExpandedText:null, 
tableType:MANAGED_TABLE), 
inputSplits=[maprfs:/user/hive/warehouse/integer_table/Integer_Table.csv:0+262],
 columns=null]), rowcount=1.0, cumulative cost={tiny}
        rel#1220:Subset#9.PHYSICAL.SINGLETON([]).[], best=rel#1219, 
importance=0.4782969000000001
                
rel#1223:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#1189:Subset#9.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1224:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#1209:Subset#9.PHYSICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                rel#1219:ScanPrel.PHYSICAL.SINGLETON([]).[](groupscan=HiveScan 
[table=Table(tableName:integer_table, dbName:default, owner:root, 
createTime:1400090744, lastAccessTime:0, retention:0, 
sd:StorageDescriptor(cols:[FieldSchema(name:keycolumn, type:string, 
comment:null), FieldSchema(name:column1, type:int, comment:null)], 
location:maprfs:/user/hive/warehouse/integer_table, 
inputFormat:org.apache.hadoop.mapred.TextInputFormat, 
outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, 
compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, 
serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, 
parameters:{serialization.format=,, field.delim=,}), bucketCols:[], 
sortCols:[], parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], 
skewedColValues:[], skewedColValueLocationMaps:{}), 
storedAsSubDirectories:false), partitionKeys:[], parameters:{numPartitions=0, 
numFiles=1, transient_lastDdlTime=1400090745, numRows=0, totalSize=262, 
rawDataSize=0}, viewOriginalText:null, viewExpandedText:null, 
tableType:MANAGED_TABLE), 
inputSplits=[maprfs:/user/hive/warehouse/integer_table/Integer_Table.csv:0+262],
 columns=null]), rowcount=1.0, cumulative cost={tiny}
Set#10, type: RecordType(VARCHAR(65535) keycolumn, INTEGER column1)
        rel#1191:Subset#10.LOGICAL.ANY([]).[], best=rel#1190, importance=0.6561
                
rel#1190:DrillFilterRel.LOGICAL.ANY([]).[](child=rel#1189:Subset#9.LOGICAL.ANY([]).[],condition=>($1,
 10)), rowcount=1.0, cumulative cost={2.0 rows, 5.0 cpu, 0.0 io, 0.0 network}
                
rel#1214:AbstractConverter.LOGICAL.ANY([]).[](child=rel#1213:Subset#10.PHYSICAL.ANY([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1227:AbstractConverter.LOGICAL.ANY([]).[](child=rel#1226:Subset#10.PHYSICAL.SINGLETON([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
        rel#1213:Subset#10.PHYSICAL.ANY([]).[], best=rel#1212, 
importance=0.5904900000000001
                
rel#1215:AbstractConverter.PHYSICAL.ANY([]).[](child=rel#1191:Subset#10.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1212:FilterPrel.PHYSICAL.ANY([]).[](child=rel#1209:Subset#9.PHYSICAL.ANY([]).[],condition=>($1,
 10)), rowcount=1.0, cumulative cost={2.0 rows, 5.0 cpu, 0.0 io, 0.0 network}
                
rel#1228:AbstractConverter.PHYSICAL.ANY([]).[](child=rel#1226:Subset#10.PHYSICAL.SINGLETON([]).[],convention=PHYSICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1229:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#1191:Subset#10.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1230:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#1213:Subset#10.PHYSICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1225:FilterPrel.PHYSICAL.SINGLETON([]).[](child=rel#1209:Subset#9.PHYSICAL.ANY([]).[],condition=>($1,
 10)), rowcount=1.0, cumulative cost={2.0 rows, 5.0 cpu, 0.0 io, 0.0 network}
        rel#1226:Subset#10.PHYSICAL.SINGLETON([]).[], best=rel#1225, 
importance=0.531441
                
rel#1229:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#1191:Subset#10.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1230:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#1213:Subset#10.PHYSICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1225:FilterPrel.PHYSICAL.SINGLETON([]).[](child=rel#1209:Subset#9.PHYSICAL.ANY([]).[],condition=>($1,
 10)), rowcount=1.0, cumulative cost={2.0 rows, 5.0 cpu, 0.0 io, 0.0 network}
Set#11, type: RecordType(VARCHAR(65535) keycolumn, INTEGER column1)
        rel#1193:Subset#11.LOGICAL.ANY([]).[], best=rel#1192, 
importance=0.7290000000000001
                
rel#1192:DrillFilterRel.LOGICAL.ANY([]).[](child=rel#1191:Subset#10.LOGICAL.ANY([]).[],condition==(0,
 1)), rowcount=1.0, cumulative cost={3.0 rows, 9.0 cpu, 0.0 io, 0.0 network}
                
rel#1207:AbstractConverter.LOGICAL.ANY([]).[](child=rel#1206:Subset#11.PHYSICAL.ANY([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
        rel#1206:Subset#11.PHYSICAL.ANY([]).[], best=rel#1216, importance=0.6561
                
rel#1208:AbstractConverter.PHYSICAL.ANY([]).[](child=rel#1193:Subset#11.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1216:FilterPrel.PHYSICAL.ANY([]).[](child=rel#1213:Subset#10.PHYSICAL.ANY([]).[],condition==(0,
 1)), rowcount=1.0, cumulative cost={3.0 rows, 9.0 cpu, 0.0 io, 0.0 network}
Set#12, type: RecordType(INTEGER column1)
        rel#1195:Subset#12.LOGICAL.ANY([]).[], best=rel#1194, importance=0.81
                
rel#1194:DrillProjectRel.LOGICAL.ANY([]).[](child=rel#1193:Subset#11.LOGICAL.ANY([]).[],column1=$1),
 rowcount=1.0, cumulative cost={4.0 rows, 13.0 cpu, 0.0 io, 0.0 network}
                
rel#1202:AbstractConverter.LOGICAL.ANY([]).[](child=rel#1201:Subset#12.PHYSICAL.SINGLETON([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.7976931348623157E308, cumulative cost={inf}
        rel#1201:Subset#12.PHYSICAL.SINGLETON([]).[], best=null, 
importance=0.7290000000000001
                
rel#1203:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#1195:Subset#12.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
Set#13, type: RecordType(INTEGER column1)
        rel#1197:Subset#13.LOGICAL.ANY([]).[], best=rel#1196, importance=0.9
                
rel#1196:DrillScreenRel.LOGICAL.ANY([]).[](child=rel#1195:Subset#12.LOGICAL.ANY([]).[]),
 rowcount=1.0, cumulative cost={4.1 rows, 13.1 cpu, 0.0 io, 0.0 network}
                
rel#1199:AbstractConverter.LOGICAL.ANY([]).[](child=rel#1198:Subset#13.PHYSICAL.SINGLETON([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]),
 rowcount=1.7976931348623157E308, cumulative cost={inf}
        rel#1198:Subset#13.PHYSICAL.SINGLETON([]).[], best=null, importance=1.0
                
rel#1200:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#1197:Subset#13.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]),
 rowcount=1.0, cumulative cost={inf}
                
rel#1204:ScreenPrel.PHYSICAL.SINGLETON([]).[](child=rel#1201:Subset#12.PHYSICAL.SINGLETON([]).[]),
 rowcount=1.7976931348623157E308, cumulative cost={inf}

 ]"
]
Error: exception while executing query (state=,code=0)
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to