Hi, I think the idea is ok. And I quick review the codes, sounds no problem. Does anyone who is more familiar with the query process can review the codes?
Best, ----------------------------------- Xiangdong Huang School of Software, Tsinghua University 黄向东 清华大学 软件学院 atoiLiu <atoi...@163.com> 于2019年12月9日周一 下午5:49写道: > Currently, when executing an SQL statement through JDBC, it is done in two > steps: > > 1. Query metadata set hasResultSet = true > > 2. When the client determines that hasResultSet = true, it will initiate > the next data query and call the fetchResult method of the server > > I think this step can be optimized to reduce one request to the server, > especially if the data is empty or the total amount of data is less than > the fetchSize > > So I added the TSQueryDataSet to TSExecuteStatementResp so that the client > could traverse the data directly. > > > > I hope my idea can contribute to the community. Can anyone review it for > me? > > Pr: > https://github.com/apache/incubator-iotdb/pull/631 < > https://github.com/apache/incubator-iotdb/pull/631> > > > In addition, I found a new problem. > When I input a random random SQL in client, the server would throw an > antlr error, which could not be caught by the expected SQLParserException > and was kindly prompted to the user. > I think adding try...catch to the parseSQLToPhysicalPlan should solve > this problem. I don’t know if i am right ,so sorry.