test_class.declarator: routeService = new RouteService()
test_class.modifier: private
test_class.original_string: private RouteService routeService = new RouteService();
test_class.type: RouteService
test_class.var_name: routeService
test_class.declarator: parser = SqlParserFactory.getParser(SqlType.INSERT)
test_class.original_string: SqlParser parser = SqlParserFactory.getParser(SqlType.INSERT);
test_class.type: SqlParser
test_class.var_name: parser
test_class.file: baymax-core/src/test/java/com/tongbanjie/baymax/parser/mysql/MySqlInsertParserTest.java
test_class.identifier: MySqlInsertParserTest
test_case.body: @Test
      public void testParse() throws Exception {
          test(InsertTestSql.i1);
  
      }
test_case.class_method_signature: MySqlInsertParserTest.testParse()
test_case.full_signature: @Test public void testParse()
test_case.identifier: testParse
test_case.invocations: test
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testParse()
focal_class.file: baymax-core/src/main/java/com/tongbanjie/baymax/parser/mysql/MySqlInsertParser.java
focal_class.identifier: MySqlInsertParser
focal_class.class_method_signature: MySqlInsertParser.parse(ParseResult result)
focal_class.full_signature: @Override public void parse(ParseResult result)
focal_class.identifier: parse
focal_class.modifiers: @Override public
focal_class.parameters: (ParseResult result)
focal_class.return: void
focal_class.signature: void parse(ParseResult result)
focal_class.class_method_signature: MySqlInsertParser.isMultiInsert(MySqlInsertStatement insertStmt)
focal_class.full_signature: private boolean isMultiInsert(MySqlInsertStatement insertStmt)
focal_class.identifier: isMultiInsert
focal_class.modifiers: private
focal_class.parameters: (MySqlInsertStatement insertStmt)
focal_class.return: boolean
focal_class.signature: boolean isMultiInsert(MySqlInsertStatement insertStmt)
focal_class.class_method_signature: MySqlInsertParser.parserSingleInsert(String tableName, MySqlInsertStatement insertStmt)
focal_class.full_signature: private List<CalculateUnit> parserSingleInsert(String tableName, MySqlInsertStatement insertStmt)
focal_class.identifier: parserSingleInsert
focal_class.modifiers: private
focal_class.parameters: (String tableName, MySqlInsertStatement insertStmt)
focal_class.return: List<CalculateUnit>
focal_class.signature: List<CalculateUnit> parserSingleInsert(String tableName, MySqlInsertStatement insertStmt)
focal_class.class_method_signature: MySqlInsertParser.changeSql(ParseResult result, ExecutePlan plan)
focal_class.full_signature: @Override public void changeSql(ParseResult result, ExecutePlan plan)
focal_class.identifier: changeSql
focal_class.modifiers: @Override public
focal_class.parameters: (ParseResult result, ExecutePlan plan)
focal_class.return: void
focal_class.signature: void changeSql(ParseResult result, ExecutePlan plan)
focal_class.superclass: extends MySqlSqlParser
focal_method.body: @Override
      public void parse(ParseResult result) {
  
          // 解析sql
          statement = parser.parseStatement();
  
          MySqlInsertStatement insert = (MySqlInsertStatement)statement;
  
          String tableName = StringUtil.removeBackquote(insert.getTableName().getSimpleName());
  
          result.addTable(tableName);
  
          // 不是分区表
          if (!BaymaxContext.isPartitionTable(tableName)){
              return;
          }
  
          if (isMultiInsert(insert)){
              // 批量插入
              throw new UnsupportedOperationException("分区表不支持insert into ...values (),()...或 insert into ...select.....形式的批量插入");
          }else {
              // 单条插入
              result.setCalculateUnits(parserSingleInsert(tableName, insert));
          }
      }
focal_method.class_method_signature: MySqlInsertParser.parse(ParseResult result)
focal_method.full_signature: @Override public void parse(ParseResult result)
focal_method.identifier: parse
focal_method.invocations: parseStatement removeBackquote getSimpleName getTableName addTable isPartitionTable isMultiInsert setCalculateUnits parserSingleInsert
focal_method.modifiers: @Override public
focal_method.parameters: (ParseResult result)
focal_method.return: void
focal_method.signature: void parse(ParseResult result)