diff --git a/community/consistency-check/src/main/java/org/neo4j/consistency/checking/index/IndexAccessors.java b/community/consistency-check/src/main/java/org/neo4j/consistency/checking/index/IndexAccessors.java index 5ef99140593ea..28e3c8d21ca3b 100644 --- a/community/consistency-check/src/main/java/org/neo4j/consistency/checking/index/IndexAccessors.java +++ b/community/consistency-check/src/main/java/org/neo4j/consistency/checking/index/IndexAccessors.java @@ -30,7 +30,6 @@ import org.neo4j.kernel.api.index.IndexAccessor; import org.neo4j.kernel.api.index.InternalIndexState; import org.neo4j.kernel.api.index.SchemaIndexProvider; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingConfig; import org.neo4j.kernel.impl.store.RecordStore; import org.neo4j.kernel.impl.store.SchemaStorage; diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundQueryContext.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundQueryContext.scala index 55c38a36a443d..0e15a75c745a5 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundQueryContext.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundQueryContext.scala @@ -454,7 +454,7 @@ final class TransactionBoundQueryContext(tc: TransactionalContextWrapper) } def addIndexRule(labelId: Int, propertyKeyId: Int): IdempotentResult[IndexDescriptor] = try { - IdempotentResult(tc.statement.schemaWriteOperations().indexCreate(new NodePropertyDescriptor(labelId, propertyKeyId))) + IdempotentResult(tc.statement.schemaWriteOperations().indexCreate(SchemaDescriptorFactory.forLabel(labelId, propertyKeyId))) } catch { case _: AlreadyIndexedException => diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundQueryContext.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundQueryContext.scala index 2910b69fd7ed0..04383d5bddb07 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundQueryContext.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundQueryContext.scala @@ -460,7 +460,7 @@ final class TransactionBoundQueryContext(txContext: TransactionalContextWrapper) } override def addIndexRule(labelId: Int, propertyKeyId: Int): IdempotentResult[IndexDescriptor] = try { - IdempotentResult(txContext.statement.schemaWriteOperations().indexCreate(new NodePropertyDescriptor(labelId, propertyKeyId))) + IdempotentResult(txContext.statement.schemaWriteOperations().indexCreate( SchemaDescriptorFactory.forLabel(labelId, propertyKeyId))) } catch { case _: AlreadyIndexedException => val indexDescriptor = txContext.statement.readOperations().indexGetForLabelAndPropertyKey(new NodePropertyDescriptor(labelId, propertyKeyId)) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_2/TransactionBoundQueryContext.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_2/TransactionBoundQueryContext.scala index 0d39ff8bd338d..4f57d91d420ab 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_2/TransactionBoundQueryContext.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_2/TransactionBoundQueryContext.scala @@ -464,12 +464,11 @@ final class TransactionBoundQueryContext(val transactionalContext: Transactional } override def addIndexRule(descriptor: IndexDescriptor): IdempotentResult[IndexDescriptor] = { - val index = toNodePropertyDescriptor(descriptor) try { - IdempotentResult(transactionalContext.statement.schemaWriteOperations().indexCreate(index)) + IdempotentResult(transactionalContext.statement.schemaWriteOperations().indexCreate( SchemaDescriptorFactory.forLabel(descriptor.label, descriptor.property))) } catch { case _: AlreadyIndexedException => - val indexDescriptor = transactionalContext.statement.readOperations().indexGetForLabelAndPropertyKey(index) + val indexDescriptor = transactionalContext.statement.readOperations().indexGetForLabelAndPropertyKey(new NodePropertyDescriptor( descriptor.label, descriptor.property)) if(transactionalContext.statement.readOperations().indexGetState(indexDescriptor) == InternalIndexState.FAILED) throw new FailedIndexException(indexDescriptor.userDescription(tokenNameLookup)) IdempotentResult(indexDescriptor, wasCreated = false) diff --git a/community/kernel/src/main/java/org/neo4j/kernel/api/SchemaWriteOperations.java b/community/kernel/src/main/java/org/neo4j/kernel/api/SchemaWriteOperations.java index d0edd12699157..82e28467d0438 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/api/SchemaWriteOperations.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/api/SchemaWriteOperations.java @@ -24,7 +24,6 @@ import org.neo4j.kernel.api.exceptions.schema.CreateConstraintFailureException; import org.neo4j.kernel.api.exceptions.schema.DropConstraintFailureException; import org.neo4j.kernel.api.exceptions.schema.DropIndexFailureException; -import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; import org.neo4j.kernel.api.schema_new.RelationTypeSchemaDescriptor; import org.neo4j.kernel.api.schema_new.constaints.ConstraintDescriptor; @@ -38,8 +37,9 @@ public interface SchemaWriteOperations /** * Creates an index, indexing properties with the given {@code propertyKeyId} for nodes with the given * {@code labelId}. + * @param schemaDescriptor */ - NewIndexDescriptor indexCreate( NodePropertyDescriptor nodeDescriptor ) + NewIndexDescriptor indexCreate( LabelSchemaDescriptor schemaDescriptor ) throws AlreadyIndexedException, AlreadyConstrainedException; /** Drops a {@link NewIndexDescriptor} from the database */ diff --git a/community/kernel/src/main/java/org/neo4j/kernel/api/constraints/UniquenessConstraint.java b/community/kernel/src/main/java/org/neo4j/kernel/api/constraints/UniquenessConstraint.java index 20fe637d39d70..f2cb8d2797288 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/api/constraints/UniquenessConstraint.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/api/constraints/UniquenessConstraint.java @@ -19,10 +19,11 @@ */ package org.neo4j.kernel.api.constraints; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.TokenNameLookup; +import org.neo4j.kernel.api.schema_new.SchemaBoundary; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; /** * Description of uniqueness constraint over nodes given a label and a property key id. @@ -34,9 +35,9 @@ public UniquenessConstraint( NodePropertyDescriptor descriptor ) super( descriptor ); } - public IndexDescriptor indexDescriptor() + public NewIndexDescriptor indexDescriptor() { - return IndexDescriptorFactory.of( descriptor ); + return NewIndexDescriptorFactory.forSchema( SchemaBoundary.map( descriptor ) ); } @Override diff --git a/community/kernel/src/main/java/org/neo4j/kernel/api/schema/CompositeIndexDescriptor.java b/community/kernel/src/main/java/org/neo4j/kernel/api/schema/CompositeIndexDescriptor.java deleted file mode 100644 index b62d864dfe74b..0000000000000 --- a/community/kernel/src/main/java/org/neo4j/kernel/api/schema/CompositeIndexDescriptor.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.neo4j.kernel.api.schema; - -import org.neo4j.storageengine.api.schema.SchemaRule; - -import static java.lang.String.format; - -/** - * Description of an index with multiple properties. - * - * @see SchemaRule - */ -public class CompositeIndexDescriptor extends NodeMultiPropertyDescriptor implements IndexDescriptor -{ - public CompositeIndexDescriptor( int labelId, int[] propertyKeyIds ) - { - super( labelId, propertyKeyIds ); - } -} diff --git a/community/kernel/src/main/java/org/neo4j/kernel/api/schema/IndexDescriptor.java b/community/kernel/src/main/java/org/neo4j/kernel/api/schema/IndexDescriptor.java deleted file mode 100644 index d6f36741d0907..0000000000000 --- a/community/kernel/src/main/java/org/neo4j/kernel/api/schema/IndexDescriptor.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.neo4j.kernel.api.schema; - -import org.neo4j.kernel.api.TokenNameLookup; -import org.neo4j.storageengine.api.schema.SchemaRule; - -import static java.lang.String.format; - -/** - * Description of a single index based on one label and one or more properties. - * - * @see SchemaRule - */ -@Deprecated -public interface IndexDescriptor -{ - /** - * @return the key representing the label for which this index is defined - */ - int getLabelId(); - - /** - * @return the key representing the single property for which this index is defined if the index is a single - * property index, or throw an exception otherwise - */ - int getPropertyKeyId(); - - /** - * @return the keys representing the multiple properties for which this composite index is defined if the index - * is a multi-property index, or throw an exception otherwise - */ - int[] getPropertyKeyIds(); - - /** - * @return true if this index is a multi-property index - */ - boolean isComposite(); - - /** - * @param tokenNameLookup table of mappings from integer keys to token names for labels and properties - * @return a user readable description of the index using the label and property names instead of keys - */ - String userDescription( TokenNameLookup tokenNameLookup ); - - /** - * @return the underlying descriptor used to define this index - */ - NodePropertyDescriptor descriptor(); -} diff --git a/community/kernel/src/main/java/org/neo4j/kernel/api/schema/IndexDescriptorFactory.java b/community/kernel/src/main/java/org/neo4j/kernel/api/schema/IndexDescriptorFactory.java deleted file mode 100644 index 8576eb9c65ab9..0000000000000 --- a/community/kernel/src/main/java/org/neo4j/kernel/api/schema/IndexDescriptorFactory.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.neo4j.kernel.api.schema; - -import org.neo4j.graphdb.schema.IndexDefinition; -import org.neo4j.kernel.api.ReadOperations; -import org.neo4j.kernel.api.SchemaWriteOperations; -import org.neo4j.kernel.api.TokenWriteOperations; -import org.neo4j.kernel.api.exceptions.schema.IllegalTokenNameException; -import org.neo4j.kernel.api.exceptions.schema.TooManyLabelsException; -import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; -import org.neo4j.kernel.impl.store.record.IndexRule; - -import static org.neo4j.kernel.impl.coreapi.schema.PropertyNameUtils.getOrCreatePropertyKeyIds; -import static org.neo4j.kernel.impl.coreapi.schema.PropertyNameUtils.getPropertyKeyIds; - -/** - * Factory methods for creating IndexDescriptors that are either single property or composite. - */ -public class IndexDescriptorFactory -{ - public static IndexDescriptor of( int labelId, int... propertyKeyIds ) - { - if ( propertyKeyIds.length == 0 ) - { - throw new IllegalArgumentException( "Index descriptors must contain at least one property" ); - } - else if ( propertyKeyIds.length == 1 ) - { - return new SinglePropertyIndexDescriptor( labelId, propertyKeyIds[0] ); - } - else - { - return new CompositeIndexDescriptor( labelId, propertyKeyIds ); - } - } - - public static IndexDescriptor of( NodePropertyDescriptor descriptor ) - { - return descriptor.isComposite() ? new CompositeIndexDescriptor( descriptor.getLabelId(), - descriptor.getPropertyKeyIds() ) : new SinglePropertyIndexDescriptor( descriptor.getLabelId(), - descriptor.getPropertyKeyId() ); - } - - public static IndexDescriptor of( IndexRule rule ) - { - LabelSchemaDescriptor schema = rule.getIndexDescriptor().schema(); - return of( schema.getLabelId(), schema.getPropertyId() ); - // here 1 property is assumed. That should be fine because this class will be gone before multiple props are - // supported - } - - public static NodePropertyDescriptor getNodePropertyDescriptor( int labelId, int[] propertyKeyIds ) - { - return (propertyKeyIds.length > 1) ? new NodeMultiPropertyDescriptor( labelId, propertyKeyIds ) - : new NodePropertyDescriptor( labelId, propertyKeyIds[0] ); - } - - public static NodePropertyDescriptor getNodePropertyDescriptor( int labelId, int propertyKeyId ) - { - return new NodePropertyDescriptor( labelId, propertyKeyId ); - } - - public static NodePropertyDescriptor getOrCreateTokens( TokenWriteOperations schemaWriteOperations, - IndexDefinition indexDefinition ) throws IllegalTokenNameException, TooManyLabelsException - { - int labelId = schemaWriteOperations.labelGetOrCreateForName( indexDefinition.getLabel().name() ); - int[] propertyKeyIds = getOrCreatePropertyKeyIds( schemaWriteOperations, indexDefinition ); - - return getNodePropertyDescriptor( labelId, propertyKeyIds ); - } - - public static NodePropertyDescriptor getTokens( ReadOperations readOperations, IndexDefinition indexDefinition ) - { - int labelId = readOperations.labelGetForName( indexDefinition.getLabel().name() ); - int[] propertyKeyIds = getPropertyKeyIds( readOperations, indexDefinition.getPropertyKeys() ); - - return getNodePropertyDescriptor( labelId, propertyKeyIds ); - } -} diff --git a/community/kernel/src/main/java/org/neo4j/kernel/api/schema/SinglePropertyIndexDescriptor.java b/community/kernel/src/main/java/org/neo4j/kernel/api/schema/SinglePropertyIndexDescriptor.java deleted file mode 100644 index e3779b43a3997..0000000000000 --- a/community/kernel/src/main/java/org/neo4j/kernel/api/schema/SinglePropertyIndexDescriptor.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.neo4j.kernel.api.schema; - -import org.neo4j.storageengine.api.schema.SchemaRule; - -/** - * Description of a single index based on one label and one property. - * - * @see SchemaRule - */ -public class SinglePropertyIndexDescriptor extends NodePropertyDescriptor implements IndexDescriptor -{ - SinglePropertyIndexDescriptor( int labelId, int propertyKeyId ) - { - super(labelId, propertyKeyId); - } -} diff --git a/community/kernel/src/main/java/org/neo4j/kernel/api/schema_new/SchemaBoundary.java b/community/kernel/src/main/java/org/neo4j/kernel/api/schema_new/SchemaBoundary.java index 86fc5c31dc3ac..883d3951fb7ea 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/api/schema_new/SchemaBoundary.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/api/schema_new/SchemaBoundary.java @@ -19,7 +19,7 @@ */ package org.neo4j.kernel.api.schema_new; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; +import org.neo4j.kernel.api.schema.NodeMultiPropertyDescriptor; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema.RelationshipPropertyDescriptor; @@ -47,6 +47,6 @@ public static RelationTypeSchemaDescriptor map( RelationshipPropertyDescriptor d public static NodePropertyDescriptor map( LabelSchemaDescriptor schema ) { - return IndexDescriptorFactory.getNodePropertyDescriptor( schema.getLabelId(), schema.getPropertyIds() ); + return new NodeMultiPropertyDescriptor( schema.getLabelId(), schema.getPropertyIds() ); } } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/api/schema_new/constaints/ConstraintBoundary.java b/community/kernel/src/main/java/org/neo4j/kernel/api/schema_new/constaints/ConstraintBoundary.java index ac734e4e383e2..a145ab53b74ac 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/api/schema_new/constaints/ConstraintBoundary.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/api/schema_new/constaints/ConstraintBoundary.java @@ -28,7 +28,7 @@ import org.neo4j.kernel.api.constraints.RelationshipPropertyConstraint; import org.neo4j.kernel.api.constraints.RelationshipPropertyExistenceConstraint; import org.neo4j.kernel.api.constraints.UniquenessConstraint; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; +import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema.RelationshipPropertyDescriptor; import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; import org.neo4j.kernel.api.schema_new.RelationTypeSchemaDescriptor; @@ -108,11 +108,11 @@ public PropertyConstraint computeSpecific( LabelSchemaDescriptor schema ) switch ( descriptor.type() ) { case UNIQUE: - return new UniquenessConstraint( IndexDescriptorFactory.getNodePropertyDescriptor( + return new UniquenessConstraint( new NodePropertyDescriptor( schema.getLabelId(), schema.getPropertyId() ) ); case EXISTS: - return new NodePropertyExistenceConstraint( IndexDescriptorFactory.getNodePropertyDescriptor( + return new NodePropertyExistenceConstraint( new NodePropertyDescriptor( schema.getLabelId(), schema.getPropertyId() ) ); default: diff --git a/community/kernel/src/main/java/org/neo4j/kernel/api/schema_new/index/IndexBoundary.java b/community/kernel/src/main/java/org/neo4j/kernel/api/schema_new/index/IndexBoundary.java deleted file mode 100644 index deb92abfce3f8..0000000000000 --- a/community/kernel/src/main/java/org/neo4j/kernel/api/schema_new/index/IndexBoundary.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.neo4j.kernel.api.schema_new.index; - -import java.util.Iterator; - -import org.neo4j.helpers.collection.Iterators; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; -import org.neo4j.kernel.api.schema.NodePropertyDescriptor; -import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; - -/** - * This class represents the boundary of where new index descriptors are converted to old index descriptors. Take me - * away when possible... - */ -public class IndexBoundary -{ - public static IndexDescriptor map( NewIndexDescriptor descriptor ) - { - if ( descriptor == null ) - { - return null; - } - return IndexDescriptorFactory.of( descriptor.schema().getLabelId(), descriptor.schema().getPropertyIds() ); - } - - public static IndexDescriptor map( LabelSchemaDescriptor descriptor ) - { - if ( descriptor == null ) - { - return null; - } - return IndexDescriptorFactory.of( descriptor.getLabelId(), descriptor.getPropertyIds() ); - } - - public static NewIndexDescriptor map( IndexDescriptor descriptor ) - { - if ( descriptor == null ) - { - return null; - } - if ( descriptor.isComposite() ) - { - return NewIndexDescriptorFactory.forLabel( descriptor.getLabelId(), descriptor.getPropertyKeyIds() ); - } - else - { - return NewIndexDescriptorFactory.forLabel( descriptor.getLabelId(), descriptor.getPropertyKeyId() ); - } - } - - public static NewIndexDescriptor map( NodePropertyDescriptor descriptor ) - { - if ( descriptor == null ) - { - return null; - } - if ( descriptor.isComposite() ) - { - return NewIndexDescriptorFactory.forLabel( descriptor.getLabelId(), descriptor.getPropertyKeyIds() ); - } - else - { - return NewIndexDescriptorFactory.forLabel( descriptor.getLabelId(), descriptor.getPropertyKeyId() ); - } - } - - public static NewIndexDescriptor mapUnique( IndexDescriptor descriptor ) - { - if ( descriptor == null ) - { - return null; - } - return NewIndexDescriptorFactory.uniqueForLabel( descriptor.getLabelId(), descriptor.getPropertyKeyId() ); - } - - public static Iterator map( Iterator iterator ) - { - return Iterators.map( IndexBoundary::map, iterator ); - } -} diff --git a/community/kernel/src/main/java/org/neo4j/kernel/builtinprocs/IndexProcedures.java b/community/kernel/src/main/java/org/neo4j/kernel/builtinprocs/IndexProcedures.java index 53aa569b25640..802d1ec1c830c 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/builtinprocs/IndexProcedures.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/builtinprocs/IndexProcedures.java @@ -31,9 +31,7 @@ import org.neo4j.kernel.api.exceptions.Status; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; import org.neo4j.kernel.api.exceptions.schema.SchemaRuleNotFoundException; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.index.InternalIndexState; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.impl.api.index.IndexingService; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingMode; @@ -168,7 +166,7 @@ private InternalIndexState getState( IndexSpecifier indexDescription, NewIndexDe private void triggerSampling( NewIndexDescriptor index ) throws IndexNotFoundKernelException { - indexingService.triggerIndexSampling( IndexBoundary.map( index ), IndexSamplingMode.TRIGGER_REBUILD_ALL ); + indexingService.triggerIndexSampling( index, IndexSamplingMode.TRIGGER_REBUILD_ALL ); } @Override diff --git a/community/kernel/src/main/java/org/neo4j/kernel/builtinprocs/SchemaProcedure.java b/community/kernel/src/main/java/org/neo4j/kernel/builtinprocs/SchemaProcedure.java index 6de31824f2265..c100aa16f6a72 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/builtinprocs/SchemaProcedure.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/builtinprocs/SchemaProcedure.java @@ -42,9 +42,7 @@ import org.neo4j.kernel.api.ReadOperations; import org.neo4j.kernel.api.Statement; import org.neo4j.kernel.api.StatementTokenNameLookup; -import org.neo4j.kernel.api.constraints.NodePropertyConstraint; import org.neo4j.kernel.api.constraints.PropertyConstraint; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.schema_new.constaints.ConstraintBoundary; import org.neo4j.kernel.api.schema_new.constaints.ConstraintDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/ConstraintEnforcingEntityOperations.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/ConstraintEnforcingEntityOperations.java index 2e9477740f463..d382e66c66c65 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/ConstraintEnforcingEntityOperations.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/ConstraintEnforcingEntityOperations.java @@ -48,7 +48,6 @@ import org.neo4j.kernel.api.exceptions.schema.UniquePropertyValueValidationException; import org.neo4j.kernel.api.properties.DefinedProperty; import org.neo4j.kernel.api.properties.Property; -import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema_new.IndexQuery; import org.neo4j.kernel.api.schema_new.IndexQuery.ExactPredicate; import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; @@ -539,7 +538,7 @@ public Cursor nodeGetRelationships( KernelStatement statement, } @Override - public NewIndexDescriptor indexCreate( KernelStatement state, NodePropertyDescriptor descriptor ) + public NewIndexDescriptor indexCreate( KernelStatement state, LabelSchemaDescriptor descriptor ) throws AlreadyIndexedException, AlreadyConstrainedException { return schemaWriteOperations.indexCreate( state, descriptor ); diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/CountsAccessor.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/CountsAccessor.java index 6a46fb19d23e2..1fc755101de67 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/CountsAccessor.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/CountsAccessor.java @@ -19,7 +19,6 @@ */ package org.neo4j.kernel.impl.api; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.register.Register.DoubleLongRegister; public interface CountsAccessor extends CountsVisitor.Visitable diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/DataIntegrityValidatingStatementOperations.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/DataIntegrityValidatingStatementOperations.java index 28b202b8dfae0..ee7bcf3187cba 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/DataIntegrityValidatingStatementOperations.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/DataIntegrityValidatingStatementOperations.java @@ -110,10 +110,10 @@ public void relationshipTypeCreateForName( KernelStatement state, String relatio } @Override - public NewIndexDescriptor indexCreate( KernelStatement state, NodePropertyDescriptor descriptor ) + public NewIndexDescriptor indexCreate( KernelStatement state, LabelSchemaDescriptor descriptor ) throws AlreadyIndexedException, AlreadyConstrainedException { - checkIndexExistence( state, OperationContext.INDEX_CREATION, descriptor ); + checkIndexExistence( state, OperationContext.INDEX_CREATION, SchemaBoundary.map( descriptor ) ); return schemaWriteDelegate.indexCreate( state, descriptor ); } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/IndexReaderFactory.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/IndexReaderFactory.java index 734688707c68c..7a965a87a5126 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/IndexReaderFactory.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/IndexReaderFactory.java @@ -23,22 +23,22 @@ import java.util.Map; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; -import org.neo4j.kernel.api.schema.IndexDescriptor; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.impl.api.index.IndexProxy; import org.neo4j.kernel.impl.api.index.IndexingService; import org.neo4j.storageengine.api.schema.IndexReader; public interface IndexReaderFactory { - IndexReader newReader( IndexDescriptor descriptor ) throws IndexNotFoundKernelException; + IndexReader newReader( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException; - IndexReader newUnCachedReader( IndexDescriptor descriptor ) throws IndexNotFoundKernelException; + IndexReader newUnCachedReader( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException; void close(); class Caching implements IndexReaderFactory { - private Map indexReaders; + private Map indexReaders; private final IndexingService indexingService; public Caching( IndexingService indexingService ) @@ -47,7 +47,7 @@ public Caching( IndexingService indexingService ) } @Override - public IndexReader newReader( IndexDescriptor descriptor ) throws IndexNotFoundKernelException + public IndexReader newReader( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException { if( indexReaders == null ) { @@ -64,7 +64,7 @@ public IndexReader newReader( IndexDescriptor descriptor ) throws IndexNotFoundK } @Override - public IndexReader newUnCachedReader( IndexDescriptor descriptor ) throws IndexNotFoundKernelException + public IndexReader newUnCachedReader( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException { IndexProxy index = indexingService.getIndexProxy( descriptor ); return index.newReader(); diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/LockingStatementOperations.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/LockingStatementOperations.java index 805c4c7c899d6..0fa1a9d3f3dfb 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/LockingStatementOperations.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/LockingStatementOperations.java @@ -126,7 +126,7 @@ public boolean nodeRemoveLabel( KernelStatement state, long nodeId, int labelId } @Override - public NewIndexDescriptor indexCreate( KernelStatement state, NodePropertyDescriptor descriptor ) + public NewIndexDescriptor indexCreate( KernelStatement state, LabelSchemaDescriptor descriptor ) throws AlreadyIndexedException, AlreadyConstrainedException { acquireExclusiveSchemaLock( state ); diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/OperationsFacade.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/OperationsFacade.java index 36c047b34be4a..6aaf9509f71aa 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/OperationsFacade.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/OperationsFacade.java @@ -43,7 +43,6 @@ import org.neo4j.kernel.api.ReadOperations; import org.neo4j.kernel.api.SchemaWriteOperations; import org.neo4j.kernel.api.StatementConstants; -import org.neo4j.kernel.api.constraints.RelationshipPropertyConstraint; import org.neo4j.kernel.api.exceptions.EntityNotFoundException; import org.neo4j.kernel.api.exceptions.InvalidTransactionTypeKernelException; import org.neo4j.kernel.api.exceptions.KernelException; @@ -989,7 +988,7 @@ public Property graphRemoveProperty( int propertyKeyId ) // @Override - public NewIndexDescriptor indexCreate( NodePropertyDescriptor descriptor ) + public NewIndexDescriptor indexCreate( LabelSchemaDescriptor descriptor ) throws AlreadyIndexedException, AlreadyConstrainedException { statement.assertOpen(); diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/StateHandlingStatementOperations.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/StateHandlingStatementOperations.java index 31154d4846b2b..2b5fb54170f29 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/StateHandlingStatementOperations.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/StateHandlingStatementOperations.java @@ -22,7 +22,6 @@ import java.util.Arrays; import java.util.Iterator; import java.util.Map; -import java.util.function.IntPredicate; import org.neo4j.collection.primitive.Primitive; import org.neo4j.collection.primitive.PrimitiveIntCollection; @@ -74,8 +73,8 @@ import org.neo4j.kernel.api.schema_new.constaints.NodeExistenceConstraintDescriptor; import org.neo4j.kernel.api.schema_new.constaints.RelExistenceConstraintDescriptor; import org.neo4j.kernel.api.schema_new.constaints.UniquenessConstraintDescriptor; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.api.txstate.TransactionCountingStateVisitor; import org.neo4j.kernel.api.txstate.TransactionState; import org.neo4j.kernel.impl.api.operations.CountsOperations; @@ -569,11 +568,11 @@ public long relationshipsGetCount( KernelStatement state ) } @Override - public NewIndexDescriptor indexCreate( KernelStatement state, NodePropertyDescriptor descriptor ) + public NewIndexDescriptor indexCreate( KernelStatement state, LabelSchemaDescriptor descriptor ) { - NewIndexDescriptor newIndexDescriptor = IndexBoundary.map( descriptor ); - state.txState().indexRuleDoAdd( newIndexDescriptor ); - return newIndexDescriptor; + NewIndexDescriptor indexDescriptor = NewIndexDescriptorFactory.forSchema( descriptor ); + state.txState().indexRuleDoAdd( indexDescriptor ); + return indexDescriptor; } @Override diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/BatchingMultipleIndexPopulator.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/BatchingMultipleIndexPopulator.java index 8345af8fc4475..5b7751897ed3b 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/BatchingMultipleIndexPopulator.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/BatchingMultipleIndexPopulator.java @@ -41,7 +41,6 @@ import org.neo4j.kernel.api.exceptions.index.IndexEntryConflictException; import org.neo4j.kernel.api.exceptions.index.IndexPopulationFailedKernelException; import org.neo4j.kernel.api.index.IndexEntryUpdate; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.index.IndexPopulator; import org.neo4j.kernel.api.index.SchemaIndexProvider; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; @@ -221,7 +220,7 @@ private void flushAll() } /** - * Insert the given batch of updates into the index defined by the given {@link IndexDescriptor}. + * Insert the given batch of updates into the index defined by the given {@link IndexPopulation}. * * @param population the index population. * @param batch the list of updates to insert. diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexCountsRemover.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexCountsRemover.java index ce05eee0204a2..07acdbe4cae7e 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexCountsRemover.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexCountsRemover.java @@ -19,8 +19,6 @@ */ package org.neo4j.kernel.impl.api.index; -import org.neo4j.kernel.api.schema.IndexDescriptor; - public class IndexCountsRemover { private final IndexStoreView storeView; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMap.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMap.java index 8b3211b23c41b..6137e2e5ad7d0 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMap.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMap.java @@ -24,8 +24,7 @@ import java.util.Map; import java.util.function.BiConsumer; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; /** * Bundles various mappings to IndexProxy. Used by IndexingService via IndexMapReference. @@ -36,15 +35,15 @@ public final class IndexMap implements Cloneable { private final Map indexesById; - private final Map indexesByDescriptor; - private final Map indexIdsByDescriptor; + private final Map indexesByDescriptor; + private final Map indexIdsByDescriptor; public IndexMap() { this( new HashMap<>(), new HashMap<>(), new HashMap<>() ); } - private IndexMap( Map indexesById, Map indexesByDescriptor, Map indexIdsByDescriptor ) + private IndexMap( Map indexesById, Map indexesByDescriptor, Map indexIdsByDescriptor ) { this.indexesById = indexesById; this.indexesByDescriptor = indexesByDescriptor; @@ -56,12 +55,12 @@ public IndexProxy getIndexProxy( long indexId ) return indexesById.get( indexId ); } - public IndexProxy getIndexProxy( IndexDescriptor descriptor ) + public IndexProxy getIndexProxy( NewIndexDescriptor descriptor ) { return indexesByDescriptor.get( descriptor ); } - public long getIndexId( IndexDescriptor descriptor ) + public long getIndexId( NewIndexDescriptor descriptor ) { return indexIdsByDescriptor.get( descriptor ); } @@ -69,8 +68,8 @@ public long getIndexId( IndexDescriptor descriptor ) public void putIndexProxy( long indexId, IndexProxy indexProxy ) { indexesById.put( indexId, indexProxy ); - indexesByDescriptor.put( IndexBoundary.map( indexProxy.getDescriptor() ), indexProxy ); - indexIdsByDescriptor.put( IndexBoundary.map( indexProxy.getDescriptor() ), indexId ); + indexesByDescriptor.put( indexProxy.getDescriptor(), indexProxy ); + indexIdsByDescriptor.put( indexProxy.getDescriptor(), indexId ); } public IndexProxy removeIndexProxy( long indexId ) @@ -78,7 +77,7 @@ public IndexProxy removeIndexProxy( long indexId ) IndexProxy removedProxy = indexesById.remove( indexId ); if ( null != removedProxy ) { - indexesByDescriptor.remove( IndexBoundary.map( removedProxy.getDescriptor() ) ); + indexesByDescriptor.remove( removedProxy.getDescriptor() ); } return removedProxy; } @@ -110,7 +109,7 @@ private Map cloneMap( Map map ) return shallowCopy; } - public Iterator descriptors() + public Iterator descriptors() { return indexesByDescriptor.keySet().iterator(); } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMapReference.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMapReference.java index 1d82a04946f0a..9a7ae0933cc9f 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMapReference.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMapReference.java @@ -20,7 +20,7 @@ package org.neo4j.kernel.impl.api.index; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; -import org.neo4j.kernel.api.schema.IndexDescriptor; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; public class IndexMapReference implements IndexMapSnapshotProvider { @@ -42,7 +42,7 @@ public IndexProxy getIndexProxy( long indexId ) throws IndexNotFoundKernelExcept return proxy; } - public IndexProxy getIndexProxy( IndexDescriptor descriptor ) throws IndexNotFoundKernelException + public IndexProxy getIndexProxy( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException { IndexProxy proxy = indexMap.getIndexProxy( descriptor ); if ( proxy == null ) @@ -52,7 +52,7 @@ public IndexProxy getIndexProxy( IndexDescriptor descriptor ) throws IndexNotFou return proxy; } - public long getIndexId( IndexDescriptor descriptor ) throws IndexNotFoundKernelException + public long getIndexId( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException { IndexProxy proxy = indexMap.getIndexProxy( descriptor ); if ( proxy == null ) @@ -62,7 +62,7 @@ public long getIndexId( IndexDescriptor descriptor ) throws IndexNotFoundKernelE return indexMap.getIndexId( descriptor ); } - public long getOnlineIndexId( IndexDescriptor descriptor ) throws IndexNotFoundKernelException + public long getOnlineIndexId( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException { IndexProxy proxy = getIndexProxy( descriptor ); switch ( proxy.getState() ) diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexUpdaterMap.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexUpdaterMap.java index a139b4b259579..0fe266869a1de 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexUpdaterMap.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexUpdaterMap.java @@ -30,9 +30,7 @@ import org.neo4j.helpers.collection.PrefetchingIterator; import org.neo4j.kernel.api.exceptions.index.IndexEntryConflictException; import org.neo4j.kernel.api.index.IndexUpdater; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.impl.store.MultipleUnderlyingStorageExceptions; import org.neo4j.kernel.impl.store.UnderlyingStorageException; @@ -49,7 +47,7 @@ class IndexUpdaterMap implements AutoCloseable, Iterable { private final IndexUpdateMode indexUpdateMode; private final IndexMap indexMap; - private final Map updaterMap; + private final Map updaterMap; IndexUpdaterMap( IndexMap indexMap, IndexUpdateMode indexUpdateMode ) { @@ -58,12 +56,12 @@ class IndexUpdaterMap implements AutoCloseable, Iterable this.updaterMap = new HashMap<>(); } - Iterable descriptors() + Iterable descriptors() { return indexMap::descriptors; } - IndexUpdater getUpdater( IndexDescriptor descriptor ) + IndexUpdater getUpdater( NewIndexDescriptor descriptor ) { IndexUpdater updater = updaterMap.get( descriptor ); if ( null == updater ) @@ -83,7 +81,7 @@ public void close() throws UnderlyingStorageException { Set> exceptions = null; - for ( Map.Entry updaterEntry : updaterMap.entrySet() ) + for ( Map.Entry updaterEntry : updaterMap.entrySet() ) { IndexUpdater updater = updaterEntry.getValue(); try @@ -96,7 +94,7 @@ public void close() throws UnderlyingStorageException { exceptions = new HashSet<>(); } - exceptions.add( Pair.of( IndexBoundary.map( updaterEntry.getKey() ), + exceptions.add( Pair.of( updaterEntry.getKey(), new UnderlyingStorageException( e ) ) ); } } @@ -134,7 +132,7 @@ public Iterator iterator() { return new PrefetchingIterator() { - Iterator descriptors = indexMap.descriptors(); + Iterator descriptors = indexMap.descriptors(); @Override protected IndexUpdater fetchNextOrNull() { diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexingService.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexingService.java index bf36c38ff6b9f..4cb96b72767b3 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexingService.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexingService.java @@ -43,13 +43,11 @@ import org.neo4j.kernel.api.exceptions.index.IndexPopulationFailedKernelException; import org.neo4j.kernel.api.exceptions.schema.UniquePropertyValueValidationException; import org.neo4j.kernel.api.index.IndexEntryUpdate; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.index.IndexUpdater; import org.neo4j.kernel.api.index.InternalIndexState; import org.neo4j.kernel.api.index.NodeUpdates; import org.neo4j.kernel.api.index.SchemaIndexProvider; import org.neo4j.kernel.api.index.SchemaIndexProvider.Descriptor; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingController; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingMode; @@ -369,7 +367,7 @@ public void shutdown() closeAllIndexes(); } - public DoubleLongRegister indexUpdatesAndSize( IndexDescriptor descriptor ) throws IndexNotFoundKernelException + public DoubleLongRegister indexUpdatesAndSize( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException { final long indexId = indexMapRef.getOnlineIndexId( descriptor ); final DoubleLongRegister output = Registers.newDoubleLongRegister(); @@ -377,7 +375,7 @@ public DoubleLongRegister indexUpdatesAndSize( IndexDescriptor descriptor ) thro return output; } - public double indexUniqueValuesPercentage( IndexDescriptor descriptor ) throws IndexNotFoundKernelException + public double indexUniqueValuesPercentage( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException { final long indexId = indexMapRef.getOnlineIndexId( descriptor ); final DoubleLongRegister output = Registers.newDoubleLongRegister(); @@ -434,9 +432,9 @@ private void apply( IndexUpdates updates, IndexUpdateMode updateMode ) { for ( NodeUpdates update : updates ) { - for ( IndexDescriptor descriptor : updaterMap.descriptors() ) + for ( NewIndexDescriptor descriptor : updaterMap.descriptors() ) { - Optional entry = update.forIndex( IndexBoundary.map( descriptor ) ); + Optional entry = update.forIndex( descriptor ); if ( entry.isPresent() ) { updaterMap.getUpdater( descriptor ).process( entry.get() ); @@ -571,7 +569,7 @@ public void triggerIndexSampling( IndexSamplingMode mode ) samplingController.sampleIndexes( mode ); } - public void triggerIndexSampling( IndexDescriptor descriptor, IndexSamplingMode mode ) + public void triggerIndexSampling( NewIndexDescriptor descriptor, IndexSamplingMode mode ) throws IndexNotFoundKernelException { String description = descriptor.userDescription( tokenNameLookup ); @@ -626,12 +624,12 @@ public IndexProxy getIndexProxy( long indexId ) throws IndexNotFoundKernelExcept return indexMapRef.getIndexProxy( indexId ); } - public IndexProxy getIndexProxy( IndexDescriptor descriptor ) throws IndexNotFoundKernelException + public IndexProxy getIndexProxy( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException { return indexMapRef.getIndexProxy( descriptor ); } - public long getIndexId( IndexDescriptor descriptor ) throws IndexNotFoundKernelException + public long getIndexId( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException { return indexMapRef.getIndexId( descriptor ); } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/RemoveOrphanConstraintIndexesOnStartup.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/RemoveOrphanConstraintIndexesOnStartup.java index 4d053e0770de7..3cf3e7e334776 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/RemoveOrphanConstraintIndexesOnStartup.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/RemoveOrphanConstraintIndexesOnStartup.java @@ -23,7 +23,6 @@ import org.neo4j.kernel.api.KernelTransaction; import org.neo4j.kernel.api.Statement; import org.neo4j.kernel.api.exceptions.KernelException; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.logging.Log; import org.neo4j.logging.LogProvider; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/TentativeConstraintIndexProxy.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/TentativeConstraintIndexProxy.java index ede0977628ad5..3cec7faacab72 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/TentativeConstraintIndexProxy.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/TentativeConstraintIndexProxy.java @@ -26,14 +26,12 @@ import org.neo4j.kernel.api.exceptions.index.IndexEntryConflictException; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; +import org.neo4j.kernel.api.exceptions.schema.ConstraintValidationException; +import org.neo4j.kernel.api.exceptions.schema.UniquePropertyValueValidationException; import org.neo4j.kernel.api.index.IndexEntryUpdate; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.index.IndexUpdater; import org.neo4j.kernel.api.index.InternalIndexState; -import org.neo4j.kernel.api.exceptions.schema.ConstraintValidationException; -import org.neo4j.kernel.api.exceptions.schema.UniquePropertyValueValidationException; import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; -import org.neo4j.kernel.api.schema_new.SchemaDescriptor; import org.neo4j.kernel.api.schema_new.constaints.ConstraintDescriptorFactory; import org.neo4j.kernel.impl.api.index.updater.DelegatingIndexUpdater; import org.neo4j.storageengine.api.schema.IndexReader; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingController.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingController.java index 16a483b29ec2d..5b54c7ca8b637 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingController.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingController.java @@ -23,9 +23,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -import java.util.function.Predicate; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.index.InternalIndexState; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.impl.api.index.IndexMap; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/sampling/OnlineIndexSamplingJob.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/sampling/OnlineIndexSamplingJob.java index e1b568cecb20e..b97fc4d31b6b6 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/sampling/OnlineIndexSamplingJob.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/sampling/OnlineIndexSamplingJob.java @@ -20,7 +20,6 @@ package org.neo4j.kernel.impl.api.index.sampling; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.impl.api.index.IndexProxy; import org.neo4j.kernel.impl.api.index.IndexStoreView; import org.neo4j.kernel.impl.util.DurationLogger; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/operations/SchemaWriteOperations.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/operations/SchemaWriteOperations.java index 9e22a311f9715..0fc1c47a47ba0 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/operations/SchemaWriteOperations.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/operations/SchemaWriteOperations.java @@ -19,7 +19,6 @@ */ package org.neo4j.kernel.impl.api.operations; -import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.exceptions.schema.AlreadyConstrainedException; import org.neo4j.kernel.api.exceptions.schema.AlreadyIndexedException; import org.neo4j.kernel.api.exceptions.schema.CreateConstraintFailureException; @@ -40,7 +39,7 @@ public interface SchemaWriteOperations * Creates an index, indexing properties with the given {@code propertyKeyId} for nodes with the given * {@code labelId}. */ - NewIndexDescriptor indexCreate( KernelStatement state, NodePropertyDescriptor descriptor ) + NewIndexDescriptor indexCreate( KernelStatement state, LabelSchemaDescriptor descriptor ) throws AlreadyIndexedException, AlreadyConstrainedException; /** Drops a {@link NewIndexDescriptor} from the database */ diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/StorageLayer.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/StorageLayer.java index dec126bca77f5..b9f862f374726 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/StorageLayer.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/StorageLayer.java @@ -31,8 +31,6 @@ import org.neo4j.graphdb.TransactionFailureException; import org.neo4j.helpers.collection.Iterators; import org.neo4j.kernel.api.ReadOperations; -import org.neo4j.kernel.api.constraints.NodePropertyConstraint; -import org.neo4j.kernel.api.constraints.RelationshipPropertyConstraint; import org.neo4j.kernel.api.exceptions.EntityNotFoundException; import org.neo4j.kernel.api.exceptions.LabelNotFoundKernelException; import org.neo4j.kernel.api.exceptions.PropertyKeyIdNotFoundKernelException; @@ -43,11 +41,10 @@ import org.neo4j.kernel.api.index.InternalIndexState; import org.neo4j.kernel.api.properties.PropertyKeyIdIterator; import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; -import org.neo4j.kernel.api.schema_new.RelationTypeSchemaDescriptor; import org.neo4j.kernel.api.schema_new.SchemaDescriptor; import org.neo4j.kernel.api.schema_new.constaints.ConstraintDescriptor; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.DegreeVisitor; import org.neo4j.kernel.impl.api.RelationshipVisitor; import org.neo4j.kernel.impl.api.index.IndexingService; @@ -244,33 +241,34 @@ public long indexGetCommittedId( NewIndexDescriptor index ) @Override public InternalIndexState indexGetState( LabelSchemaDescriptor descriptor ) throws IndexNotFoundKernelException { - return indexService.getIndexProxy( IndexBoundary.map( descriptor ) ).getState(); + return indexService.getIndexProxy( NewIndexDescriptorFactory.forSchema( descriptor ) ).getState(); } @Override public PopulationProgress indexGetPopulationProgress( LabelSchemaDescriptor descriptor ) throws IndexNotFoundKernelException { - return indexService.getIndexProxy( IndexBoundary.map( descriptor ) ).getIndexPopulationProgress(); + return indexService.getIndexProxy( NewIndexDescriptorFactory.forSchema( descriptor ) ).getIndexPopulationProgress(); } @Override public long indexSize( LabelSchemaDescriptor descriptor ) throws IndexNotFoundKernelException { - Register.DoubleLongRegister result = indexService.indexUpdatesAndSize( IndexBoundary.map( descriptor ) ); + Register.DoubleLongRegister result = indexService.indexUpdatesAndSize( NewIndexDescriptorFactory.forSchema( descriptor + ) ); return result.readSecond(); } @Override public double indexUniqueValuesPercentage( LabelSchemaDescriptor descriptor ) throws IndexNotFoundKernelException { - return indexService.indexUniqueValuesPercentage( IndexBoundary.map( descriptor ) ); + return indexService.indexUniqueValuesPercentage( NewIndexDescriptorFactory.forSchema( descriptor ) ); } @Override public String indexGetFailure( LabelSchemaDescriptor descriptor ) throws IndexNotFoundKernelException { - return indexService.getIndexProxy( IndexBoundary.map( descriptor ) ).getPopulationFailure().asString(); + return indexService.getIndexProxy( NewIndexDescriptorFactory.forSchema( descriptor ) ).getPopulationFailure().asString(); } @Override @@ -544,7 +542,7 @@ public DoubleLongRegister indexSample( LabelSchemaDescriptor descriptor, DoubleL private long tryGetIndexId( LabelSchemaDescriptor descriptor) throws IndexNotFoundKernelException { - return indexService.getIndexId( IndexBoundary.map( descriptor ) ); + return indexService.getIndexId( NewIndexDescriptorFactory.forSchema( descriptor ) ); } @Override diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/StoreStatement.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/StoreStatement.java index 8a71620d71aab..eeca31b795aba 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/StoreStatement.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/StoreStatement.java @@ -24,7 +24,6 @@ import org.neo4j.cursor.Cursor; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.impl.api.IndexReaderFactory; import org.neo4j.kernel.impl.locking.Lock; @@ -235,13 +234,13 @@ private IndexReaderFactory indexReaderFactory() @Override public IndexReader getIndexReader( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException { - return indexReaderFactory().newReader( IndexBoundary.map( descriptor ) ); + return indexReaderFactory().newReader( descriptor ); } @Override public IndexReader getFreshIndexReader( NewIndexDescriptor descriptor ) throws IndexNotFoundKernelException { - return indexReaderFactory().newUnCachedReader( IndexBoundary.map( descriptor ) ); + return indexReaderFactory().newUnCachedReader( descriptor ); } @Override diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/coreapi/schema/SchemaImpl.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/coreapi/schema/SchemaImpl.java index f1e7d89726ed4..99f2a4796bdb2 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/coreapi/schema/SchemaImpl.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/coreapi/schema/SchemaImpl.java @@ -41,6 +41,7 @@ import org.neo4j.kernel.api.ReadOperations; import org.neo4j.kernel.api.Statement; import org.neo4j.kernel.api.StatementTokenNameLookup; +import org.neo4j.kernel.api.TokenWriteOperations; import org.neo4j.kernel.api.constraints.NodePropertyConstraint; import org.neo4j.kernel.api.constraints.NodePropertyExistenceConstraint; import org.neo4j.kernel.api.constraints.PropertyConstraint; @@ -61,9 +62,10 @@ import org.neo4j.kernel.api.exceptions.schema.SchemaRuleNotFoundException; import org.neo4j.kernel.api.exceptions.schema.TooManyLabelsException; import org.neo4j.kernel.api.index.InternalIndexState; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; +import org.neo4j.kernel.api.schema.NodeMultiPropertyDescriptor; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema.RelationshipPropertyDescriptor; +import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; import org.neo4j.kernel.api.schema_new.constaints.ConstraintBoundary; import org.neo4j.kernel.api.schema_new.constaints.ConstraintDescriptor; @@ -81,7 +83,7 @@ import static org.neo4j.helpers.collection.Iterators.addToCollection; import static org.neo4j.helpers.collection.Iterators.asCollection; import static org.neo4j.helpers.collection.Iterators.map; -import static org.neo4j.kernel.api.schema.IndexDescriptorFactory.getOrCreateTokens; +import static org.neo4j.kernel.impl.coreapi.schema.PropertyNameUtils.getOrCreatePropertyKeyIds; import static org.neo4j.kernel.impl.coreapi.schema.PropertyNameUtils.getPropertyKeys; public class SchemaImpl implements Schema @@ -329,7 +331,7 @@ private static NewIndexDescriptor getIndexDescriptor( ReadOperations readOperati assertValidLabel( index.getLabel(), labelId ); assertValidProperties( index.getPropertyKeys(), propertyKeyIds ); return readOperations.indexGetForLabelAndPropertyKey( - IndexDescriptorFactory.getNodePropertyDescriptor( labelId, propertyKeyIds ) ); + new NodeMultiPropertyDescriptor( labelId, propertyKeyIds ) ); } private static void assertValidLabel( Label label, int labelId ) @@ -420,8 +422,10 @@ public IndexDefinition createIndexDefinition( Label label, String... propertyKey try { IndexDefinition indexDefinition = new IndexDefinitionImpl( this, label, propertyKeys, false ); - NodePropertyDescriptor descriptor = - getOrCreateTokens( statement.tokenWriteOperations(), indexDefinition ); + TokenWriteOperations tokenWriteOperations = statement.tokenWriteOperations(); + int labelId = tokenWriteOperations.labelGetOrCreateForName( indexDefinition.getLabel().name() ); + int[] propertyKeyIds = getOrCreatePropertyKeyIds( tokenWriteOperations, indexDefinition ); + LabelSchemaDescriptor descriptor = SchemaDescriptorFactory.forLabel( labelId, propertyKeyIds ); statement.schemaWriteOperations().indexCreate( descriptor ); return indexDefinition; } @@ -480,7 +484,7 @@ public ConstraintDefinition createPropertyUniquenessConstraint( IndexDefinition { int labelId = statement.tokenWriteOperations().labelGetOrCreateForName( indexDefinition.getLabel().name() ); - int[] propertyKeyIds = PropertyNameUtils.getOrCreatePropertyKeyIds( + int[] propertyKeyIds = getOrCreatePropertyKeyIds( statement.tokenWriteOperations(), indexDefinition ); statement.schemaWriteOperations().uniquePropertyConstraintCreate( SchemaDescriptorFactory.forLabel( labelId, propertyKeyIds ) ); @@ -514,7 +518,7 @@ public ConstraintDefinition createPropertyExistenceConstraint( Label label, Stri try { int labelId = statement.tokenWriteOperations().labelGetOrCreateForName( label.name() ); - int[] propertyKeyIds = PropertyNameUtils.getOrCreatePropertyKeyIds( + int[] propertyKeyIds = getOrCreatePropertyKeyIds( statement.tokenWriteOperations(), propertyKeys ); statement.schemaWriteOperations().nodePropertyExistenceConstraintCreate( SchemaDescriptorFactory.forLabel( labelId, propertyKeyIds ) ); @@ -549,7 +553,7 @@ public ConstraintDefinition createPropertyExistenceConstraint( RelationshipType try { int typeId = statement.tokenWriteOperations().relationshipTypeGetOrCreateForName( type.name() ); - int[] propertyKeyId = PropertyNameUtils.getOrCreatePropertyKeyIds( statement.tokenWriteOperations(), propertyKey ); + int[] propertyKeyId = getOrCreatePropertyKeyIds( statement.tokenWriteOperations(), propertyKey ); statement.schemaWriteOperations().relationshipPropertyExistenceConstraintCreate( SchemaDescriptorFactory.forRelType( typeId, propertyKeyId ) ); return new RelationshipPropertyExistenceConstraintDefinition( this, type, propertyKey ); diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/countStore/CountsSnapshotSerializer.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/countStore/CountsSnapshotSerializer.java index 6a0802305e027..9a7631ceec189 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/countStore/CountsSnapshotSerializer.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/countStore/CountsSnapshotSerializer.java @@ -22,7 +22,6 @@ import java.io.IOException; import java.util.Map; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.impl.store.counts.keys.CountsKey; import org.neo4j.kernel.impl.store.counts.keys.IndexSampleKey; import org.neo4j.kernel.impl.store.counts.keys.IndexStatisticsKey; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/CountsTracker.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/CountsTracker.java index 07050cd51de35..87d5be52c1b71 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/CountsTracker.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/CountsTracker.java @@ -26,7 +26,6 @@ import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.impl.api.CountsAccessor; import org.neo4j.kernel.impl.api.CountsVisitor; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/KeyFormat.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/KeyFormat.java index 767de96e3a022..9e60583c4dc17 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/KeyFormat.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/KeyFormat.java @@ -19,8 +19,6 @@ */ package org.neo4j.kernel.impl.store.counts; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.impl.api.CountsVisitor; import org.neo4j.kernel.impl.store.counts.keys.CountsKey; import org.neo4j.kernel.impl.store.counts.keys.CountsKeyFactory; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexKey.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexKey.java index d4c95f17b84b9..ae4cb86351554 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexKey.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexKey.java @@ -20,7 +20,6 @@ package org.neo4j.kernel.impl.store.counts.keys; import static org.neo4j.kernel.impl.util.IdPrettyPrinter.label; -import org.neo4j.kernel.api.schema.IndexDescriptor; abstract class IndexKey implements CountsKey { diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexSampleKey.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexSampleKey.java index 45c04c1c4f78f..50a128dcd78b4 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexSampleKey.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexSampleKey.java @@ -19,7 +19,6 @@ */ package org.neo4j.kernel.impl.store.counts.keys; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.impl.api.CountsVisitor; public final class IndexSampleKey extends IndexKey diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexStatisticsKey.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexStatisticsKey.java index 496bd5b8da005..4c79f541ccd6a 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexStatisticsKey.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/store/counts/keys/IndexStatisticsKey.java @@ -19,7 +19,6 @@ */ package org.neo4j.kernel.impl.store.counts.keys; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.impl.api.CountsVisitor; public final class IndexStatisticsKey extends IndexKey diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureArgumentFormatter.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureArgumentFormatter.java index ac1dc02459b9a..825545beab6ba 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureArgumentFormatter.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureArgumentFormatter.java @@ -29,8 +29,6 @@ import org.neo4j.kernel.api.constraints.NodePropertyExistenceConstraint; import org.neo4j.kernel.api.constraints.RelationshipPropertyExistenceConstraint; import org.neo4j.kernel.api.constraints.UniquenessConstraint; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema.RelationshipPropertyDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; @@ -45,8 +43,7 @@ public enum DbStructureArgumentFormatter implements ArgumentFormatter private static List IMPORTS = Arrays.asList( UniquenessConstraint.class.getCanonicalName(), NodePropertyDescriptor.class.getCanonicalName(), - IndexDescriptorFactory.class.getCanonicalName(), - IndexDescriptor.class.getCanonicalName(), + NewIndexDescriptor.class.getCanonicalName(), NewIndexDescriptorFactory.class.getCanonicalName() ); @@ -94,12 +91,6 @@ else if ( Double.isInfinite( d ) ) builder.append( 'd' ); } } - else if ( arg instanceof IndexDescriptor ) - { - NodePropertyDescriptor descriptor = (NodePropertyDescriptor) arg; - int labelId = descriptor.getLabelId(); - builder.append( format( "IndexDescriptorFactory.of( %d, %s )", labelId, descriptor.propertyIdText() ) ); - } else if ( arg instanceof NewIndexDescriptor ) { NewIndexDescriptor descriptor = (NewIndexDescriptor) arg; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureCollector.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureCollector.java index db181ba392f81..457b02d4f2e4f 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureCollector.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureCollector.java @@ -27,12 +27,9 @@ import org.neo4j.helpers.collection.Iterators; import org.neo4j.helpers.collection.Pair; -import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.constraints.NodePropertyExistenceConstraint; import org.neo4j.kernel.api.constraints.RelationshipPropertyExistenceConstraint; import org.neo4j.kernel.api.constraints.UniquenessConstraint; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/GraphDbStructureGuide.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/GraphDbStructureGuide.java index e7d8af723b39e..2282a4bb5bbf8 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/GraphDbStructureGuide.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/util/dbstructure/GraphDbStructureGuide.java @@ -37,7 +37,6 @@ import org.neo4j.kernel.api.constraints.UniquenessConstraint; import org.neo4j.kernel.api.exceptions.KernelException; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.schema_new.constaints.ConstraintBoundary; import org.neo4j.kernel.api.schema_new.constaints.ConstraintDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; diff --git a/community/kernel/src/main/java/org/neo4j/unsafe/batchinsert/internal/BatchInserterImpl.java b/community/kernel/src/main/java/org/neo4j/unsafe/batchinsert/internal/BatchInserterImpl.java index 273d8ff9f93ba..f3af3be13845a 100644 --- a/community/kernel/src/main/java/org/neo4j/unsafe/batchinsert/internal/BatchInserterImpl.java +++ b/community/kernel/src/main/java/org/neo4j/unsafe/batchinsert/internal/BatchInserterImpl.java @@ -67,6 +67,7 @@ import org.neo4j.kernel.api.labelscan.LabelScanWriter; import org.neo4j.kernel.api.labelscan.NodeLabelUpdate; import org.neo4j.kernel.api.properties.DefinedProperty; +import org.neo4j.kernel.api.schema.NodeMultiPropertyDescriptor; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; @@ -162,7 +163,6 @@ import static java.lang.Boolean.parseBoolean; import static org.neo4j.collection.primitive.PrimitiveLongCollections.map; import static org.neo4j.graphdb.Label.label; -import static org.neo4j.kernel.api.schema.IndexDescriptorFactory.getNodePropertyDescriptor; import static org.neo4j.kernel.impl.store.NodeLabelsField.parseLabelsField; import static org.neo4j.kernel.impl.store.PropertyStore.encodeString; import static org.neo4j.kernel.impl.util.IoPrimitiveUtils.safeCastLongToInt; @@ -558,7 +558,7 @@ private void createUniquenessConstraintRule( UniquenessConstraint constraint ) long indexRuleId = schemaStore.nextId(); long constraintRuleId = schemaStore.nextId(); - int propertyKeyId = constraint.indexDescriptor().getPropertyKeyId(); + int propertyKeyId = constraint.indexDescriptor().schema().getPropertyId(); IndexRule indexRule = IndexRule.constraintIndexRule( @@ -1123,10 +1123,9 @@ public ConstraintDefinition createPropertyUniquenessConstraint( IndexDefinition { int labelId = getOrCreateLabelId( indexDefinition.getLabel().name() ); int[] propertyKeyIds = getOrCreatePropertyKeyIds( indexDefinition.getPropertyKeys() ); - NodePropertyDescriptor descriptor = getNodePropertyDescriptor( labelId, propertyKeyIds ); + NodePropertyDescriptor descriptor = new NodeMultiPropertyDescriptor( labelId, propertyKeyIds ); validateUniquenessConstraintCanBeCreated( labelId, propertyKeyIds ); - createUniquenessConstraintRule( new UniquenessConstraint( descriptor ) ); return new UniquenessConstraintDefinition( this, indexDefinition ); } diff --git a/community/kernel/src/test/java/org/neo4j/graphdb/IndexingAcceptanceTest.java b/community/kernel/src/test/java/org/neo4j/graphdb/IndexingAcceptanceTest.java index 64355104d0aa0..f48c166de1870 100644 --- a/community/kernel/src/test/java/org/neo4j/graphdb/IndexingAcceptanceTest.java +++ b/community/kernel/src/test/java/org/neo4j/graphdb/IndexingAcceptanceTest.java @@ -37,7 +37,7 @@ import org.neo4j.kernel.api.exceptions.index.IndexNotApplicableKernelException; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; import org.neo4j.kernel.api.exceptions.schema.SchemaRuleNotFoundException; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; +import org.neo4j.kernel.api.schema.NodeMultiPropertyDescriptor; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge; @@ -52,6 +52,7 @@ import static org.neo4j.helpers.collection.Iterators.count; import static org.neo4j.helpers.collection.MapUtil.map; import static org.neo4j.kernel.api.schema_new.IndexQuery.stringPrefix; +import static org.neo4j.kernel.impl.coreapi.schema.PropertyNameUtils.getPropertyKeyIds; import static org.neo4j.test.mockito.matcher.Neo4jMatchers.containsOnly; import static org.neo4j.test.mockito.matcher.Neo4jMatchers.findNodesByLabelAndProperty; import static org.neo4j.test.mockito.matcher.Neo4jMatchers.hasProperty; @@ -611,7 +612,10 @@ private PrimitiveLongSet createNodes( GraphDatabaseService db, Label label, Stri private NewIndexDescriptor indexDescriptor( ReadOperations readOperations, IndexDefinition index ) throws SchemaRuleNotFoundException { - NodePropertyDescriptor descriptor = IndexDescriptorFactory.getTokens( readOperations, index ); + int labelId = readOperations.labelGetForName( index.getLabel().name() ); + int[] propertyKeyIds = getPropertyKeyIds( readOperations, index.getPropertyKeys() ); + + NodePropertyDescriptor descriptor = new NodeMultiPropertyDescriptor( labelId, propertyKeyIds ); return readOperations.indexGetForLabelAndPropertyKey( descriptor ); } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/api/CompositeIndexingIT.java b/community/kernel/src/test/java/org/neo4j/kernel/api/CompositeIndexingIT.java index 577c0c1e023d6..4edce64213db3 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/api/CompositeIndexingIT.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/api/CompositeIndexingIT.java @@ -47,7 +47,6 @@ import org.neo4j.kernel.api.index.InternalIndexState; import org.neo4j.kernel.api.properties.DefinedProperty; import org.neo4j.kernel.api.schema_new.IndexQuery; -import org.neo4j.kernel.api.schema_new.SchemaBoundary; import org.neo4j.kernel.api.schema_new.constaints.ConstraintDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; @@ -90,7 +89,7 @@ public void setup() throws Exception } else { - statement().schemaWriteOperations().indexCreate( SchemaBoundary.map( index.schema() ) ); + statement().schemaWriteOperations().indexCreate( index.schema() ); } tx.success(); } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/api/index/NonUniqueIndexPopulatorCompatibility.java b/community/kernel/src/test/java/org/neo4j/kernel/api/index/NonUniqueIndexPopulatorCompatibility.java index c5007a822c0de..0178cfe019bfa 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/api/index/NonUniqueIndexPopulatorCompatibility.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/api/index/NonUniqueIndexPopulatorCompatibility.java @@ -28,8 +28,6 @@ import org.neo4j.collection.primitive.PrimitiveLongIterator; import org.neo4j.kernel.api.properties.Property; import org.neo4j.kernel.api.schema_new.IndexQuery; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; -import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingConfig; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/AwaitIndexProcedureTest.java b/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/AwaitIndexProcedureTest.java index 75dd3d4f0b46c..feeb789c3ac6c 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/AwaitIndexProcedureTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/AwaitIndexProcedureTest.java @@ -33,12 +33,11 @@ import org.neo4j.kernel.api.exceptions.Status; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; import org.neo4j.kernel.api.exceptions.schema.SchemaRuleNotFoundException; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.index.InternalIndexState; +import org.neo4j.kernel.api.schema_new.SchemaBoundary; import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.not; @@ -65,7 +64,8 @@ public class AwaitIndexProcedureTest private final IndexProcedures procedure = new IndexProcedures( new StubKernelTransaction( operations ), null ); private final NodePropertyDescriptor descriptor = new NodePropertyDescriptor( 123, 456 ); private final NodePropertyDescriptor anyDescriptor = new NodePropertyDescriptor( 0, 0 ); - private final NewIndexDescriptor anyIndex = IndexBoundary.map( anyDescriptor ); + private final NewIndexDescriptor anyIndex = NewIndexDescriptorFactory.forSchema( SchemaBoundary.map( + anyDescriptor ) ); @Test public void shouldThrowAnExceptionIfTheLabelDoesntExist() throws ProcedureException diff --git a/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/ResampleIndexProcedureTest.java b/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/ResampleIndexProcedureTest.java index b2823fb99c44c..2d0ab6a811e12 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/ResampleIndexProcedureTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/ResampleIndexProcedureTest.java @@ -26,11 +26,8 @@ import org.neo4j.kernel.api.exceptions.Status; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; import org.neo4j.kernel.api.exceptions.schema.SchemaRuleNotFoundException; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.index.IndexingService; @@ -130,7 +127,6 @@ public void shouldTriggerResampling() procedure.resampleIndex( ":Person(name)" ); - verify( indexingService ).triggerIndexSampling( IndexBoundary.map( index ), - IndexSamplingMode.TRIGGER_REBUILD_ALL ); + verify( indexingService ).triggerIndexSampling( index, IndexSamplingMode.TRIGGER_REBUILD_ALL ); } } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/SchemaProcedureIT.java b/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/SchemaProcedureIT.java index 2c64e460725c2..b2750d2f19a27 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/SchemaProcedureIT.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/builtinprocs/SchemaProcedureIT.java @@ -82,7 +82,7 @@ public void testLabelIndex() throws Throwable commit(); SchemaWriteOperations schemaOps = schemaWriteOperationsInNewTransaction(); - schemaOps.indexCreate( new NodePropertyDescriptor( labelId, propertyIdName ) ); + schemaOps.indexCreate( SchemaDescriptorFactory.forLabel( labelId, propertyIdName ) ); schemaOps.uniquePropertyConstraintCreate( SchemaDescriptorFactory.forLabel( labelId, propertyIdAge ) ); commit(); diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/DataIntegrityValidatingStatementOperationsTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/DataIntegrityValidatingStatementOperationsTest.java index 57012d3fdbc49..016a6784ca994 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/DataIntegrityValidatingStatementOperationsTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/DataIntegrityValidatingStatementOperationsTest.java @@ -28,13 +28,14 @@ import java.util.Iterator; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; -import org.neo4j.kernel.api.exceptions.schema.AlreadyConstrainedException; -import org.neo4j.kernel.api.exceptions.schema.AlreadyIndexedException; import org.neo4j.kernel.api.exceptions.schema.DropIndexFailureException; import org.neo4j.kernel.api.exceptions.schema.IllegalTokenNameException; import org.neo4j.kernel.api.exceptions.schema.IndexBelongsToConstraintException; import org.neo4j.kernel.api.exceptions.schema.NoSuchIndexException; import org.neo4j.kernel.api.exceptions.schema.SchemaKernelException; +import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; +import org.neo4j.kernel.api.schema_new.SchemaBoundary; +import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.operations.KeyWriteOperations; @@ -57,7 +58,7 @@ public class DataIntegrityValidatingStatementOperationsTest @Rule public ExpectedException exception = ExpectedException.none(); - NodePropertyDescriptor descriptor = new NodePropertyDescriptor( 0, 7 ); + LabelSchemaDescriptor descriptor = SchemaDescriptorFactory.forLabel( 0, 7 ); NewIndexDescriptor index = NewIndexDescriptorFactory.forLabel( 0, 7 ); NewIndexDescriptor uniqueIndex = NewIndexDescriptorFactory.uniqueForLabel( 0, 7 ); @@ -69,18 +70,11 @@ public void shouldDisallowReAddingIndex() throws Exception SchemaWriteOperations innerWrite = mock( SchemaWriteOperations.class ); DataIntegrityValidatingStatementOperations ctx = new DataIntegrityValidatingStatementOperations( null, innerRead, innerWrite ); - when( innerRead.indexGetForLabelAndPropertyKey( state, descriptor ) ).thenReturn( index ); + when( innerRead.indexGetForLabelAndPropertyKey( state, SchemaBoundary.map( descriptor ) ) ).thenReturn( index ); // WHEN - try - { - ctx.indexCreate( state, descriptor ); - fail( "Should have thrown exception." ); - } - catch ( AlreadyIndexedException e ) - { - // ok - } + ctx.indexCreate( state, descriptor ); + fail( "Should have thrown exception." ); // THEN verify( innerWrite, never() ).indexCreate( eq( state ), anyObject() ); @@ -94,18 +88,11 @@ public void shouldDisallowAddingIndexWhenConstraintIndexExists() throws Exceptio SchemaWriteOperations innerWrite = mock( SchemaWriteOperations.class ); DataIntegrityValidatingStatementOperations ctx = new DataIntegrityValidatingStatementOperations( null, innerRead, innerWrite ); - when( innerRead.indexGetForLabelAndPropertyKey( state, descriptor ) ).thenReturn( uniqueIndex ); + when( innerRead.indexGetForLabelAndPropertyKey( state, SchemaBoundary.map( descriptor ) ) ).thenReturn( uniqueIndex ); // WHEN - try - { - ctx.indexCreate( state, descriptor ); - fail( "Should have thrown exception." ); - } - catch ( AlreadyConstrainedException e ) - { - // ok - } + ctx.indexCreate( state, descriptor ); + fail( "Should have thrown exception." ); // THEN verify( innerWrite, never() ).indexCreate( eq( state ), anyObject() ); @@ -119,7 +106,7 @@ public void shouldDisallowDroppingIndexThatDoesNotExist() throws Exception SchemaWriteOperations innerWrite = mock( SchemaWriteOperations.class ); DataIntegrityValidatingStatementOperations ctx = new DataIntegrityValidatingStatementOperations( null, innerRead, innerWrite ); - when( innerRead.indexGetForLabelAndPropertyKey( state, descriptor ) ).thenReturn( null ); + when( innerRead.indexGetForLabelAndPropertyKey( state, SchemaBoundary.map( descriptor ) ) ).thenReturn( null ); // WHEN try @@ -144,7 +131,7 @@ public void shouldDisallowDroppingIndexWhenConstraintIndexExists() throws Except SchemaWriteOperations innerWrite = mock( SchemaWriteOperations.class ); DataIntegrityValidatingStatementOperations ctx = new DataIntegrityValidatingStatementOperations( null, innerRead, innerWrite ); - when( innerRead.indexGetForLabelAndPropertyKey( state, descriptor ) ).thenReturn( uniqueIndex ); + when( innerRead.indexGetForLabelAndPropertyKey( state, SchemaBoundary.map( descriptor ) ) ).thenReturn( uniqueIndex ); // WHEN try @@ -169,7 +156,7 @@ public void shouldDisallowDroppingConstraintIndexThatDoesNotExists() throws Exce SchemaWriteOperations innerWrite = mock( SchemaWriteOperations.class ); DataIntegrityValidatingStatementOperations ctx = new DataIntegrityValidatingStatementOperations( null, innerRead, innerWrite ); - when( innerRead.indexGetForLabelAndPropertyKey( state, descriptor ) ).thenReturn( uniqueIndex ); + when( innerRead.indexGetForLabelAndPropertyKey( state, SchemaBoundary.map( descriptor ) ) ).thenReturn( uniqueIndex ); // WHEN try @@ -194,7 +181,7 @@ public void shouldDisallowDroppingConstraintIndexThatIsReallyJustRegularIndex() SchemaWriteOperations innerWrite = mock( SchemaWriteOperations.class ); DataIntegrityValidatingStatementOperations ctx = new DataIntegrityValidatingStatementOperations( null, innerRead, innerWrite ); - when( innerRead.indexGetForLabelAndPropertyKey( state, descriptor ) ).thenReturn( uniqueIndex ); + when( innerRead.indexGetForLabelAndPropertyKey( state, SchemaBoundary.map( descriptor ) ) ).thenReturn( uniqueIndex ); // WHEN try diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelSchemaStateFlushingTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelSchemaStateFlushingTest.java index 972e6123eebe9..d4652071758ec 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelSchemaStateFlushingTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelSchemaStateFlushingTest.java @@ -28,7 +28,6 @@ import org.neo4j.kernel.api.KernelAPI; import org.neo4j.kernel.api.KernelTransaction; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.Statement; import org.neo4j.kernel.api.exceptions.KernelException; import org.neo4j.kernel.api.exceptions.TransactionFailureException; @@ -162,7 +161,7 @@ private NewIndexDescriptor createIndex() throws KernelException Statement statement = transaction.acquireStatement() ) { NewIndexDescriptor descriptor = statement.schemaWriteOperations().indexCreate( - IndexDescriptorFactory.getNodePropertyDescriptor( 1, 1 ) ); + SchemaDescriptorFactory.forLabel( 1, 1 ) ); transaction.success(); return descriptor; } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/LockingStatementOperationsTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/LockingStatementOperationsTest.java index c5a256b36542d..90c47cffcda10 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/LockingStatementOperationsTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/LockingStatementOperationsTest.java @@ -214,7 +214,7 @@ public void shouldNotAcquireEntityWriteLockBeforeDeletingJustCreatedNode() throw public void shouldAcquireSchemaWriteLockBeforeAddingIndexRule() throws Exception { // given - NodePropertyDescriptor descriptor = new NodePropertyDescriptor( 123, 456 ); + LabelSchemaDescriptor descriptor = SchemaDescriptorFactory.forLabel( 123, 456 ); NewIndexDescriptor index = NewIndexDescriptorFactory.forLabel( 123, 456 ); when( schemaWriteOps.indexCreate( state, descriptor ) ).thenReturn( index ); diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/OperationsFacadeTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/OperationsFacadeTest.java index 2dabfd9823984..ea640345cc0e8 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/OperationsFacadeTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/OperationsFacadeTest.java @@ -34,9 +34,7 @@ import org.neo4j.kernel.api.TokenNameLookup; import org.neo4j.kernel.api.exceptions.schema.DuplicateSchemaRuleException; import org.neo4j.kernel.api.exceptions.schema.SchemaRuleNotFoundException; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; +import org.neo4j.kernel.api.schema_new.SchemaBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.operations.SchemaReadOperations; @@ -88,7 +86,7 @@ public void testThrowExceptionWhenDuplicateUniqueIndexFound() throws SchemaRuleNotFoundException, DuplicateSchemaRuleException { SchemaReadOperations readOperations = setupSchemaReadOperations(); - NewIndexDescriptor index = IndexBoundary.map( descriptor ); + NewIndexDescriptor index = NewIndexDescriptorFactory.forSchema( SchemaBoundary.map( descriptor ) ); Mockito.when( readOperations .uniqueIndexesGetForLabel( Mockito.any( KernelStatement.class ), Mockito.eq( descriptor.getLabelId() ) ) ) .thenReturn( Iterators.iterator( index, index ) ); diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexIT.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexIT.java index 6ef8b347cea1e..bc4fb56d2f85d 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexIT.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexIT.java @@ -32,7 +32,6 @@ import org.neo4j.kernel.api.Statement; import org.neo4j.kernel.api.TokenWriteOperations; import org.neo4j.kernel.api.exceptions.schema.SchemaKernelException; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema_new.SchemaBoundary; import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; @@ -78,7 +77,7 @@ public void addIndexRuleInATransaction() throws Exception SchemaWriteOperations schemaWriteOperations = schemaWriteOperationsInNewTransaction(); // WHEN - NewIndexDescriptor expectedRule = schemaWriteOperations.indexCreate( descriptor ); + NewIndexDescriptor expectedRule = schemaWriteOperations.indexCreate( SchemaBoundary.map( descriptor ) ); commit(); // THEN @@ -93,13 +92,13 @@ public void committedAndTransactionalIndexRulesShouldBeMerged() throws Exception { // GIVEN SchemaWriteOperations schemaWriteOperations = schemaWriteOperationsInNewTransaction(); - NewIndexDescriptor existingRule = schemaWriteOperations.indexCreate( descriptor ); + NewIndexDescriptor existingRule = schemaWriteOperations.indexCreate( SchemaBoundary.map( descriptor ) ); commit(); // WHEN Statement statement = statementInNewTransaction( AnonymousContext.AUTH_DISABLED ); NewIndexDescriptor addedRule = statement.schemaWriteOperations() - .indexCreate( new NodePropertyDescriptor( labelId, 10 ) ); + .indexCreate( SchemaDescriptorFactory.forLabel( labelId, 10 ) ); Set indexRulesInTx = asSet( statement.readOperations().indexesGetForLabel( labelId ) ); commit(); @@ -114,13 +113,13 @@ public void rollBackIndexRuleShouldNotBeCommitted() throws Exception SchemaWriteOperations schemaWriteOperations = schemaWriteOperationsInNewTransaction(); // WHEN - schemaWriteOperations.indexCreate( descriptor ); + schemaWriteOperations.indexCreate( SchemaBoundary.map( descriptor ) ); // don't mark as success rollback(); // THEN ReadOperations readOperations = readOperationsInNewTransaction(); - assertEquals( emptySetOf( IndexDescriptor.class ), asSet( readOperations.indexesGetForLabel( labelId ) ) ); + assertEquals( emptySetOf( NewIndexDescriptor.class ), asSet( readOperations.indexesGetForLabel( labelId ) ) ); commit(); } @@ -137,7 +136,7 @@ public void shouldRemoveAConstraintIndexWithoutOwnerInRecovery() throws Exceptio // then ReadOperations readOperations = readOperationsInNewTransaction(); - assertEquals( emptySetOf( IndexDescriptor.class ), asSet( readOperations.indexesGetForLabel( labelId ) ) ); + assertEquals( emptySetOf( NewIndexDescriptor.class ), asSet( readOperations.indexesGetForLabel( labelId ) ) ); commit(); } @@ -148,7 +147,7 @@ public void shouldDisallowDroppingIndexThatDoesNotExist() throws Exception NewIndexDescriptor index; { SchemaWriteOperations statement = schemaWriteOperationsInNewTransaction(); - index = statement.indexCreate( descriptor ); + index = statement.indexCreate( SchemaBoundary.map( descriptor ) ); commit(); } { @@ -186,7 +185,7 @@ public void shouldFailToCreateIndexWhereAConstraintAlreadyExists() throws Except try { SchemaWriteOperations statement = schemaWriteOperationsInNewTransaction(); - statement.indexCreate( descriptor ); + statement.indexCreate( SchemaBoundary.map( descriptor ) ); commit(); fail( "expected exception" ); @@ -260,7 +259,7 @@ public void shouldNotListIndexesAmongConstraintIndexes() throws Exception { // given SchemaWriteOperations schemaWriteOperations = schemaWriteOperationsInNewTransaction(); - schemaWriteOperations.indexCreate( descriptor ); + schemaWriteOperations.indexCreate( SchemaBoundary.map( descriptor ) ); commit(); // then/when diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexPopulationJobTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexPopulationJobTest.java index e98e468258972..2cc013e741226 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexPopulationJobTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexPopulationJobTest.java @@ -54,8 +54,6 @@ import org.neo4j.kernel.api.index.NodeUpdates; import org.neo4j.kernel.api.index.PropertyAccessor; import org.neo4j.kernel.api.labelscan.NodeLabelUpdate; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.api.security.AnonymousContext; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexStatisticsTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexStatisticsTest.java index 7571fa4c86304..b74043dab914d 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexStatisticsTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexStatisticsTest.java @@ -50,9 +50,8 @@ import org.neo4j.kernel.api.exceptions.KernelException; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; import org.neo4j.kernel.api.properties.Property; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.NodePropertyDescriptor; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; +import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; +import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge; import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine; @@ -437,14 +436,14 @@ private long indexSize( NewIndexDescriptor descriptor ) throws KernelException { return ((GraphDatabaseAPI) db).getDependencyResolver() .resolveDependency( IndexingService.class ) - .indexUpdatesAndSize( IndexBoundary.map( descriptor ) ).readSecond(); + .indexUpdatesAndSize( descriptor ).readSecond(); } private long indexUpdates( NewIndexDescriptor descriptor ) throws KernelException { return ((GraphDatabaseAPI) db).getDependencyResolver() .resolveDependency( IndexingService.class ) - .indexUpdatesAndSize( IndexBoundary.map( descriptor ) ).readFirst(); + .indexUpdatesAndSize( descriptor ).readFirst(); } private double indexSelectivity( NewIndexDescriptor descriptor ) throws KernelException @@ -495,7 +494,7 @@ private NewIndexDescriptor createIndex( String labelName, String propertyKeyName Statement statement = bridge.get(); int labelId = statement.tokenWriteOperations().labelGetOrCreateForName( labelName ); int propertyKeyId = statement.tokenWriteOperations().propertyKeyGetOrCreateForName( propertyKeyName ); - NodePropertyDescriptor descriptor = new NodePropertyDescriptor( labelId, propertyKeyId ); + LabelSchemaDescriptor descriptor = SchemaDescriptorFactory.forLabel( labelId, propertyKeyId ); NewIndexDescriptor index = statement.schemaWriteOperations().indexCreate( descriptor ); tx.success(); return index; @@ -585,9 +584,8 @@ private UpdatesTracker internalExecuteCreationsDeletionsAndUpdates( long[] nodes updatesTracker.increaseCreated( created ); // check index online - IndexDescriptor oldIndex = IndexBoundary.map( index ); if ( !updatesTracker.isPopulationCompleted() && - indexOnlineMonitor.isIndexOnline( oldIndex ) ) + indexOnlineMonitor.isIndexOnline( index ) ) { updatesTracker.notifyPopulationCompleted(); } @@ -608,7 +606,7 @@ private UpdatesTracker internalExecuteCreationsDeletionsAndUpdates( long[] nodes // check again index online if ( !updatesTracker.isPopulationCompleted() && - indexOnlineMonitor.isIndexOnline( oldIndex ) ) + indexOnlineMonitor.isIndexOnline( index ) ) { updatesTracker.notifyPopulationCompleted(); } @@ -628,7 +626,7 @@ private UpdatesTracker internalExecuteCreationsDeletionsAndUpdates( long[] nodes } // check again index online - if ( !updatesTracker.isPopulationCompleted() && indexOnlineMonitor.isIndexOnline( oldIndex ) ) + if ( !updatesTracker.isPopulationCompleted() && indexOnlineMonitor.isIndexOnline( index ) ) { updatesTracker.notifyPopulationCompleted(); } @@ -690,15 +688,15 @@ private static void assertCorrectIndexSelectivity( double expected, double actua private static class IndexOnlineMonitor extends IndexingService.MonitorAdapter { - private final Set onlineIndexes = Collections.newSetFromMap( new ConcurrentHashMap<>() ); + private final Set onlineIndexes = Collections.newSetFromMap( new ConcurrentHashMap<>() ); @Override public void populationCompleteOn( NewIndexDescriptor descriptor ) { - onlineIndexes.add( IndexBoundary.map( descriptor ) ); + onlineIndexes.add( descriptor ); } - public boolean isIndexOnline( IndexDescriptor descriptor ) + public boolean isIndexOnline( NewIndexDescriptor descriptor ) { return onlineIndexes.contains( descriptor ); } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexUpdaterMapTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexUpdaterMapTest.java index a8756f014a1bb..d08066c38edd5 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexUpdaterMapTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexUpdaterMapTest.java @@ -25,9 +25,8 @@ import java.io.IOException; import org.neo4j.kernel.api.index.IndexUpdater; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; @@ -46,11 +45,11 @@ public class IndexUpdaterMapTest private IndexMap indexMap; private IndexProxy indexProxy1; - private IndexDescriptor indexDescriptor1; + private NewIndexDescriptor indexDescriptor1; private IndexUpdater indexUpdater1; private IndexProxy indexProxy2; - private IndexDescriptor indexDescriptor2; + private NewIndexDescriptor indexDescriptor2; private IndexUpdaterMap updaterMap; @@ -60,15 +59,15 @@ public void before() throws IOException indexMap = new IndexMap(); indexProxy1 = mock( IndexProxy.class ); - indexDescriptor1 = IndexDescriptorFactory.of( 2, 3 ); + indexDescriptor1 = NewIndexDescriptorFactory.forLabel( 2, 3 ); indexUpdater1 = mock( IndexUpdater.class ); - when( indexProxy1.getDescriptor() ).thenReturn( IndexBoundary.map( indexDescriptor1 ) ); + when( indexProxy1.getDescriptor() ).thenReturn( indexDescriptor1 ); when( indexProxy1.newUpdater( any( IndexUpdateMode.class ) ) ).thenReturn( indexUpdater1 ); indexProxy2 = mock( IndexProxy.class ); - indexDescriptor2 = IndexDescriptorFactory.of( 5, 6 ); + indexDescriptor2 = NewIndexDescriptorFactory.forLabel( 5, 6 ); IndexUpdater indexUpdater2 = mock( IndexUpdater.class ); - when( indexProxy2.getDescriptor() ).thenReturn( IndexBoundary.map( indexDescriptor2 ) ); + when( indexProxy2.getDescriptor() ).thenReturn( indexDescriptor2 ); when( indexProxy2.newUpdater( any( IndexUpdateMode.class ) ) ).thenReturn( indexUpdater2 ); updaterMap = new IndexUpdaterMap( indexMap, IndexUpdateMode.ONLINE ); diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceTest.java index a01115ed0dba0..57ecd818d8351 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceTest.java @@ -65,7 +65,6 @@ import org.neo4j.kernel.api.index.InternalIndexState; import org.neo4j.kernel.api.index.NodeUpdates; import org.neo4j.kernel.api.index.SchemaIndexProvider; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.configuration.Config; @@ -532,7 +531,7 @@ public void shouldLogTriggerSamplingOnAnIndexes() throws Exception life.start(); // when - indexingService.triggerIndexSampling( IndexBoundary.map( descriptor ), mode ); + indexingService.triggerIndexSampling( descriptor , mode ); // then String userDescription = descriptor.schema().userDescription( nameLookup ); diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/MultipleIndexPopulatorTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/MultipleIndexPopulatorTest.java index 861e1a9cde1fe..23c83b41fafd3 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/MultipleIndexPopulatorTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/MultipleIndexPopulatorTest.java @@ -38,9 +38,6 @@ import org.neo4j.kernel.api.index.IndexUpdater; import org.neo4j.kernel.api.index.PropertyAccessor; import org.neo4j.kernel.api.index.SchemaIndexProvider; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.index.MultipleIndexPopulator.IndexPopulation; @@ -431,15 +428,15 @@ private IndexPopulation addPopulator( IndexPopulator indexPopulator, int id, Fli private IndexPopulation addPopulator( MultipleIndexPopulator multipleIndexPopulator, IndexPopulator indexPopulator, int id, FlippableIndexProxy flippableIndexProxy, FailedIndexProxyFactory failedIndexProxyFactory ) { - return addPopulator( multipleIndexPopulator, id, IndexDescriptorFactory.of( id, id ), indexPopulator, + return addPopulator( multipleIndexPopulator, id, NewIndexDescriptorFactory.forLabel( id, id ), indexPopulator, flippableIndexProxy, failedIndexProxyFactory ); } private IndexPopulation addPopulator(MultipleIndexPopulator multipleIndexPopulator, long indexId, - IndexDescriptor descriptor, IndexPopulator indexPopulator, + NewIndexDescriptor descriptor, IndexPopulator indexPopulator, FlippableIndexProxy flippableIndexProxy, FailedIndexProxyFactory failedIndexProxyFactory ) { - return multipleIndexPopulator.addPopulator( indexPopulator, indexId, IndexBoundary.map( descriptor ), + return multipleIndexPopulator.addPopulator( indexPopulator, indexId, descriptor, mock( SchemaIndexProvider.Descriptor.class ), flippableIndexProxy, failedIndexProxyFactory, "userIndexDescription" ); } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/MultipleIndexPopulatorUpdatesTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/MultipleIndexPopulatorUpdatesTest.java index 47c561e702cd1..9a5f5135bb2df 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/MultipleIndexPopulatorUpdatesTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/MultipleIndexPopulatorUpdatesTest.java @@ -41,8 +41,6 @@ import org.neo4j.kernel.api.index.NodeUpdates; import org.neo4j.kernel.api.index.SchemaIndexProvider; import org.neo4j.kernel.api.labelscan.NodeLabelUpdate; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.locking.LockService; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/SchemaIndexTestHelper.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/SchemaIndexTestHelper.java index 0519c4c8bdec7..20e4df2390385 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/SchemaIndexTestHelper.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/SchemaIndexTestHelper.java @@ -28,7 +28,6 @@ import org.neo4j.helpers.FutureAdapter; import org.neo4j.kernel.api.ReadOperations; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.index.InternalIndexState; import org.neo4j.kernel.api.index.SchemaIndexProvider; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingControllerTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingControllerTest.java index 638edd75b3766..8d4221fa954ce 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingControllerTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingControllerTest.java @@ -24,8 +24,6 @@ import java.util.concurrent.atomic.AtomicInteger; import org.neo4j.function.Predicates; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; -import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.index.IndexMap; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingJobTrackerTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingJobTrackerTest.java index 4f843c20b2e96..c0e9500e0a458 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingJobTrackerTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/IndexSamplingJobTrackerTest.java @@ -28,9 +28,10 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; -import org.neo4j.kernel.api.schema.NodePropertyDescriptor; +import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; +import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.util.JobScheduler; import org.neo4j.kernel.impl.util.Neo4jJobScheduler; import org.neo4j.test.DoubleLatch; @@ -47,12 +48,12 @@ public class IndexSamplingJobTrackerTest { private final IndexSamplingConfig config = mock( IndexSamplingConfig.class ); - NodePropertyDescriptor descriptor11 = new NodePropertyDescriptor( 1, 1 ); - NodePropertyDescriptor descriptor12 = new NodePropertyDescriptor( 1, 2 ); - NodePropertyDescriptor descriptor22 = new NodePropertyDescriptor( 2, 2 ); - IndexDescriptor index11 = IndexDescriptorFactory.of( descriptor11 ); - IndexDescriptor index12 = IndexDescriptorFactory.of( descriptor12 ); - IndexDescriptor index22 = IndexDescriptorFactory.of( descriptor22 ); + LabelSchemaDescriptor descriptor11 = SchemaDescriptorFactory.forLabel( 1, 1 ); + LabelSchemaDescriptor descriptor12 = SchemaDescriptorFactory.forLabel( 1, 2 ); + LabelSchemaDescriptor descriptor22 = SchemaDescriptorFactory.forLabel( 2, 2 ); + NewIndexDescriptor index11 = NewIndexDescriptorFactory.forSchema( descriptor11 ); + NewIndexDescriptor index12 = NewIndexDescriptorFactory.forSchema( descriptor12 ); + NewIndexDescriptor index22 = NewIndexDescriptorFactory.forSchema( descriptor22 ); long indexId11 = 0; long indexId12 = 1; long indexId22 = 2; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/integrationtest/BuiltInProceduresIT.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/integrationtest/BuiltInProceduresIT.java index fdef177be519f..9b48bc44b2a3e 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/integrationtest/BuiltInProceduresIT.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/integrationtest/BuiltInProceduresIT.java @@ -195,7 +195,7 @@ public void listAllIndexes() throws Throwable int labelId2 = statement.tokenWriteOperations().labelGetOrCreateForName( "Age" ); int propertyKeyId = statement.tokenWriteOperations().propertyKeyGetOrCreateForName( "foo" ); //TODO: Add test support for composite indexes - statement.schemaWriteOperations().indexCreate( new NodePropertyDescriptor( labelId1, propertyKeyId ) ); + statement.schemaWriteOperations().indexCreate( SchemaDescriptorFactory.forLabel( labelId1, propertyKeyId ) ); statement.schemaWriteOperations().uniquePropertyConstraintCreate( forLabel( labelId2, propertyKeyId ) ); commit(); diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/integrationtest/KernelIT.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/integrationtest/KernelIT.java index cd436d59513dc..14b428bf43bcd 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/integrationtest/KernelIT.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/integrationtest/KernelIT.java @@ -43,8 +43,8 @@ import org.neo4j.kernel.api.exceptions.InvalidTransactionTypeKernelException; import org.neo4j.kernel.api.exceptions.Status; import org.neo4j.kernel.api.exceptions.schema.SchemaKernelException; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; +import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.security.AnonymousContext; import org.neo4j.kernel.api.security.SecurityContext; @@ -631,7 +631,7 @@ private static long lastCommittedTxId( GraphDatabaseAPI db ) private NewIndexDescriptor createIndex( Statement statement ) throws SchemaKernelException, InvalidTransactionTypeKernelException { - return statement.schemaWriteOperations().indexCreate( new NodePropertyDescriptor( + return statement.schemaWriteOperations().indexCreate( SchemaDescriptorFactory.forLabel( statement.tokenWriteOperations().labelGetOrCreateForName( "hello" ), statement.tokenWriteOperations().propertyKeyGetOrCreateForName( "hepp" ) ) ); } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/state/SchemaTransactionStateTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/state/SchemaTransactionStateTest.java index 2ea0ed732e76c..8ef835aa1acd3 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/state/SchemaTransactionStateTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/state/SchemaTransactionStateTest.java @@ -33,11 +33,8 @@ import org.neo4j.helpers.collection.Iterators; import org.neo4j.kernel.api.index.InternalIndexState; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.api.txstate.TransactionState; @@ -64,7 +61,7 @@ public class SchemaTransactionStateTest private static NewIndexDescriptor indexCreate( StateHandlingStatementOperations txContext, KernelStatement state, int labelId, int propertyKey ) { - return txContext.indexCreate( state, new NodePropertyDescriptor( labelId, propertyKey ) ); + return txContext.indexCreate( state, SchemaDescriptorFactory.forLabel( labelId, propertyKey ) ); } private static NewIndexDescriptor indexGetForLabelAndPropertyKey( @@ -240,9 +237,9 @@ public void before() throws Exception state = StatementOperationsTestHelper.mockedState( txState ); store = mock( StoreReadLayer.class ); - when( store.indexesGetForLabel( labelId1 ) ).then( asAnswer( Collections.emptyList() ) ); - when( store.indexesGetForLabel( labelId2 ) ).then( asAnswer( Collections.emptyList() ) ); - when( store.indexesGetAll() ).then( asAnswer( Collections.emptyList() ) ); + when( store.indexesGetForLabel( labelId1 ) ).then( asAnswer( Collections.emptyList() ) ); + when( store.indexesGetForLabel( labelId2 ) ).then( asAnswer( Collections.emptyList() ) ); + when( store.indexesGetAll() ).then( asAnswer( Collections.emptyList() ) ); txContext = new StateHandlingStatementOperations( store, mock( InternalAutoIndexing.class ), mock( ConstraintIndexCreator.class ), mock( LegacyIndexStore.class ) ); diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/state/StateHandlingStatementOperationsTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/state/StateHandlingStatementOperationsTest.java index 33bfa2d0d7c43..492a9615940d4 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/state/StateHandlingStatementOperationsTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/state/StateHandlingStatementOperationsTest.java @@ -38,7 +38,6 @@ import org.neo4j.kernel.api.schema_new.constaints.ConstraintDescriptor; import org.neo4j.kernel.api.schema_new.constaints.ConstraintDescriptorFactory; import org.neo4j.kernel.api.schema_new.constaints.UniquenessConstraintDescriptor; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.api.txstate.TransactionState; @@ -100,10 +99,10 @@ public void shouldNeverDelegateWrites() throws Exception StateHandlingStatementOperations ctx = newTxStateOps( inner ); // When - NodePropertyDescriptor descriptor = new NodePropertyDescriptor( 0, 0 ); + LabelSchemaDescriptor descriptor = SchemaDescriptorFactory.forLabel( 0, 0 ); ctx.indexCreate( state, descriptor ); ctx.nodeAddLabel( state, 0, 0 ); - ctx.indexDrop( state, IndexBoundary.map( descriptor ) ); + ctx.indexDrop( state, NewIndexDescriptorFactory.forSchema( descriptor ) ); ctx.nodeRemoveLabel( state, 0, 0 ); // one for add and one for remove diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/store/CountsOracle.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/store/CountsOracle.java index 9056626136e4f..86ab3654af9de 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/store/CountsOracle.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/store/CountsOracle.java @@ -21,7 +21,6 @@ import java.util.List; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.impl.api.CountsAccessor; import org.neo4j.kernel.impl.api.CountsRecordState; import org.neo4j.kernel.impl.api.CountsVisitor; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/store/countStore/CountsStoreMapGenerator.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/store/countStore/CountsStoreMapGenerator.java index 241c786bb72c0..749ad13e507bd 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/store/countStore/CountsStoreMapGenerator.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/store/countStore/CountsStoreMapGenerator.java @@ -22,8 +22,6 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.impl.store.counts.keys.CountsKey; import org.neo4j.kernel.impl.store.counts.keys.CountsKeyFactory; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/store/countStore/InMemoryCountsStoreCountsSnapshotSerializerTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/store/countStore/InMemoryCountsStoreCountsSnapshotSerializerTest.java index 22b49a4a4adec..27a8c0244ac20 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/store/countStore/InMemoryCountsStoreCountsSnapshotSerializerTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/store/countStore/InMemoryCountsStoreCountsSnapshotSerializerTest.java @@ -29,8 +29,6 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.impl.store.counts.keys.CountsKey; import org.neo4j.kernel.impl.store.counts.keys.CountsKeyFactory; import org.neo4j.kernel.impl.store.counts.keys.CountsKeyType; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/command/IndexWorkSyncTransactionApplicationStressIT.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/command/IndexWorkSyncTransactionApplicationStressIT.java index 91ac952e4588f..e2c861fbc5e54 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/command/IndexWorkSyncTransactionApplicationStressIT.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/command/IndexWorkSyncTransactionApplicationStressIT.java @@ -32,9 +32,12 @@ import org.neo4j.collection.primitive.PrimitiveLongIterator; import org.neo4j.helpers.collection.Visitor; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.index.InternalIndexState; import org.neo4j.kernel.api.schema_new.IndexQuery; +import org.neo4j.kernel.api.schema_new.LabelSchemaDescriptor; +import org.neo4j.kernel.api.schema_new.SchemaBoundary; +import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.api.txstate.TransactionState; import org.neo4j.kernel.impl.api.TransactionQueue; import org.neo4j.kernel.impl.api.TransactionToApply; @@ -79,7 +82,7 @@ public class IndexWorkSyncTransactionApplicationStressIT .around( pageCacheRule ) .around( storageEngineRule ); - private final NodePropertyDescriptor descriptor = new NodePropertyDescriptor( 0, 0 ); + private final LabelSchemaDescriptor descriptor = SchemaDescriptorFactory.forLabel( 0, 0 ); @Test public void shouldApplyIndexUpdatesInWorkSyncedBatches() throws Exception @@ -94,12 +97,12 @@ public void shouldApplyIndexUpdatesInWorkSyncedBatches() throws Exception .indexProvider( new InMemoryIndexProvider() ) .build(); storageEngine.apply( tx( asList( createIndexRule( - InMemoryIndexProviderFactory.PROVIDER_DESCRIPTOR, 1, descriptor ) ) ), + InMemoryIndexProviderFactory.PROVIDER_DESCRIPTOR, 1, SchemaBoundary.map( descriptor ) ) ) ), TransactionApplicationMode.EXTERNAL ); Dependencies dependencies = new Dependencies(); storageEngine.satisfyDependencies( dependencies ); IndexProxy index = dependencies.resolveDependency( IndexingService.class ) - .getIndexProxy( IndexDescriptorFactory.of( descriptor ) ); + .getIndexProxy( NewIndexDescriptorFactory.forSchema( descriptor ) ); awaitOnline( index ); // WHEN @@ -190,7 +193,7 @@ private TransactionToApply createNodeAndProperty( int progress ) throws Exceptio long nodeId = nodeIds.nextId(); txState.nodeDoCreate( nodeId ); txState.nodeDoAddLabel( descriptor.getLabelId(), nodeId ); - txState.nodeDoAddProperty( nodeId, property( descriptor.getPropertyKeyId(), propertyValue( id, progress ) ) ); + txState.nodeDoAddProperty( nodeId, property( descriptor.getPropertyId(), propertyValue( id, progress ) ) ); Collection commands = new ArrayList<>(); try ( StorageStatement statement = storageEngine.storeReadLayer().newStatement() ) { @@ -209,7 +212,7 @@ private void verifyIndex( TransactionToApply tx ) throws Exception tx.transactionRepresentation().accept( visitor.clear() ); Object propertyValue = propertyValue( id, base + i ); - IndexQuery.ExactPredicate query = IndexQuery.exact( descriptor.getPropertyKeyId(), propertyValue ); + IndexQuery.ExactPredicate query = IndexQuery.exact( descriptor.getPropertyId(), propertyValue ); PrimitiveLongIterator hits = reader.query( query ); assertEquals( "Index doesn't contain " + visitor.nodeId + " " + propertyValue, visitor.nodeId, PrimitiveLongCollections.single( hits, -1 ) ); diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/CineastsDbStructure.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/CineastsDbStructure.java index db7906d36ae31..68c8b01d88a36 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/CineastsDbStructure.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/CineastsDbStructure.java @@ -22,7 +22,6 @@ import org.neo4j.helpers.collection.Visitable; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.constraints.UniquenessConstraint; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; // diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureArgumentFormatterTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureArgumentFormatterTest.java index 8615b0ea32806..9ae0d90c8a980 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureArgumentFormatterTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureArgumentFormatterTest.java @@ -25,7 +25,7 @@ import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.constraints.UniquenessConstraint; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import static org.junit.Assert.assertEquals; @@ -66,7 +66,7 @@ public void shouldFormatDoubles() public void shouldFormatIndexDescriptors() { assertEquals( "IndexDescriptorFactory.of( 23, 42 )", - formatArgument( IndexDescriptorFactory.of( 23, 42 ) ) ); + formatArgument( NewIndexDescriptorFactory.forLabel( 23, 42 ) ) ); } @Test diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureCollectorTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureCollectorTest.java index b55fa56c076fd..c03cdbfba1ea2 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureCollectorTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureCollectorTest.java @@ -24,7 +24,6 @@ import org.neo4j.helpers.collection.Iterators; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.constraints.UniquenessConstraint; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import static java.util.Arrays.asList; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureInvocationTracingAcceptanceTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureInvocationTracingAcceptanceTest.java index 4233b6a74cb2a..cede427b30961 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureInvocationTracingAcceptanceTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/DbStructureInvocationTracingAcceptanceTest.java @@ -46,7 +46,6 @@ import org.neo4j.helpers.collection.Visitable; import org.neo4j.kernel.api.constraints.UniquenessConstraint; -import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import static org.junit.Assert.assertEquals; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/GraphDbStructureGuideTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/GraphDbStructureGuideTest.java index 8ed6a2382d309..dbd7f534d3f7a 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/GraphDbStructureGuideTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/GraphDbStructureGuideTest.java @@ -226,7 +226,7 @@ private void createRel( long startId, int relTypeId, long endId ) throws Excepti private NewIndexDescriptor createSchemaIndex( int labelId, int pkId ) throws Exception { - return schemaWrite().indexCreate( new NodePropertyDescriptor( labelId, pkId ) ); + return schemaWrite().indexCreate( SchemaDescriptorFactory.forLabel( labelId, pkId ) ); } private UniquenessConstraint createUniqueConstraint( int labelId, int pkId ) throws Exception diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/QMULDbStructure.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/QMULDbStructure.java index 407f6d56712d0..e2b8cbca17feb 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/QMULDbStructure.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/util/dbstructure/QMULDbStructure.java @@ -20,7 +20,6 @@ package org.neo4j.kernel.impl.util.dbstructure; import org.neo4j.helpers.collection.Visitable; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; // diff --git a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/LuceneSchemaIndexProvider.java b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/LuceneSchemaIndexProvider.java index 87392ea7443ba..9d80c43ad79ba 100644 --- a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/LuceneSchemaIndexProvider.java +++ b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/LuceneSchemaIndexProvider.java @@ -35,7 +35,6 @@ import org.neo4j.kernel.api.index.IndexPopulator; import org.neo4j.kernel.api.index.InternalIndexState; import org.neo4j.kernel.api.index.SchemaIndexProvider; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingConfig; @@ -96,7 +95,7 @@ public IndexPopulator getPopulator( long indexId, NewIndexDescriptor descriptor, } if ( descriptor.type() == UNIQUE ) { - return new UniqueLuceneIndexPopulator( luceneIndex, IndexBoundary.map( descriptor ) ); + return new UniqueLuceneIndexPopulator( luceneIndex, descriptor ); } else { diff --git a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/populator/UniqueLuceneIndexPopulator.java b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/populator/UniqueLuceneIndexPopulator.java index 30c9e25fe7411..76dde10e5ba17 100644 --- a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/populator/UniqueLuceneIndexPopulator.java +++ b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/populator/UniqueLuceneIndexPopulator.java @@ -24,9 +24,9 @@ import org.neo4j.kernel.api.exceptions.index.IndexEntryConflictException; import org.neo4j.kernel.api.impl.schema.SchemaIndex; import org.neo4j.kernel.api.index.IndexEntryUpdate; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.index.IndexUpdater; import org.neo4j.kernel.api.index.PropertyAccessor; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.impl.api.index.sampling.UniqueIndexSampler; import org.neo4j.storageengine.api.schema.IndexSample; @@ -41,11 +41,11 @@ public class UniqueLuceneIndexPopulator extends LuceneIndexPopulator private final int propertyKeyId; private final UniqueIndexSampler sampler; - public UniqueLuceneIndexPopulator( SchemaIndex index, IndexDescriptor descriptor ) + public UniqueLuceneIndexPopulator( SchemaIndex index, NewIndexDescriptor descriptor ) { super( index ); //TODO: Composite index make lucene handel Composite indexes - this.propertyKeyId = descriptor.getPropertyKeyId(); + this.propertyKeyId = descriptor.schema().getPropertyId(); this.sampler = new UniqueIndexSampler(); } diff --git a/community/lucene-index/src/test/java/org/neo4j/index/impl/lucene/legacy/NonUniqueIndexTests.java b/community/lucene-index/src/test/java/org/neo4j/index/impl/lucene/legacy/NonUniqueIndexTests.java index 9d688ae810682..ba67f56807540 100644 --- a/community/lucene-index/src/test/java/org/neo4j/index/impl/lucene/legacy/NonUniqueIndexTests.java +++ b/community/lucene-index/src/test/java/org/neo4j/index/impl/lucene/legacy/NonUniqueIndexTests.java @@ -36,7 +36,6 @@ import org.neo4j.kernel.api.impl.schema.LuceneSchemaIndexProvider; import org.neo4j.kernel.api.index.IndexAccessor; import org.neo4j.kernel.api.index.SchemaIndexProvider; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.IndexQuery; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.configuration.Config; diff --git a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexPopulationIT.java b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexPopulationIT.java index 80ecd1d461d28..69274c6d2b247 100644 --- a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexPopulationIT.java +++ b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/index/LuceneSchemaIndexPopulationIT.java @@ -37,7 +37,6 @@ import org.neo4j.kernel.api.impl.schema.SchemaIndex; import org.neo4j.kernel.api.index.IndexEntryUpdate; import org.neo4j.kernel.api.index.IndexUpdater; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.IndexQuery; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; diff --git a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/AccessUniqueDatabaseIndexTest.java b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/AccessUniqueDatabaseIndexTest.java index dffbcc8f154a3..2ca81f19ea96f 100644 --- a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/AccessUniqueDatabaseIndexTest.java +++ b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/AccessUniqueDatabaseIndexTest.java @@ -33,7 +33,6 @@ import org.neo4j.kernel.api.index.IndexAccessor; import org.neo4j.kernel.api.index.IndexEntryUpdate; import org.neo4j.kernel.api.index.IndexUpdater; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.index.IndexUpdateMode; diff --git a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/DatabaseIndexAccessorTest.java b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/DatabaseIndexAccessorTest.java index b61875be339ec..fb8e865b2aefc 100644 --- a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/DatabaseIndexAccessorTest.java +++ b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/DatabaseIndexAccessorTest.java @@ -43,8 +43,6 @@ import org.neo4j.kernel.api.impl.index.storage.DirectoryFactory; import org.neo4j.kernel.api.index.IndexEntryUpdate; import org.neo4j.kernel.api.index.IndexUpdater; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.IndexQuery; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; diff --git a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/LuceneSchemaIndexIT.java b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/LuceneSchemaIndexIT.java index b700f8bca15fe..0f84a8ae1c365 100644 --- a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/LuceneSchemaIndexIT.java +++ b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/LuceneSchemaIndexIT.java @@ -41,7 +41,6 @@ import org.neo4j.kernel.api.impl.index.LuceneAllDocumentsReader; import org.neo4j.kernel.api.index.IndexEntryUpdate; import org.neo4j.kernel.api.index.IndexUpdater; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.index.IndexUpdateMode; diff --git a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/populator/UniqueDatabaseIndexPopulatorTest.java b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/populator/UniqueDatabaseIndexPopulatorTest.java index 88832c50681b8..ac6b54340b8fa 100644 --- a/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/populator/UniqueDatabaseIndexPopulatorTest.java +++ b/community/lucene-index/src/test/java/org/neo4j/kernel/api/impl/schema/populator/UniqueDatabaseIndexPopulatorTest.java @@ -44,7 +44,6 @@ import org.neo4j.kernel.api.index.IndexUpdater; import org.neo4j.kernel.api.index.PropertyAccessor; import org.neo4j.kernel.api.schema_new.IndexQuery; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.storageengine.api.schema.IndexReader; @@ -546,7 +545,7 @@ public void addUpdates() throws Exception private UniqueLuceneIndexPopulator newPopulator() throws IOException { - UniqueLuceneIndexPopulator populator = new UniqueLuceneIndexPopulator( index, IndexBoundary.map( descriptor ) ); + UniqueLuceneIndexPopulator populator = new UniqueLuceneIndexPopulator( index, descriptor ); populator.create(); return populator; } diff --git a/community/lucene-index/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceIntegrationTest.java b/community/lucene-index/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceIntegrationTest.java index ffb94f94c2fec..bc87be7d40c2c 100644 --- a/community/lucene-index/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceIntegrationTest.java +++ b/community/lucene-index/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceIntegrationTest.java @@ -121,9 +121,9 @@ public void testSchemaIndexMatchIndexingService() throws IndexNotFoundKernelExce int propertyId = propertyKeyTokenHolder.getIdByName( PROPERTY_NAME ); IndexProxy clothesIndex = - indexingService.getIndexProxy( IndexDescriptorFactory.of( clothedLabelId, propertyId ) ); + indexingService.getIndexProxy( NewIndexDescriptorFactory.forLabel( clothedLabelId, propertyId ) ); IndexProxy weatherIndex = - indexingService.getIndexProxy( IndexDescriptorFactory.of( weatherLabelId, propertyId ) ); + indexingService.getIndexProxy( NewIndexDescriptorFactory.forLabel( weatherLabelId, propertyId ) ); assertEquals( InternalIndexState.ONLINE, clothesIndex.getState()); assertEquals( InternalIndexState.ONLINE, weatherIndex.getState()); } diff --git a/community/neo4j/src/test/java/org/neo4j/index/IndexSamplingIntegrationTest.java b/community/neo4j/src/test/java/org/neo4j/index/IndexSamplingIntegrationTest.java index 6a336ee0e18a4..88a64456df11a 100644 --- a/community/neo4j/src/test/java/org/neo4j/index/IndexSamplingIntegrationTest.java +++ b/community/neo4j/src/test/java/org/neo4j/index/IndexSamplingIntegrationTest.java @@ -32,7 +32,7 @@ import org.neo4j.io.fs.FileUtils; import org.neo4j.kernel.api.ReadOperations; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.index.IndexingService; import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge; import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine; @@ -195,7 +195,7 @@ private long indexId( GraphDatabaseAPI api ) throws IndexNotFoundKernelException .readOperations(); int labelId = readOperations.labelGetForName( label.name() ); int propertyKeyId = readOperations.propertyKeyGetForName( property ); - long indexId = indexingService.getIndexId( IndexDescriptorFactory.of( labelId, propertyKeyId ) ); + long indexId = indexingService.getIndexId( NewIndexDescriptorFactory.forLabel( labelId, propertyKeyId ) ); tx.success(); return indexId; } diff --git a/community/neo4j/src/test/java/schema/MultiIndexPopulationConcurrentUpdatesIT.java b/community/neo4j/src/test/java/schema/MultiIndexPopulationConcurrentUpdatesIT.java index ac8ac2b9bd452..fb9fe078b0d79 100644 --- a/community/neo4j/src/test/java/schema/MultiIndexPopulationConcurrentUpdatesIT.java +++ b/community/neo4j/src/test/java/schema/MultiIndexPopulationConcurrentUpdatesIT.java @@ -51,7 +51,6 @@ import org.neo4j.kernel.api.index.SchemaIndexProvider; import org.neo4j.kernel.api.labelscan.LabelScanStore; import org.neo4j.kernel.api.labelscan.NodeLabelUpdate; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.configuration.Config; @@ -220,7 +219,8 @@ private long[] id( String label ) private IndexReader getIndexReader( int propertyId, Integer countryLabelId ) throws IndexNotFoundKernelException { - return indexService.getIndexProxy( IndexDescriptorFactory.of( countryLabelId, propertyId ) ).newReader(); + return indexService.getIndexProxy( NewIndexDescriptorFactory.forLabel( countryLabelId, propertyId ) ) + .newReader(); } private void launchCustomIndexPopulation( Map labelNameIdMap, int propertyId, @@ -287,7 +287,7 @@ private void waitIndexOnline( IndexingService indexService, int propertyId, int throws IndexNotFoundKernelException, IndexPopulationFailedKernelException, InterruptedException, IndexActivationFailedKernelException { - IndexProxy indexProxy = indexService.getIndexProxy( IndexDescriptorFactory.of( labelId, propertyId ) ); + IndexProxy indexProxy = indexService.getIndexProxy( NewIndexDescriptorFactory.forLabel( labelId, propertyId ) ); indexProxy.awaitStoreScanCompleted(); indexProxy.activate(); } diff --git a/community/shell/src/main/java/org/neo4j/shell/kernel/apps/Schema.java b/community/shell/src/main/java/org/neo4j/shell/kernel/apps/Schema.java index 88f6900281474..29dd606ffe870 100644 --- a/community/shell/src/main/java/org/neo4j/shell/kernel/apps/Schema.java +++ b/community/shell/src/main/java/org/neo4j/shell/kernel/apps/Schema.java @@ -30,9 +30,8 @@ import org.neo4j.graphdb.schema.IndexDefinition; import org.neo4j.graphdb.schema.Schema.IndexState; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; -import org.neo4j.kernel.api.schema.NodePropertyDescriptor; import org.neo4j.kernel.api.Statement; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.index.IndexingService; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingMode; import org.neo4j.shell.AppCommandParser; @@ -197,7 +196,8 @@ private void sampleIndexes( Label[] labels, String property, boolean sampleAll, try { - indexingService.triggerIndexSampling( IndexDescriptorFactory.of( labelKey, propertyKey ), samplingMode ); + indexingService.triggerIndexSampling( NewIndexDescriptorFactory.forLabel( labelKey, propertyKey ), + samplingMode ); } catch ( IndexNotFoundKernelException e ) { diff --git a/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HaCountsIT.java b/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HaCountsIT.java index 9f2c79ef5c309..f4953a2798f86 100644 --- a/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HaCountsIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/kernel/ha/HaCountsIT.java @@ -31,7 +31,7 @@ import org.neo4j.kernel.api.Statement; import org.neo4j.kernel.api.exceptions.KernelException; import org.neo4j.kernel.api.schema.NodePropertyDescriptor; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; +import org.neo4j.kernel.api.schema_new.SchemaDescriptorFactory; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.impl.api.index.IndexingService; import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge; @@ -184,7 +184,7 @@ private NewIndexDescriptor createAnIndex( HighlyAvailableGraphDatabase db, Label int labelId = statement.tokenWriteOperations().labelGetOrCreateForName( label.name() ); int propertyKeyId = statement.tokenWriteOperations().propertyKeyGetOrCreateForName( propertyName ); NewIndexDescriptor index = statement.schemaWriteOperations() - .indexCreate( new NodePropertyDescriptor( labelId, propertyKeyId ) ); + .indexCreate( SchemaDescriptorFactory.forLabel( labelId, propertyKeyId ) ); tx.success(); return index; } @@ -250,7 +250,7 @@ private long awaitOnline( HighlyAvailableGraphDatabase db, NewIndexDescriptor in switch ( statement( db ).readOperations().indexGetState( index ) ) { case ONLINE: - return indexingService( db ).getIndexId( IndexBoundary.map( index ) ); + return indexingService( db ).getIndexId( index ); case FAILED: throw new IllegalStateException( "Index failed instead of becoming ONLINE" ); diff --git a/enterprise/management/src/main/java/org/neo4j/management/impl/IndexSamplingManagerBean.java b/enterprise/management/src/main/java/org/neo4j/management/impl/IndexSamplingManagerBean.java index 52a8115cd9520..434ced3d35cc6 100644 --- a/enterprise/management/src/main/java/org/neo4j/management/impl/IndexSamplingManagerBean.java +++ b/enterprise/management/src/main/java/org/neo4j/management/impl/IndexSamplingManagerBean.java @@ -27,8 +27,7 @@ import org.neo4j.jmx.impl.Neo4jMBean; import org.neo4j.kernel.NeoStoreDataSource; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; -import org.neo4j.kernel.api.schema.NodePropertyDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.index.IndexingService; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingMode; import org.neo4j.kernel.impl.transaction.state.DataSourceManager; @@ -130,7 +129,8 @@ public void triggerIndexSampling( String labelKey, String propertyKey, boolean f } try { - state.indexingService.triggerIndexSampling( IndexDescriptorFactory.of( labelKeyId, propertyKeyId ), + state.indexingService.triggerIndexSampling( + NewIndexDescriptorFactory.forLabel( labelKeyId, propertyKeyId ), getIndexSamplingMode( forceSample ) ); } catch ( IndexNotFoundKernelException e ) diff --git a/enterprise/management/src/test/java/org/neo4j/management/impl/IndexSamplingManagerBeanTest.java b/enterprise/management/src/test/java/org/neo4j/management/impl/IndexSamplingManagerBeanTest.java index e70984ee8c3cc..d06d7ed7f0d3c 100644 --- a/enterprise/management/src/test/java/org/neo4j/management/impl/IndexSamplingManagerBeanTest.java +++ b/enterprise/management/src/test/java/org/neo4j/management/impl/IndexSamplingManagerBeanTest.java @@ -25,7 +25,7 @@ import org.neo4j.graphdb.DependencyResolver; import org.neo4j.kernel.NeoStoreDataSource; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.api.index.IndexingService; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingMode; import org.neo4j.storageengine.api.StoreReadLayer; @@ -75,7 +75,8 @@ public void samplingTriggeredWhenIdsArePresent() throws IndexNotFoundKernelExcep storeAccess.triggerIndexSampling( EXISTING_LABEL, EXISTING_PROPERTY, false ); // Then - verify( indexingService, times( 1 ) ).triggerIndexSampling( IndexDescriptorFactory.of( LABEL_ID, PROPERTY_ID ) , + verify( indexingService, times( 1 ) ).triggerIndexSampling( + NewIndexDescriptorFactory.forLabel( LABEL_ID, PROPERTY_ID ) , IndexSamplingMode.TRIGGER_REBUILD_UPDATED); } @@ -90,7 +91,8 @@ public void forceSamplingTriggeredWhenIdsArePresent() throws IndexNotFoundKernel storeAccess.triggerIndexSampling( EXISTING_LABEL, EXISTING_PROPERTY, true ); // Then - verify( indexingService, times( 1 ) ).triggerIndexSampling( IndexDescriptorFactory.of( LABEL_ID, PROPERTY_ID ) , + verify( indexingService, times( 1 ) ).triggerIndexSampling( + NewIndexDescriptorFactory.forLabel( LABEL_ID, PROPERTY_ID ) , IndexSamplingMode.TRIGGER_REBUILD_ALL); } diff --git a/integrationtests/src/test/java/org/neo4j/storeupgrade/StoreUpgradeIntegrationTest.java b/integrationtests/src/test/java/org/neo4j/storeupgrade/StoreUpgradeIntegrationTest.java index 68d5f8b91fe32..0cc2b60526ef0 100644 --- a/integrationtests/src/test/java/org/neo4j/storeupgrade/StoreUpgradeIntegrationTest.java +++ b/integrationtests/src/test/java/org/neo4j/storeupgrade/StoreUpgradeIntegrationTest.java @@ -54,7 +54,6 @@ import org.neo4j.kernel.api.ReadOperations; import org.neo4j.kernel.api.Statement; import org.neo4j.kernel.api.exceptions.KernelException; -import org.neo4j.kernel.api.schema.IndexDescriptor; import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; import org.neo4j.kernel.api.security.AnonymousContext; import org.neo4j.kernel.configuration.Config; diff --git a/tools/src/test/java/org/neo4j/tools/dump/DumpCountsStoreTest.java b/tools/src/test/java/org/neo4j/tools/dump/DumpCountsStoreTest.java index 63527eb4a5dbb..b83123d02b67c 100644 --- a/tools/src/test/java/org/neo4j/tools/dump/DumpCountsStoreTest.java +++ b/tools/src/test/java/org/neo4j/tools/dump/DumpCountsStoreTest.java @@ -29,9 +29,8 @@ import java.util.List; import org.neo4j.kernel.api.index.SchemaIndexProvider; -import org.neo4j.kernel.api.schema.IndexDescriptor; -import org.neo4j.kernel.api.schema.IndexDescriptorFactory; -import org.neo4j.kernel.api.schema_new.index.IndexBoundary; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptor; +import org.neo4j.kernel.api.schema_new.index.NewIndexDescriptorFactory; import org.neo4j.kernel.impl.core.RelationshipTypeToken; import org.neo4j.kernel.impl.store.LabelTokenStore; import org.neo4j.kernel.impl.store.NeoStores; @@ -71,8 +70,8 @@ public class DumpCountsStoreTest private static final String INDEX_PROPERTY = "indexProperty"; private static final long indexId = 0; - private static final IndexDescriptor descriptor = - IndexDescriptorFactory.of( INDEX_LABEL_ID, INDEX_PROPERTY_KEY_ID ); + private static final NewIndexDescriptor descriptor = + NewIndexDescriptorFactory.forLabel( INDEX_LABEL_ID, INDEX_PROPERTY_KEY_ID ); @Rule public SuppressOutput suppressOutput = SuppressOutput.suppressAll(); @@ -155,7 +154,7 @@ private SchemaStorage createSchemaStorage() { SchemaStorage schemaStorage = mock(SchemaStorage.class); SchemaIndexProvider.Descriptor providerDescriptor = new SchemaIndexProvider.Descriptor( "in-memory", "1.0" ); - IndexRule rule = IndexRule.indexRule( indexId, IndexBoundary.map( descriptor ), providerDescriptor ); + IndexRule rule = IndexRule.indexRule( indexId, descriptor, providerDescriptor ); ArrayList rules = new ArrayList<>(); rules.add( rule );