iotdb icon indicating copy to clipboard operation
iotdb copied to clipboard

聚合路径的数据类型查询问题

Open LeiRui opened this issue 7 years ago • 0 comments

已知iotdb的TSServiceImplfetchMetadata函数中COLUMN分支的作用是返回一条路径的数据类型查询结果,特别地,给定一条聚合路径会触发PathErrorException,而此处对于PathErrorException目前只 catch 不处理。 考虑jdbc 的 resultSet = new TsfileQueryResultSet(this, execResp.getColumns(), client, sessionHandle, operationHandle, sql, execResp.getOperationType(), getColumnsType(execResp.getColumns())),当sql是聚合查询语句时, execResp.getColumns()得到的是聚合路径(例如"max(root.ln.wf01.wt01)"),getColumnsType(execResp.getColumns()))就会执行对该聚合路径的数据类型查询请求,这也是上述对于这种PathErrorException不抛出异常的部分原因。

综上所述,现状是既存在对聚合路径的数据类型查询请求,但是却没有对应的实现,对于聚合路径抛出的异常沉默处理。

改进上述问题的可能的两个方向:1)聚合查询语句的execResp.getColumns()得到干净的非聚合路径,或者2)fetchMetadata函数的COLUMN分支扩展实现对聚合路径的数据类型查询。

LeiRui avatar Aug 24 '18 08:08 LeiRui