public static IndexDescriptor forSchema( SchemaDescriptor schema ) { return forSchema( schema, UNDECIDED ); }
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; }
public IndexDescriptor ownedIndexDescriptor() { return IndexDescriptorFactory.uniqueForSchema( schema ); }
public static IndexDescriptor uniqueForSchema( SchemaDescriptor schema ) { return uniqueForSchema( schema, UNDECIDED ); }
@Override public IndexReference indexReferenceUnchecked( SchemaDescriptor schema ) { return IndexDescriptorFactory.forSchema( schema, Optional.empty(), IndexProviderDescriptor.UNDECIDED ); }
private static StoreIndexDescriptor readIndexRule( long id, ByteBuffer source ) throws MalformedSchemaRuleException { IndexProviderDescriptor indexProvider = readIndexProviderDescriptor( source ); byte indexRuleType = source.get(); Optional<String> name; switch ( indexRuleType ) { case GENERAL_INDEX: { SchemaDescriptor schema = readSchema( source ); name = readRuleName( source ); return IndexDescriptorFactory.forSchema( schema, name, indexProvider ).withId( id ); } case UNIQUE_INDEX: { long owningConstraint = source.getLong(); SchemaDescriptor schema = readSchema( source ); name = readRuleName( source ); IndexDescriptor descriptor = IndexDescriptorFactory.uniqueForSchema( schema, name, indexProvider ); return owningConstraint == NO_OWNING_CONSTRAINT_YET ? descriptor.withId( id ) : descriptor.withIds( id, owningConstraint ); } default: throw new MalformedSchemaRuleException( format( "Got unknown index rule type '%d'.", indexRuleType ) ); } }
public static IndexDescriptor uniqueForSchema( SchemaDescriptor schema, Optional<String> name, IndexProviderDescriptor providerDescriptor ) { return new IndexDescriptor( schema, UNIQUE, name, providerDescriptor ); } }
@Override public IndexReference indexReferenceUnchecked( int label, int... properties ) { return IndexDescriptorFactory.forSchema( SchemaDescriptorFactory.forLabel( label, properties ), Optional.empty(), IndexProviderDescriptor.UNDECIDED ); }
@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 ) ) ); }
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 forSchema( SchemaDescriptor schema, Optional<String> name, IndexProviderDescriptor providerDescriptor ) { return new IndexDescriptor( schema, GENERAL, name, providerDescriptor ); }
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 ); } }
public static IndexDescriptor uniqueForLabel( int labelId, int... propertyIds ) { return IndexDescriptorFactory.uniqueForSchema( SchemaDescriptorFactory.forLabel( labelId, propertyIds ) ); } }
public static IndexDescriptor namedForLabel( String name, int labelId, int... propertyIds ) { return IndexDescriptorFactory.forSchema( SchemaDescriptorFactory.forLabel( labelId, propertyIds ), Optional.of( name ), PROVIDER_DESCRIPTOR ); }
private IndexDescriptor indexDescriptor( Label label, String propertyKey, boolean constraint ) throws TransactionFailureException, IllegalTokenNameException, TooManyLabelsException { try ( Transaction tx = kernel.beginTransaction( implicit, AUTH_DISABLED ) ) { int labelId = tx.tokenWrite().labelGetOrCreateForName( label.name() ); int propertyKeyId = tx.tokenWrite().propertyKeyGetOrCreateForName( propertyKey ); SchemaDescriptor schema = SchemaDescriptorFactory.forLabel( labelId, propertyKeyId ); IndexDescriptor descriptor = constraint ? IndexDescriptorFactory.uniqueForSchema( schema, PROVIDER_DESCRIPTOR ) : IndexDescriptorFactory.forSchema( schema, PROVIDER_DESCRIPTOR ); tx.success(); return descriptor; } }
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 forLabel( int labelId, int... propertyIds ) { return IndexDescriptorFactory.forSchema( SchemaDescriptorFactory.forLabel( labelId, propertyIds ), PROVIDER_DESCRIPTOR ); }
public static IndexDescriptor uniqueForLabel( int labelId, int... propertyIds ) { return IndexDescriptorFactory.uniqueForSchema( SchemaDescriptorFactory.forLabel( labelId, propertyIds ), Optional.empty(), PROVIDER_DESCRIPTOR ); }
public static IndexDescriptor forLabel( int labelId, int... propertyIds ) { return IndexDescriptorFactory.forSchema( SchemaDescriptorFactory.forLabel( labelId, propertyIds ) ); }
public static StoreIndexDescriptor constraintIndexRule( long ruleId, int labelId, int propertyId, IndexProviderDescriptor descriptor ) { return IndexDescriptorFactory.uniqueForSchema( forLabel( labelId, propertyId ), descriptor ).withId( ruleId ); } }