private int createNewRelationshipType(String name) { RelationshipTypeStore typeStore = getRelationshipTypeStore(); int id = (int) typeStore.nextId(); RelationshipTypeRecord record = new RelationshipTypeRecord(id); record.setInUse(true); record.setCreated(); int nameId = typeStore.nextNameId(); record.setNameId(nameId); Collection<DynamicRecord> nameRecords = typeStore.allocateNameRecords(nameId, encodeString(name)); for (DynamicRecord typeRecord : nameRecords) { record.addNameRecord(typeRecord); } typeStore.updateRecord(record); typeHolder.addRelationshipType(name, id); return id; }
public void migrateRelationshipTypes(RelationshipTypeStore relationshipTypeStore) throws IOException { LegacyRelationshipTypeStoreReader relationshipTypeStoreReader = legacyStore.getRelationshipTypeStoreReader(); LegacyDynamicStoreReader relationshipTypeNameStoreReader = legacyStore.getRelationshipTypeNameStoreReader(); for (RelationshipTypeRecord relationshipTypeRecord : relationshipTypeStoreReader.readRelationshipTypes()) { List<LegacyDynamicRecord> dynamicRecords = relationshipTypeNameStoreReader.getPropertyChain(relationshipTypeRecord.getNameId()); String name = LegacyDynamicRecordFetcher.joinRecordsIntoString( relationshipTypeRecord.getNameId(), dynamicRecords); createRelationshipType(relationshipTypeStore, name, relationshipTypeRecord.getId()); } relationshipTypeNameStoreReader.close(); }
public void createRelationshipType( RelationshipTypeStore relationshipTypeStore, String name, int id) { long nextIdFromStore = relationshipTypeStore.nextId(); while (nextIdFromStore < id) { nextIdFromStore = relationshipTypeStore.nextId(); } RelationshipTypeRecord record = new RelationshipTypeRecord(id); record.setInUse(true); record.setCreated(); int keyBlockId = (int) relationshipTypeStore.nextNameId(); record.setNameId(keyBlockId); Collection<DynamicRecord> keyRecords = relationshipTypeStore.allocateNameRecords(keyBlockId, encodeString(name)); for (DynamicRecord keyRecord : keyRecords) { record.addNameRecord(keyRecord); } relationshipTypeStore.updateRecord(record); }