@Override
  public Statement visitInsertStatement(IoTDBSqlParser.InsertStatementContext ctx) {
    InsertStatement insertStatement = new InsertStatement();
    try {
      insertStatement.setDevice(
          DataNodeDevicePathCache.getInstance().getPartialPath(ctx.prefixPath().getText()));
    } catch (IllegalPathException e) {
      throw new SemanticException(e);
    }
    int timeIndex = parseInsertColumnSpec(ctx.insertColumnsSpec(), insertStatement);
    parseInsertValuesSpec(ctx.insertValuesSpec(), insertStatement, timeIndex);
    insertStatement.setAligned(ctx.ALIGNED() != null);
    return insertStatement;
  }
Parse time range (startTime and endTime) in group by time.

@throws SemanticException if startTime is larger or equals to endTime in timeRange
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java