PlannerUtils { public static Row appendMutationTypeField(Row row) { if (!hasMutationTypeField(row)) { row = RowUtils.append( row, MutationType.MUTATION_TYPE_FIELD_NAME, DataTypes.StringType, false, MutationType.NONE.toString()); } return row; }  static Row setMutationType(Row row, MutationType mutationType); static MutationType getMutationType(Row row); static Row appendMutationTypeField(Row row); static Row removeMutationTypeField(Row row); static boolean hasMutationTypeField(Row row); static Row copyTime(Row fromRow, TimeModel fromTimeModel, Row into, TimeModel intoTimeModel); static Row copyPrecedingTime(Row fromRow, TimeModel fromTimeModel, Row into, TimeModel intoTimeModel); static boolean before(TimeModel timeModel, Row first, Row second); static boolean simultaneous(TimeModel timeModel, Row first, Row second); static boolean after(TimeModel timeModel, Row first, Row second); static Row appendSurrogateKey(Row row, String fieldName);  }
@Test public void testAppendMutationTypeField() { Row rowWithout = new RowWithSchema(schemaWithoutMT, "hello"); Row rowWith = PlannerUtils.appendMutationTypeField(rowWithout); assertEquals(rowWith.schema(), schemaWithMT); }