in backend/src/main/java/org/apache/iotdb/admin/service/impl/IotDBServiceImpl.java [4276:4308]
private String executeQueryOneLine(SessionPool sessionPool, String sql, String queryField)
throws BaseException {
SessionDataSetWrapper sessionDataSetWrapper = null;
try {
sessionDataSetWrapper = sessionPool.executeQueryStatement(sql);
List<String> columnNames = sessionDataSetWrapper.getColumnNames();
int index = -1;
for (int i = 0; i < columnNames.size(); i++) {
if (queryField.equals(columnNames.get(i))) {
index = i;
}
}
if (index == -1) {
throw new BaseException(ErrorCode.SQL_EP, ErrorCode.SQL_EP_MSG);
}
int batchSize = sessionDataSetWrapper.getBatchSize();
if (batchSize > 0) {
if (sessionDataSetWrapper.hasNext()) {
RowRecord rowRecord = sessionDataSetWrapper.next();
return rowRecord.getFields().get(index).toString();
}
}
} catch (IoTDBConnectionException e) {
logger.error(e.getMessage());
throw new BaseException(ErrorCode.SQL_EP, ErrorCode.SQL_EP_MSG);
} catch (StatementExecutionException e) {
logger.error(e.getMessage());
throw new BaseException(ErrorCode.SQL_EP, ErrorCode.SQL_EP_MSG);
} finally {
closeResultSet(sessionDataSetWrapper);
}
throw new BaseException(ErrorCode.SQL_EP, ErrorCode.SQL_EP_MSG);
}