public static IndexDescriptor uniqueForSchema( SchemaDescriptor schema ) { return uniqueForSchema( schema, UNDECIDED ); }
public IndexDescriptor ownedIndexDescriptor() { return IndexDescriptorFactory.uniqueForSchema( schema ); }
public static IndexDescriptor uniqueForSchema( SchemaDescriptor schema, Optional<String> name, IndexProviderDescriptor providerDescriptor ) { return new IndexDescriptor( schema, UNIQUE, name, providerDescriptor ); } }
public IndexDescriptor indexUniqueCreate( SchemaDescriptor schema, String provider ) throws SchemaKernelException { IndexProviderDescriptor providerDescriptor = indexProviders.indexProviderByName( provider ); IndexDescriptor index = IndexDescriptorFactory.uniqueForSchema( schema, Optional.empty(), providerDescriptor ); index = indexProviders.getBlessedDescriptorFromProvider( index ); ktx.txState().indexDoAdd( index ); return index; }
public static IndexDescriptor namedUniqueForLabel( String name, int labelId, int... propertyIds ) { return IndexDescriptorFactory.uniqueForSchema( SchemaDescriptorFactory.forLabel( labelId, propertyIds ), Optional.of( name ), PROVIDER_DESCRIPTOR ); } }
public static IndexDescriptor uniqueForLabel( int labelId, int... propertyIds ) { return IndexDescriptorFactory.uniqueForSchema( SchemaDescriptorFactory.forLabel( labelId, propertyIds ) ); } }
public static IndexDescriptor uniqueForLabel( int labelId, int... propertyIds ) { return IndexDescriptorFactory.uniqueForSchema( SchemaDescriptorFactory.forLabel( labelId, propertyIds ), Optional.empty(), PROVIDER_DESCRIPTOR ); }
public static StoreIndexDescriptor constraintIndexRule( long ruleId, int labelId, int propertyId, IndexProviderDescriptor descriptor ) { return IndexDescriptorFactory.uniqueForSchema( forLabel( labelId, propertyId ), descriptor ).withId( ruleId ); } }
public static StoreIndexDescriptor constraintIndexRule( long ruleId, int labelId, int propertyId, IndexProviderDescriptor descriptor, long constraintId ) { return IndexDescriptorFactory.uniqueForSchema( forLabel( labelId, propertyId ), descriptor ).withIds( ruleId, constraintId ); }
private static StoreIndexDescriptor constraintIndexRule( long id, int label, int propertyKeyId, IndexProviderDescriptor providerDescriptor, Long owningConstraint ) { return IndexDescriptorFactory.uniqueForSchema( forLabel( label, propertyKeyId ), providerDescriptor ).withIds( id, owningConstraint ); }
private StoreIndexDescriptor uniqueIndexRule( long ruleId, long owningConstraint, IndexProviderDescriptor descriptor, int labelId, int... propertyIds ) { return IndexDescriptorFactory.uniqueForSchema( forLabel( labelId, propertyIds ), descriptor ).withIds( ruleId, owningConstraint ); }
private StoreIndexDescriptor descriptorUnique() { return IndexDescriptorFactory.uniqueForSchema( forLabel( labelId, propId ), PROVIDER_DESCRIPTOR ).withId( indexId ); }
private static StoreIndexDescriptor readIndexRule( long id, boolean constraintIndex, int label, ByteBuffer serialized ) { IndexProviderDescriptor providerDescriptor = readIndexProviderDescriptor( serialized ); int[] propertyKeyIds = readIndexPropertyKeys( serialized ); LabelSchemaDescriptor schema = SchemaDescriptorFactory.forLabel( label, propertyKeyIds ); Optional<String> name = Optional.empty(); IndexDescriptor descriptor = constraintIndex ? IndexDescriptorFactory.uniqueForSchema( schema, name, providerDescriptor ) : IndexDescriptorFactory.forSchema( schema, name, providerDescriptor ); StoreIndexDescriptor storeIndexDescriptor = constraintIndex ? descriptor.withIds( id, readOwningConstraint( serialized ) ) : descriptor.withId( id ); return storeIndexDescriptor; }
private static StoreIndexDescriptor constraintIndexRule( long ruleId, int labelId, int propertyKeyId, IndexProviderDescriptor providerDescriptor, long constraintId ) { return uniqueForSchema( forLabel( labelId, propertyKeyId ), providerDescriptor ).withIds( ruleId, constraintId ); }
private void givenUniqueConstraint( String label, String propKey ) { int labelId = token( label, labels ); int propId = token( propKey, propKeys ); IndexReference index = IndexDescriptorFactory.uniqueForSchema( forLabel( labelId, propId ), EMPTY.getProviderDescriptor() ); uniqueIndexes.add( index ); constraints.add( ConstraintDescriptorFactory.uniqueForLabel( labelId, propId ) ); }
@Test public void shouldCreateIndexDescriptorsFromSchema() { IndexDescriptor desc; desc = IndexDescriptorFactory.forSchema( SchemaDescriptorFactory.forLabel( LABEL_ID, 1 ) ); assertThat( desc.type(), equalTo( IndexDescriptor.Type.GENERAL ) ); assertThat( desc.schema(), equalTo( SchemaDescriptorFactory.forLabel( LABEL_ID, 1 ) ) ); desc = IndexDescriptorFactory.uniqueForSchema( SchemaDescriptorFactory.forLabel( LABEL_ID, 1 ) ); assertThat( desc.type(), equalTo( IndexDescriptor.Type.UNIQUE) ); assertThat( desc.schema(), equalTo( SchemaDescriptorFactory.forLabel( LABEL_ID, 1 ) ) ); }
private StoreIndexDescriptor makeIndexRuleForConstraint( long ruleId, String label, String propertyKey, long constraintId ) { return uniqueForSchema( forLabel( labelId( label ), propId( propertyKey ) ), EMPTY.getProviderDescriptor() ).withIds( ruleId, constraintId ); }
private void assertEqualityByDescriptor( IndexDescriptor descriptor ) { StoreIndexDescriptor rule1 = descriptor.withId( RULE_ID ); StoreIndexDescriptor rule2 = descriptor.withId( RULE_ID_2 ); StoreIndexDescriptor rule3 = (descriptor.type() == Type.GENERAL ? forSchema( descriptor.schema() ) : uniqueForSchema( descriptor.schema() )).withId( RULE_ID ); assertEquality( rule1, rule2 ); assertEquality( rule1, rule3 ); } }
private void createUniquenessConstraintRule( final int labelId, final int... propertyKeyIds ) { SchemaStore schemaStore = (SchemaStore) fixture.directStoreAccess().nativeStores().getSchemaStore(); long ruleId1 = schemaStore.nextId(); long ruleId2 = schemaStore.nextId(); StoreIndexDescriptor indexRule = uniqueForSchema( forLabel( labelId, propertyKeyIds ), DESCRIPTOR ).withIds( ruleId1, ruleId2 ); ConstraintRule uniqueRule = ConstraintRule.constraintRule( ruleId2, ConstraintDescriptorFactory.uniqueForLabel( labelId, propertyKeyIds ), ruleId1 ); writeToSchemaStore( schemaStore, indexRule ); writeToSchemaStore( schemaStore, uniqueRule ); }
private void createNodeKeyConstraintRule( final int labelId, final int... propertyKeyIds ) { SchemaStore schemaStore = (SchemaStore) fixture.directStoreAccess().nativeStores().getSchemaStore(); long ruleId1 = schemaStore.nextId(); long ruleId2 = schemaStore.nextId(); StoreIndexDescriptor indexRule = uniqueForSchema( forLabel( labelId, propertyKeyIds ), DESCRIPTOR ).withIds( ruleId1, ruleId2 ); ConstraintRule nodeKeyRule = ConstraintRule.constraintRule( ruleId2, ConstraintDescriptorFactory.nodeKeyForLabel( labelId, propertyKeyIds ), ruleId1 ); writeToSchemaStore( schemaStore, indexRule ); writeToSchemaStore( schemaStore, nodeKeyRule ); }