in timescaledb-connector/src/integration-test/java/com/epam/deltix/timebase/connector/service/timescale/TimescaleMigrationServiceTest.java [66:103]
public void testAddDescriptorMigration() {
applyTimescaleSchema();
SchemaChangeMessage changeMessage = new SchemaChangeMessage();
changeMessage.setPreviousState(getDescriptorMessages());
SchemaDescriptorChangeAction addDescriptorAction = new SchemaDescriptorChangeAction();
addDescriptorAction.setChangeTypes(SchemaDescriptorChangeType.ADD);
RecordClassDescriptor recordClassDescriptor = new RecordClassDescriptor();
recordClassDescriptor.setName("org.some.package.ThirdDescriptor");
DataField firstField = new NonStaticDataField();
firstField.setName("title");
firstField.setDataType(new VarcharDataType());
DataField secondField = new NonStaticDataField();
secondField.setName("coast");
secondField.setDataType(new FloatDataType());
ObjectArrayList<DataFieldInfo> fields = new ObjectArrayList<>();
fields.add(firstField);
fields.add(secondField);
recordClassDescriptor.setDataFields(fields);
addDescriptorAction.setNewState(recordClassDescriptor);
ObjectArrayList<ClassDescriptorInfo> newState = getDescriptorMessages();
newState.add(recordClassDescriptor);
changeMessage.setNewState(newState);
ObjectArrayList<SchemaDescriptorChangeActionInfo> actions = new ObjectArrayList<>();
actions.add(addDescriptorAction);
changeMessage.setDescriptorChangeActions(actions);
migrationService.apply(changeMessage, "events");
}