diff --git a/community/kernel/src/main/java/org/neo4j/kernel/api/schema/index/IndexDescriptor.java b/community/kernel/src/main/java/org/neo4j/kernel/api/schema/index/IndexDescriptor.java index 1eff01b9c3daa..0b1df0d7c82a3 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/api/schema/index/IndexDescriptor.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/api/schema/index/IndexDescriptor.java @@ -22,7 +22,9 @@ import java.util.Optional; import org.neo4j.graphdb.Label; +import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.kernel.api.index.IndexProvider; +import org.neo4j.kernel.impl.api.index.CapableIndexDescriptor; import org.neo4j.storageengine.api.schema.SchemaRule; import static org.neo4j.internal.kernel.api.schema.SchemaUtil.idTokenNameLookup; @@ -150,4 +152,9 @@ public String getName() { return name().get(); } + + public CapableIndexDescriptor withoutCapabilities() + { + return new CapableIndexDescriptor( id, providerDescriptor, this, owningConstraintId, IndexCapability.NO_CAPABILITY ); + } } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/AbstractDelegatingIndexProxy.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/AbstractDelegatingIndexProxy.java index 00d44d1903a88..bea2a7db7a51e 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/AbstractDelegatingIndexProxy.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/AbstractDelegatingIndexProxy.java @@ -23,7 +23,6 @@ import java.io.IOException; import org.neo4j.graphdb.ResourceIterator; -import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.InternalIndexState; import org.neo4j.internal.kernel.api.schema.SchemaDescriptor; import org.neo4j.io.pagecache.IOLimiter; @@ -34,9 +33,6 @@ import org.neo4j.kernel.api.exceptions.schema.UniquePropertyValueValidationException; import org.neo4j.kernel.api.index.IndexUpdater; import org.neo4j.kernel.api.index.PropertyAccessor; -import org.neo4j.kernel.api.index.IndexProvider; -import org.neo4j.kernel.api.schema.index.IndexDescriptor; -import org.neo4j.kernel.api.schema.index.PendingIndexDescriptor; import org.neo4j.storageengine.api.schema.IndexReader; import org.neo4j.storageengine.api.schema.PopulationProgress; import org.neo4j.values.storable.Value; @@ -70,13 +66,7 @@ public InternalIndexState getState() } @Override - public IndexCapability getIndexCapability() - { - return getDelegate().getIndexCapability(); - } - - @Override - public IndexDescriptor getDescriptor() + public CapableIndexDescriptor getDescriptor() { return getDelegate().getDescriptor(); } @@ -87,12 +77,6 @@ public SchemaDescriptor schema() return getDelegate().schema(); } - @Override - public IndexProvider.Descriptor getProviderDescriptor() - { - return getDelegate().getProviderDescriptor(); - } - @Override public void force( IOLimiter ioLimiter ) throws IOException { @@ -159,12 +143,6 @@ public String toString() return String.format( "%s -> %s", getClass().getSimpleName(), getDelegate().toString() ); } - @Override - public long getIndexId() - { - return getDelegate().getIndexId(); - } - @Override public ResourceIterator snapshotFiles() throws IOException { diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/AbstractSwallowingIndexProxy.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/AbstractSwallowingIndexProxy.java index af6183feb6b50..51e36f2433f3e 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/AbstractSwallowingIndexProxy.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/AbstractSwallowingIndexProxy.java @@ -19,12 +19,9 @@ */ package org.neo4j.kernel.impl.api.index; -import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.schema.SchemaDescriptor; import org.neo4j.io.pagecache.IOLimiter; -import org.neo4j.kernel.api.index.IndexProvider; import org.neo4j.kernel.api.index.IndexUpdater; -import org.neo4j.kernel.api.schema.index.IndexDescriptor; import org.neo4j.kernel.impl.api.index.updater.SwallowingIndexUpdater; import org.neo4j.storageengine.api.schema.IndexReader; import org.neo4j.storageengine.api.schema.PopulationProgress; @@ -70,19 +67,13 @@ public void force( IOLimiter ioLimiter ) { } - @Override - public IndexCapability getIndexCapability() - { - return capableIndexDescriptor; - } - @Override public void refresh() { } @Override - public IndexDescriptor getDescriptor() + public CapableIndexDescriptor getDescriptor() { return capableIndexDescriptor; } @@ -93,12 +84,6 @@ public SchemaDescriptor schema() return capableIndexDescriptor.schema(); } - @Override - public IndexProvider.Descriptor getProviderDescriptor() - { - return capableIndexDescriptor.providerDescriptor(); - } - @Override public void close() { @@ -109,10 +94,4 @@ public IndexReader newReader() { throw new UnsupportedOperationException(); } - - @Override - public long getIndexId() - { - return capableIndexDescriptor.getId(); - } } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/CapableIndexDescriptor.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/CapableIndexDescriptor.java index de84173aa7348..b4c0b1b815011 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/CapableIndexDescriptor.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/CapableIndexDescriptor.java @@ -23,13 +23,25 @@ import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.IndexOrder; import org.neo4j.internal.kernel.api.IndexValueCapability; +import org.neo4j.kernel.api.index.IndexProvider; import org.neo4j.kernel.api.schema.index.IndexDescriptor; +import org.neo4j.kernel.api.schema.index.PendingIndexDescriptor; import org.neo4j.values.storable.ValueCategory; public class CapableIndexDescriptor extends IndexDescriptor implements CapableIndexReference { private final IndexCapability indexCapability; + public CapableIndexDescriptor( long id, + IndexProvider.Descriptor providerDescriptor, + PendingIndexDescriptor descriptor, + Long owningConstraintId, + IndexCapability indexCapability ) + { + super( id, providerDescriptor, descriptor, owningConstraintId ); + this.indexCapability = indexCapability; + } + public CapableIndexDescriptor( IndexDescriptor indexDescriptor, IndexCapability indexCapability ) { super( indexDescriptor.getId(), indexDescriptor.providerDescriptor(), indexDescriptor, indexDescriptor.getOwningConstraint() ); diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/FlippableIndexProxy.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/FlippableIndexProxy.java index 7e07e007e6d15..3e0d69b53b266 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/FlippableIndexProxy.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/FlippableIndexProxy.java @@ -27,7 +27,6 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; import org.neo4j.graphdb.ResourceIterator; -import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.InternalIndexState; import org.neo4j.internal.kernel.api.schema.SchemaDescriptor; import org.neo4j.io.pagecache.IOLimiter; @@ -39,10 +38,8 @@ import org.neo4j.kernel.api.exceptions.index.IndexPopulationFailedKernelException; import org.neo4j.kernel.api.exceptions.index.IndexProxyAlreadyClosedKernelException; import org.neo4j.kernel.api.exceptions.schema.UniquePropertyValueValidationException; -import org.neo4j.kernel.api.index.IndexProvider; import org.neo4j.kernel.api.index.IndexUpdater; import org.neo4j.kernel.api.index.PropertyAccessor; -import org.neo4j.kernel.api.schema.index.IndexDescriptor; import org.neo4j.kernel.impl.api.index.updater.DelegatingIndexUpdater; import org.neo4j.storageengine.api.schema.IndexReader; import org.neo4j.storageengine.api.schema.PopulationProgress; @@ -215,7 +212,7 @@ private static void barge( ReentrantReadWriteLock.ReadLock lock ) } @Override - public IndexDescriptor getDescriptor() + public CapableIndexDescriptor getDescriptor() { lock.readLock().lock(); try @@ -242,20 +239,6 @@ public SchemaDescriptor schema() } } - @Override - public IndexProvider.Descriptor getProviderDescriptor() - { - lock.readLock().lock(); - try - { - return delegate.getProviderDescriptor(); - } - finally - { - lock.readLock().unlock(); - } - } - @Override public InternalIndexState getState() { @@ -270,20 +253,6 @@ public InternalIndexState getState() } } - @Override - public IndexCapability getIndexCapability() - { - lock.readLock().lock(); - try - { - return delegate.getIndexCapability(); - } - finally - { - lock.readLock().unlock(); - } - } - @Override public void close() throws IOException { @@ -369,20 +338,6 @@ public void validateBeforeCommit( Value[] tuple ) } } - @Override - public long getIndexId() - { - lock.readLock().lock(); - try - { - return delegate.getIndexId(); - } - finally - { - lock.readLock().unlock(); - } - } - @Override public ResourceIterator snapshotFiles() throws IOException { diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexProxy.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexProxy.java index 23dc9b1102535..63cbf878fd58a 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexProxy.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexProxy.java @@ -23,9 +23,7 @@ import java.io.IOException; import org.neo4j.graphdb.ResourceIterator; -import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.InternalIndexState; -import org.neo4j.internal.kernel.api.schema.SchemaDescriptor; import org.neo4j.internal.kernel.api.schema.SchemaDescriptorSupplier; import org.neo4j.io.pagecache.IOLimiter; import org.neo4j.kernel.api.exceptions.index.IndexActivationFailedKernelException; @@ -37,9 +35,6 @@ import org.neo4j.kernel.api.index.IndexPopulator; import org.neo4j.kernel.api.index.IndexUpdater; import org.neo4j.kernel.api.index.PropertyAccessor; -import org.neo4j.kernel.api.index.IndexProvider; -import org.neo4j.kernel.api.schema.index.IndexDescriptor; -import org.neo4j.kernel.api.schema.index.PendingIndexDescriptor; import org.neo4j.storageengine.api.schema.IndexReader; import org.neo4j.storageengine.api.schema.PopulationProgress; import org.neo4j.values.storable.Value; @@ -79,17 +74,10 @@ public interface IndexProxy extends SchemaDescriptorSupplier */ void close() throws IOException; - IndexDescriptor getDescriptor(); - - @Override - SchemaDescriptor schema(); - - IndexProvider.Descriptor getProviderDescriptor(); + CapableIndexDescriptor getDescriptor(); InternalIndexState getState(); - IndexCapability getIndexCapability(); - /** * @return failure message. Expect a call to it if {@link #getState()} returns {@link InternalIndexState#FAILED}. */ @@ -123,8 +111,6 @@ public interface IndexProxy extends SchemaDescriptorSupplier */ void validateBeforeCommit( Value[] tuple ); - long getIndexId(); - ResourceIterator snapshotFiles() throws IOException; default void verifyDeferredConstraints( PropertyAccessor accessor ) throws IndexEntryConflictException, IOException 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 13c3b78539f48..6afd54ccbb248 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 @@ -656,7 +656,7 @@ public LongSet getIndexIds() MutableLongSet indexIds = new LongHashSet(); for ( IndexProxy indexProxy : indexProxies ) { - indexIds.add( indexProxy.getIndexId() ); + indexIds.add( indexProxy.getDescriptor().getId() ); } return indexIds; } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/OnlineIndexProxy.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/OnlineIndexProxy.java index d0981b4756e5c..4a2b3686216af 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/OnlineIndexProxy.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/OnlineIndexProxy.java @@ -23,16 +23,13 @@ import java.io.IOException; import org.neo4j.graphdb.ResourceIterator; -import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.InternalIndexState; import org.neo4j.internal.kernel.api.schema.SchemaDescriptor; import org.neo4j.io.pagecache.IOLimiter; import org.neo4j.kernel.api.exceptions.index.IndexEntryConflictException; import org.neo4j.kernel.api.index.IndexAccessor; -import org.neo4j.kernel.api.index.IndexProvider; import org.neo4j.kernel.api.index.IndexUpdater; import org.neo4j.kernel.api.index.PropertyAccessor; -import org.neo4j.kernel.api.schema.index.IndexDescriptor; import org.neo4j.kernel.impl.api.index.updater.UpdateCountingIndexUpdater; import org.neo4j.storageengine.api.schema.IndexReader; import org.neo4j.storageengine.api.schema.PopulationProgress; @@ -132,7 +129,7 @@ public void drop() } @Override - public IndexDescriptor getDescriptor() + public CapableIndexDescriptor getDescriptor() { return capableIndexDescriptor; } @@ -143,24 +140,12 @@ public SchemaDescriptor schema() return capableIndexDescriptor.schema(); } - @Override - public IndexProvider.Descriptor getProviderDescriptor() - { - return capableIndexDescriptor.providerDescriptor(); - } - @Override public InternalIndexState getState() { return InternalIndexState.ONLINE; } - @Override - public IndexCapability getIndexCapability() - { - return capableIndexDescriptor; - } - @Override public void force( IOLimiter ioLimiter ) throws IOException { @@ -209,12 +194,6 @@ public void validateBeforeCommit( Value[] tuple ) accessor.validateBeforeCommit( tuple ); } - @Override - public long getIndexId() - { - return indexId; - } - @Override public IndexPopulationFailure getPopulationFailure() throws IllegalStateException { diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/PopulatingIndexProxy.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/PopulatingIndexProxy.java index f60935f9462b2..c123ae0e2c456 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/PopulatingIndexProxy.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/PopulatingIndexProxy.java @@ -22,15 +22,12 @@ import java.io.File; import org.neo4j.graphdb.ResourceIterator; -import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.InternalIndexState; import org.neo4j.internal.kernel.api.schema.SchemaDescriptor; import org.neo4j.io.pagecache.IOLimiter; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; import org.neo4j.kernel.api.index.IndexEntryUpdate; -import org.neo4j.kernel.api.index.IndexProvider; import org.neo4j.kernel.api.index.IndexUpdater; -import org.neo4j.kernel.api.schema.index.IndexDescriptor; import org.neo4j.storageengine.api.schema.IndexReader; import org.neo4j.storageengine.api.schema.PopulationProgress; import org.neo4j.values.storable.Value; @@ -89,7 +86,7 @@ public void drop() } @Override - public IndexDescriptor getDescriptor() + public CapableIndexDescriptor getDescriptor() { return capableIndexDescriptor; } @@ -100,24 +97,12 @@ public SchemaDescriptor schema() return capableIndexDescriptor.schema(); } - @Override - public IndexProvider.Descriptor getProviderDescriptor() - { - return capableIndexDescriptor.providerDescriptor(); - } - @Override public InternalIndexState getState() { return InternalIndexState.POPULATING; } - @Override - public IndexCapability getIndexCapability() - { - return capableIndexDescriptor; - } - @Override public void force( IOLimiter ioLimiter ) { @@ -167,12 +152,6 @@ public void validateBeforeCommit( Value[] tuple ) // It's OK to put whatever values in while populating because it will take the natural path of failing the population. } - @Override - public long getIndexId() - { - return capableIndexDescriptor.getId(); - } - @Override public ResourceIterator snapshotFiles() { diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/state/ConstraintIndexCreator.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/state/ConstraintIndexCreator.java index 0758c4dd6e42a..4602108ad304c 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/state/ConstraintIndexCreator.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/state/ConstraintIndexCreator.java @@ -268,9 +268,7 @@ private CapableIndexReference getOrCreateUniquenessConstraintIndex( SchemaRead s } PendingIndexDescriptor indexDescriptor = createConstraintIndex( schema ); IndexProxy indexProxy = indexingService.getIndexProxy( indexDescriptor.schema() ); - return new DefaultCapableIndexReference( indexDescriptor.type() == Type.UNIQUE, indexProxy.getIndexCapability(), - indexProxy.getProviderDescriptor(), indexDescriptor.schema().keyId(), - indexDescriptor.schema().getPropertyIds() ); + return indexProxy.getDescriptor(); } public PendingIndexDescriptor createConstraintIndex( final SchemaDescriptor schema ) diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/storageengine/impl/recordstorage/RecordStorageReader.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/storageengine/impl/recordstorage/RecordStorageReader.java index d6465170d80e3..3d3b97d994b60 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/storageengine/impl/recordstorage/RecordStorageReader.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/storageengine/impl/recordstorage/RecordStorageReader.java @@ -46,7 +46,6 @@ import org.neo4j.kernel.api.exceptions.RelationshipTypeIdNotFoundKernelException; import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException; import org.neo4j.kernel.api.exceptions.schema.SchemaRuleNotFoundException; -import org.neo4j.kernel.api.index.IndexProvider; import org.neo4j.kernel.api.properties.PropertyKeyIdIterator; import org.neo4j.kernel.api.schema.index.IndexDescriptor; import org.neo4j.kernel.api.schema.index.PendingIndexDescriptor; @@ -325,21 +324,10 @@ public InternalIndexState indexGetState( PendingIndexDescriptor descriptor ) thr return indexService.getIndexProxy( descriptor.schema() ).getState(); } - @Override - public IndexProvider.Descriptor indexGetProviderDescriptor( PendingIndexDescriptor descriptor ) throws IndexNotFoundKernelException - { - return indexService.getIndexProxy( descriptor.schema() ).getProviderDescriptor(); - } - public CapableIndexReference indexReference( PendingIndexDescriptor descriptor ) throws IndexNotFoundKernelException { - boolean unique = descriptor.type() == PendingIndexDescriptor.Type.UNIQUE; - SchemaDescriptor schema = descriptor.schema(); - IndexProxy indexProxy = indexService.getIndexProxy( schema ); - - return new DefaultCapableIndexReference( unique, indexProxy.getIndexCapability(), - indexProxy.getProviderDescriptor(), schema.keyId(), - schema.getPropertyIds() ); + IndexProxy indexProxy = indexService.getIndexProxy( descriptor.schema() ); + return indexProxy.getDescriptor(); } @Override diff --git a/community/kernel/src/main/java/org/neo4j/storageengine/api/StorageReader.java b/community/kernel/src/main/java/org/neo4j/storageengine/api/StorageReader.java index 6ea1cc8c34c16..44e2814520e97 100644 --- a/community/kernel/src/main/java/org/neo4j/storageengine/api/StorageReader.java +++ b/community/kernel/src/main/java/org/neo4j/storageengine/api/StorageReader.java @@ -302,15 +302,6 @@ long indexGetCommittedId( PendingIndexDescriptor index ) */ InternalIndexState indexGetState( PendingIndexDescriptor descriptor ) throws IndexNotFoundKernelException; - /** - * Return index provider descriptor of a stored index. - * - * @param descriptor {@link PendingIndexDescriptor} to get provider descriptor for. - * @return {@link IndexProvider.Descriptor} for index. - * @throws IndexNotFoundKernelException if index not found. - */ - IndexProvider.Descriptor indexGetProviderDescriptor( PendingIndexDescriptor descriptor ) throws IndexNotFoundKernelException; - /** * Return index reference of a stored index. * diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexMapReferenceTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexMapReferenceTest.java index 3005eb456ce5f..bc98138600f57 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexMapReferenceTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexMapReferenceTest.java @@ -29,6 +29,8 @@ import static org.junit.Assert.assertSame; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import static org.neo4j.kernel.api.schema.index.IndexDescriptor.indexRule; +import static org.neo4j.kernel.api.schema.index.IndexDescriptorFactory.forLabel; import static org.neo4j.kernel.impl.api.index.TestIndexProviderDescriptor.PROVIDER_DESCRIPTOR; public class IndexMapReferenceTest @@ -97,7 +99,7 @@ private IndexProxy[] mockedIndexProxies( int base, int count ) { existing[i] = mock( IndexProxy.class ); when( existing[i].getDescriptor() ).thenReturn( - IndexDescriptor.indexRule( i, IndexDescriptorFactory.forLabel( base + i, 1 ), PROVIDER_DESCRIPTOR ) ); + indexRule( i, forLabel( base + i, 1 ), PROVIDER_DESCRIPTOR ).withoutCapabilities() ); } return existing; } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexProxyAdapter.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexProxyAdapter.java index 8080df972b8aa..d15608c320bfd 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexProxyAdapter.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexProxyAdapter.java @@ -22,13 +22,10 @@ import java.io.File; import org.neo4j.graphdb.ResourceIterator; -import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.InternalIndexState; import org.neo4j.internal.kernel.api.schema.LabelSchemaDescriptor; import org.neo4j.io.pagecache.IOLimiter; import org.neo4j.kernel.api.index.IndexUpdater; -import org.neo4j.kernel.api.index.IndexProvider; -import org.neo4j.kernel.api.schema.index.IndexDescriptor; import org.neo4j.kernel.impl.api.index.updater.SwallowingIndexUpdater; import org.neo4j.storageengine.api.schema.IndexReader; import org.neo4j.storageengine.api.schema.PopulationProgress; @@ -60,12 +57,6 @@ public InternalIndexState getState() throw new UnsupportedOperationException(); } - @Override - public IndexCapability getIndexCapability() - { - return null; - } - public void force( IOLimiter ioLimiter ) { } @@ -81,7 +72,7 @@ public void close() } @Override - public IndexDescriptor getDescriptor() + public CapableIndexDescriptor getDescriptor() { return null; } @@ -92,12 +83,6 @@ public LabelSchemaDescriptor schema() return null; } - @Override - public IndexProvider.Descriptor getProviderDescriptor() - { - return null; - } - @Override public IndexReader newReader() { @@ -125,12 +110,6 @@ public void validateBeforeCommit( Value[] tuple ) { } - @Override - public long getIndexId() - { - return 1; - } - @Override public ResourceIterator snapshotFiles() { 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 3db660937e50b..debcbbf445880 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 @@ -23,8 +23,6 @@ import org.junit.Test; import org.neo4j.kernel.api.index.IndexUpdater; -import org.neo4j.kernel.api.schema.index.IndexDescriptor; -import org.neo4j.kernel.api.schema.index.IndexDescriptorFactory; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; @@ -35,6 +33,8 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import static org.neo4j.kernel.api.schema.index.IndexDescriptor.indexRule; +import static org.neo4j.kernel.api.schema.index.IndexDescriptorFactory.forLabel; import static org.neo4j.kernel.impl.api.index.TestIndexProviderDescriptor.*; public class IndexUpdaterMapTest @@ -42,14 +42,14 @@ public class IndexUpdaterMapTest private IndexMap indexMap; private IndexProxy indexProxy1; - private IndexDescriptor schemaIndexDescriptor1; + private CapableIndexDescriptor schemaIndexDescriptor1; private IndexUpdater indexUpdater1; private IndexProxy indexProxy2; - private IndexDescriptor schemaIndexDescriptor2; + private CapableIndexDescriptor schemaIndexDescriptor2; private IndexProxy indexProxy3; - private IndexDescriptor schemaIndexDescriptor3; + private CapableIndexDescriptor schemaIndexDescriptor3; private IndexUpdaterMap updaterMap; @@ -59,19 +59,19 @@ public void before() indexMap = new IndexMap(); indexProxy1 = mock( IndexProxy.class ); - schemaIndexDescriptor1 = IndexDescriptor.indexRule( 0, IndexDescriptorFactory.forLabel( 2, 3 ), PROVIDER_DESCRIPTOR ); + schemaIndexDescriptor1 = indexRule( 0, forLabel( 2, 3 ), PROVIDER_DESCRIPTOR ).withoutCapabilities(); indexUpdater1 = mock( IndexUpdater.class ); when( indexProxy1.getDescriptor() ).thenReturn( schemaIndexDescriptor1 ); when( indexProxy1.newUpdater( any( IndexUpdateMode.class ) ) ).thenReturn( indexUpdater1 ); indexProxy2 = mock( IndexProxy.class ); - schemaIndexDescriptor2 = IndexDescriptor.indexRule( 1, IndexDescriptorFactory.forLabel( 5, 6 ), PROVIDER_DESCRIPTOR ); + schemaIndexDescriptor2 = indexRule( 1, forLabel( 5, 6 ), PROVIDER_DESCRIPTOR ).withoutCapabilities(); IndexUpdater indexUpdater2 = mock( IndexUpdater.class ); when( indexProxy2.getDescriptor() ).thenReturn( schemaIndexDescriptor2 ); when( indexProxy2.newUpdater( any( IndexUpdateMode.class ) ) ).thenReturn( indexUpdater2 ); indexProxy3 = mock( IndexProxy.class ); - schemaIndexDescriptor3 = IndexDescriptor.indexRule( 2, IndexDescriptorFactory.forLabel( 5, 7, 8 ), PROVIDER_DESCRIPTOR ); + schemaIndexDescriptor3 = indexRule( 2, forLabel( 5, 7, 8 ), PROVIDER_DESCRIPTOR ).withoutCapabilities(); IndexUpdater indexUpdater3 = mock( IndexUpdater.class ); when( indexProxy3.getDescriptor() ).thenReturn( schemaIndexDescriptor3 ); when( indexProxy3.newUpdater( any( IndexUpdateMode.class ) ) ).thenReturn( indexUpdater3 ); 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 3a0cce8e437d3..5d7ca4104faf6 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 @@ -1119,7 +1119,9 @@ public void shouldForgetDeferredIndexDropDuringRecoveryIfCreatedIndexWithSameRul private IndexProxy createIndexProxyMock() { IndexProxy proxy = mock( IndexProxy.class ); - IndexDescriptor descriptor = IndexDescriptor.indexRule( 0, IndexDescriptorFactory.forLabel( 1, 2 ), PROVIDER_DESCRIPTOR ); + CapableIndexDescriptor descriptor = + IndexDescriptor.indexRule( 0, IndexDescriptorFactory.forLabel( 1, 2 ), PROVIDER_DESCRIPTOR ) + .withoutCapabilities(); when( proxy.getDescriptor() ).thenReturn( descriptor ); return proxy; } 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 9a5f2be0fc0f2..9cfd38f5cd920 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,9 +24,8 @@ import java.util.concurrent.atomic.AtomicInteger; import org.neo4j.function.Predicates; -import org.neo4j.kernel.api.schema.index.IndexDescriptor; -import org.neo4j.kernel.api.schema.index.IndexDescriptorFactory; import org.neo4j.kernel.api.schema.index.PendingIndexDescriptor; +import org.neo4j.kernel.impl.api.index.CapableIndexDescriptor; import org.neo4j.kernel.impl.api.index.IndexMap; import org.neo4j.kernel.impl.api.index.IndexMapSnapshotProvider; import org.neo4j.kernel.impl.api.index.IndexProxy; @@ -44,6 +43,8 @@ import static org.neo4j.internal.kernel.api.InternalIndexState.FAILED; import static org.neo4j.internal.kernel.api.InternalIndexState.ONLINE; import static org.neo4j.internal.kernel.api.InternalIndexState.POPULATING; +import static org.neo4j.kernel.api.schema.index.IndexDescriptor.indexRule; +import static org.neo4j.kernel.api.schema.index.IndexDescriptorFactory.forLabel; import static org.neo4j.kernel.impl.api.index.sampling.IndexSamplingMode.BACKGROUND_REBUILD_UPDATED; import static org.neo4j.kernel.impl.api.index.sampling.IndexSamplingMode.TRIGGER_REBUILD_UPDATED; @@ -367,10 +368,10 @@ public boolean test( long indexId, PendingIndexDescriptor descriptor ) private final long anotherIndexId = 3; private final IndexProxy indexProxy = mock( IndexProxy.class ); private final IndexProxy anotherIndexProxy = mock( IndexProxy.class ); - private final IndexDescriptor descriptor = - IndexDescriptor.indexRule( indexId, IndexDescriptorFactory.forLabel( 3, 4 ), TestIndexProviderDescriptor.PROVIDER_DESCRIPTOR ); - private final IndexDescriptor anotherDescriptor = - IndexDescriptor.indexRule( anotherIndexId, IndexDescriptorFactory.forLabel( 5, 6 ), TestIndexProviderDescriptor.PROVIDER_DESCRIPTOR ); + private final CapableIndexDescriptor descriptor = + indexRule( indexId, forLabel( 3, 4 ), TestIndexProviderDescriptor.PROVIDER_DESCRIPTOR ).withoutCapabilities(); + private final CapableIndexDescriptor anotherDescriptor = + indexRule( anotherIndexId, forLabel( 5, 6 ), TestIndexProviderDescriptor.PROVIDER_DESCRIPTOR ).withoutCapabilities(); private final IndexSamplingJob job = mock( IndexSamplingJob.class ); private final IndexSamplingJob anotherJob = mock( IndexSamplingJob.class ); diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/OnlineIndexSamplingJobTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/OnlineIndexSamplingJobTest.java index 271fc289d2546..f50b4ca21790d 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/OnlineIndexSamplingJobTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/sampling/OnlineIndexSamplingJobTest.java @@ -26,6 +26,7 @@ import org.neo4j.kernel.api.index.IndexProvider; import org.neo4j.kernel.api.schema.index.IndexDescriptor; import org.neo4j.kernel.api.schema.index.IndexDescriptorFactory; +import org.neo4j.kernel.impl.api.index.CapableIndexDescriptor; import org.neo4j.kernel.impl.api.index.IndexProxy; import org.neo4j.kernel.impl.api.index.IndexStoreView; import org.neo4j.logging.LogProvider; @@ -40,6 +41,8 @@ import static org.mockito.Mockito.when; import static org.neo4j.internal.kernel.api.InternalIndexState.FAILED; import static org.neo4j.internal.kernel.api.InternalIndexState.ONLINE; +import static org.neo4j.kernel.api.schema.index.IndexDescriptor.indexRule; +import static org.neo4j.kernel.api.schema.index.IndexDescriptorFactory.forLabel; public class OnlineIndexSamplingJobTest { @@ -76,7 +79,8 @@ public void shouldSampleTheIndexButDoNotStoreTheValuesIfTheIndexIsNotOnline() private final long indexId = 1; private final IndexProxy indexProxy = mock( IndexProxy.class ); private final IndexStoreView indexStoreView = mock( IndexStoreView.class ); - private final IndexDescriptor indexDescriptor = IndexDescriptor.indexRule( indexId, IndexDescriptorFactory.forLabel( 1, 2 ), IndexProvider.UNDECIDED ); + private final CapableIndexDescriptor indexDescriptor = + indexRule( indexId, forLabel( 1, 2 ), IndexProvider.UNDECIDED ).withoutCapabilities(); private final IndexReader indexReader = mock( IndexReader.class ); private final IndexSampler indexSampler = mock( IndexSampler.class );