diff --git a/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/CapableIndexReference.java b/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/CapableIndexReference.java index 648c87d7f29b3..b910f0ab2d155 100644 --- a/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/CapableIndexReference.java +++ b/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/CapableIndexReference.java @@ -19,7 +19,7 @@ */ package org.neo4j.internal.kernel.api; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; /** * Reference to a specific index together with it's capabilities. This reference is valid until the schema of the database changes @@ -34,15 +34,15 @@ public interface CapableIndexReference extends IndexReference, IndexCapability CapableIndexReference NO_INDEX = new CapableIndexReference() { @Override - public IndexOrder[] orderCapability( ValueGroup... valueGroups ) + public IndexOrder[] orderCapability( ValueCategory... valueCategories ) { - return NO_CAPABILITY.orderCapability( valueGroups ); + return NO_CAPABILITY.orderCapability( valueCategories ); } @Override - public IndexValueCapability valueCapability( ValueGroup... valueGroups ) + public IndexValueCapability valueCapability( ValueCategory... valueCategories ) { - return NO_CAPABILITY.valueCapability( valueGroups ); + return NO_CAPABILITY.valueCapability( valueCategories ); } @Override diff --git a/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/IndexCapability.java b/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/IndexCapability.java index 0aa439aa84d9d..17dee60c19148 100644 --- a/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/IndexCapability.java +++ b/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/IndexCapability.java @@ -19,7 +19,7 @@ */ package org.neo4j.internal.kernel.api; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; /** * Capabilities of an index. @@ -34,46 +34,46 @@ public interface IndexCapability IndexOrder[] ORDER_NONE = new IndexOrder[0]; /** - * What possible orderings is this index capable to provide for a query on given combination of {@link ValueGroup}. - * Ordering of ValueGroup correspond to ordering of related {@link IndexReference#properties()}. + * What possible orderings is this index capable to provide for a query on given combination of {@link ValueCategory}. + * Ordering of ValueCategory correspond to ordering of related {@link IndexReference#properties()}. * - * @param valueGroups Ordered array of {@link ValueGroup ValueGroups} for which index should be queried. Note that valueGroup + * @param valueCategories Ordered array of {@link ValueCategory ValueCategories} for which index should be queried. Note that valueCategory * must correspond to related {@link IndexReference#properties()}. A {@code null} value in the array - * ({@code new ValueGroup[]{null}}) is interpreted as a wildcard for any {@link ValueGroup}. Note that this is not the same as + * ({@code new ValueCategory[]{null}}) is interpreted as a wildcard for any {@link ValueCategory}. Note that this is not the same as * {@code order(null)} which is undefined. - * @return {@link IndexOrder} array containing all possible orderings for provided value groups or empty array if no explicit - * ordering is possible or if length of {@code valueGroups} and {@link IndexReference#properties()} differ. + * @return {@link IndexOrder} array containing all possible orderings for provided value categories or empty array if no explicit + * ordering is possible or if length of {@code valueCategories} and {@link IndexReference#properties()} differ. */ - IndexOrder[] orderCapability( ValueGroup... valueGroups ); + IndexOrder[] orderCapability( ValueCategory... valueCategories ); /** - * Is the index capable of providing values for a query on given combination of {@link ValueGroup}. - * Ordering of ValueGroup correspond to ordering of {@code properties} in related {@link IndexReference}. + * Is the index capable of providing values for a query on given combination of {@link ValueCategory}. + * Ordering of ValueCategory correspond to ordering of {@code properties} in related {@link IndexReference}. * - * @param valueGroups Ordered array of {@link ValueGroup ValueGroups} for which index should be queried. Note that valueGroup - * must correspond to related {@link IndexReference#properties()}. {@link ValueGroup#UNKNOWN} can be used as a wildcard for - * any {@link ValueGroup}. Behaviour is undefined for empty {@code null} array and {@code null} values in array. - * @return {@link IndexValueCapability#YES} if index is capable of providing values for query on provided array of value groups, + * @param valueCategories Ordered array of {@link ValueCategory ValueCategories} for which index should be queried. Note that valueCategory + * must correspond to related {@link IndexReference#properties()}. {@link ValueCategory#UNKNOWN} can be used as a wildcard for + * any {@link ValueCategory}. Behaviour is undefined for empty {@code null} array and {@code null} values in array. + * @return {@link IndexValueCapability#YES} if index is capable of providing values for query on provided array of value categories, * {@link IndexValueCapability#NO} if not or {@link IndexValueCapability#PARTIAL} for some results. If length of - * {@code valueGroups} and {@link IndexReference#properties()} differ {@link IndexValueCapability#NO} is returned. + * {@code valueCategories} and {@link IndexReference#properties()} differ {@link IndexValueCapability#NO} is returned. */ - IndexValueCapability valueCapability( ValueGroup... valueGroups ); + IndexValueCapability valueCapability( ValueCategory... valueCategories ); - default boolean singleWildcard( ValueGroup[] valueGroups ) + default boolean singleWildcard( ValueCategory[] valueCategories ) { - return valueGroups.length == 1 && valueGroups[0] == ValueGroup.UNKNOWN; + return valueCategories.length == 1 && valueCategories[0] == ValueCategory.UNKNOWN; } IndexCapability NO_CAPABILITY = new IndexCapability() { @Override - public IndexOrder[] orderCapability( ValueGroup... valueGroups ) + public IndexOrder[] orderCapability( ValueCategory... valueCategories ) { return ORDER_NONE; } @Override - public IndexValueCapability valueCapability( ValueGroup... valueGroups ) + public IndexValueCapability valueCapability( ValueCategory... valueCategories ) { return IndexValueCapability.NO; } diff --git a/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/IndexOrder.java b/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/IndexOrder.java index 59792dcc80fe1..0bf06d196bb0a 100644 --- a/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/IndexOrder.java +++ b/community/kernel-api/src/main/java/org/neo4j/internal/kernel/api/IndexOrder.java @@ -19,11 +19,9 @@ */ package org.neo4j.internal.kernel.api; -import org.neo4j.values.storable.ValueGroup; - /** * Enum used for two purposes: - * 1. As return value for {@link IndexCapability#orderCapability(ValueGroup...)}. + * 1. As return value for {@link IndexCapability#orderCapability(org.neo4j.values.storable.ValueCategory...)}. * Only {@link #ASCENDING} and {@link #DESCENDING} is valid for this. * 2. As parameter for {@link Read#nodeIndexScan(IndexReference, NodeValueIndexCursor, IndexOrder)} and * {@link Read#nodeIndexSeek(IndexReference, NodeValueIndexCursor, IndexOrder, IndexQuery...)}. Where {@link #NONE} is used when diff --git a/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/NodeValueIndexCursorTestBase.java b/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/NodeValueIndexCursorTestBase.java index d8143654d2334..6b3ecad4f31d4 100644 --- a/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/NodeValueIndexCursorTestBase.java +++ b/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/NodeValueIndexCursorTestBase.java @@ -30,7 +30,7 @@ import org.neo4j.values.storable.CoordinateReferenceSystem; import org.neo4j.values.storable.DateValue; import org.neo4j.values.storable.Value; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; import org.neo4j.values.storable.Values; import static java.util.concurrent.TimeUnit.MINUTES; @@ -140,7 +140,7 @@ public void shouldPerformExactLookup() throws Exception PrimitiveLongSet uniqueIds = Primitive.longSet() ) { // when - IndexValueCapability valueCapability = index.valueCapability( ValueGroup.TEXT ); + IndexValueCapability valueCapability = index.valueCapability( ValueCategory.TEXT ); read.nodeIndexSeek( index, node, IndexOrder.NONE, IndexQuery.exact( prop, "zero" ) ); // then @@ -165,7 +165,7 @@ public void shouldPerformExactLookup() throws Exception assertFoundNodesAndNoValue( node, uniqueIds, strThree1, strThree2, strThree3 ); // when - valueCapability = index.valueCapability( ValueGroup.NUMBER ); + valueCapability = index.valueCapability( ValueCategory.NUMBER ); read.nodeIndexSeek( index, node, IndexOrder.NONE, IndexQuery.exact( prop, 1 ) ); // then @@ -196,14 +196,14 @@ public void shouldPerformExactLookup() throws Exception assertFoundNodesAndNoValue( node, uniqueIds, num12a, num12b ); // when - valueCapability = index.valueCapability( ValueGroup.BOOLEAN ); + valueCapability = index.valueCapability( ValueCategory.REST ); read.nodeIndexSeek( index, node, IndexOrder.NONE, IndexQuery.exact( prop, true ) ); // then assertFoundNodesAndNoValue( node, uniqueIds, boolTrue ); // when - valueCapability = index.valueCapability( ValueGroup.GEOMETRY ); + valueCapability = index.valueCapability( ValueCategory.GEOMETRY ); read.nodeIndexSeek( index, node, IndexOrder.NONE, IndexQuery.exact( prop, Values.pointValue( Cartesian, 0, 0 ) ) ); // then @@ -228,7 +228,7 @@ public void shouldPerformExactLookup() throws Exception assertFoundNodesAndNoValue( node, 1, uniqueIds ); // when - valueCapability = index.valueCapability( ValueGroup.DATE ); + valueCapability = index.valueCapability( ValueCategory.TEMPORAL ); read.nodeIndexSeek( index, node, IndexOrder.NONE, IndexQuery.exact( prop, DateValue.date( 1989, 3, 24 ) ) ); // then @@ -254,7 +254,7 @@ public void shouldPerformExactLookupInCompositeIndex() throws Exception PrimitiveLongSet uniqueIds = Primitive.longSet() ) { // when - IndexValueCapability valueCapability = index.valueCapability( ValueGroup.TEXT, ValueGroup.TEXT ); + IndexValueCapability valueCapability = index.valueCapability( ValueCategory.TEXT, ValueCategory.TEXT ); read.nodeIndexSeek( index, node, IndexOrder.NONE, IndexQuery.exact( firstName, "Joe" ), IndexQuery.exact( surname, "Dalton" ) ); @@ -271,7 +271,7 @@ public void shouldPerformStringPrefixSearch() throws Exception int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexValueCapability stringCapability = index.valueCapability( ValueGroup.TEXT ); + IndexValueCapability stringCapability = index.valueCapability( ValueCategory.TEXT ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor(); PrimitiveLongSet uniqueIds = Primitive.longSet() ) { @@ -292,7 +292,7 @@ public void shouldPerformStringSuffixSearch() throws Exception int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexValueCapability stringCapability = index.valueCapability( ValueGroup.TEXT ); + IndexValueCapability stringCapability = index.valueCapability( ValueCategory.TEXT ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor(); PrimitiveLongSet uniqueIds = Primitive.longSet() ) { @@ -312,7 +312,7 @@ public void shouldPerformStringContainmentSearch() throws Exception int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexValueCapability stringCapability = index.valueCapability( ValueGroup.TEXT ); + IndexValueCapability stringCapability = index.valueCapability( ValueCategory.TEXT ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor(); PrimitiveLongSet uniqueIds = Primitive.longSet() ) { @@ -332,7 +332,7 @@ public void shouldPerformStringRangeSearch() throws Exception int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexValueCapability stringCapability = index.valueCapability( ValueGroup.TEXT ); + IndexValueCapability stringCapability = index.valueCapability( ValueCategory.TEXT ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor(); PrimitiveLongSet uniqueIds = Primitive.longSet() ) { @@ -377,7 +377,7 @@ public void shouldPerformNumericRangeSearch() throws Exception int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexValueCapability numberCapability = index.valueCapability( ValueGroup.NUMBER ); + IndexValueCapability numberCapability = index.valueCapability( ValueCategory.NUMBER ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor(); PrimitiveLongSet uniqueIds = Primitive.longSet() ) { @@ -414,7 +414,7 @@ public void shouldPerformTemporalRangeSearch() throws KernelException int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexValueCapability temporalCapability = index.valueCapability( ValueGroup.DATE ); + IndexValueCapability temporalCapability = index.valueCapability( ValueCategory.TEMPORAL ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor(); PrimitiveLongSet uniqueIds = Primitive.longSet() ) { @@ -455,7 +455,7 @@ public void shouldPerformSpatialRangeSearch() throws KernelException int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexValueCapability spatialCapability = index.valueCapability( ValueGroup.GEOMETRY ); + IndexValueCapability spatialCapability = index.valueCapability( ValueCategory.GEOMETRY ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor(); PrimitiveLongSet uniqueIds = Primitive.longSet() ) { @@ -492,7 +492,7 @@ public void shouldPerformIndexScan() throws Exception int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexValueCapability wildcardCapability = index.valueCapability( ValueGroup.UNKNOWN ); + IndexValueCapability wildcardCapability = index.valueCapability( ValueCategory.UNKNOWN ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor(); PrimitiveLongSet uniqueIds = Primitive.longSet() ) { @@ -512,7 +512,7 @@ public void shouldRespectOrderCapabilitiesForNumbers() throws Exception int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexOrder[] orderCapabilities = index.orderCapability( ValueGroup.NUMBER ); + IndexOrder[] orderCapabilities = index.orderCapability( ValueCategory.NUMBER ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor() ) { for ( IndexOrder orderCapability : orderCapabilities ) @@ -533,7 +533,7 @@ public void shouldRespectOrderCapabilitiesForStrings() throws Exception int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexOrder[] orderCapabilities = index.orderCapability( ValueGroup.TEXT ); + IndexOrder[] orderCapabilities = index.orderCapability( ValueCategory.TEXT ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor() ) { for ( IndexOrder orderCapability : orderCapabilities ) @@ -554,7 +554,7 @@ public void shouldRespectOrderCapabilitiesForTemporal() throws KernelException int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexOrder[] orderCapabilities = index.orderCapability( ValueGroup.DATE ); + IndexOrder[] orderCapabilities = index.orderCapability( ValueCategory.TEMPORAL ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor() ) { for ( IndexOrder orderCapability : orderCapabilities ) @@ -576,7 +576,7 @@ public void shouldRespectOrderCapabilitiesForSpatial() throws KernelException int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexOrder[] orderCapabilities = index.orderCapability( ValueGroup.GEOMETRY ); + IndexOrder[] orderCapabilities = index.orderCapability( ValueCategory.GEOMETRY ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor() ) { for ( IndexOrder orderCapability : orderCapabilities ) @@ -597,7 +597,7 @@ public void shouldRespectOrderCapabilitiesForWildcard() throws Exception int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexOrder[] orderCapabilities = index.orderCapability( ValueGroup.UNKNOWN ); + IndexOrder[] orderCapabilities = index.orderCapability( ValueCategory.UNKNOWN ); try ( NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor() ) { for ( IndexOrder orderCapability : orderCapabilities ) @@ -746,7 +746,7 @@ public void shouldGetNoIndexForUnknownTokens() } @Test - public void shouldGetVersionAndKeyFromIndexReference() throws Exception + public void shouldGetVersionAndKeyFromIndexReference() { // Given int label = token.nodeLabel( "Node" ); @@ -764,7 +764,7 @@ public void shouldNotFindDeletedNodeInIndexScan() throws Exception int label = token.nodeLabel( "Node" ); int prop = token.propertyKey( "prop" ); CapableIndexReference index = schemaRead.index( label, prop ); - IndexValueCapability wildcardCapability = index.valueCapability( ValueGroup.UNKNOWN ); + IndexValueCapability wildcardCapability = index.valueCapability( ValueCategory.UNKNOWN ); try ( org.neo4j.internal.kernel.api.Transaction tx = session.beginTransaction(); NodeValueIndexCursor node = cursors.allocateNodeValueIndexCursor(); PrimitiveLongSet uniqueIds = Primitive.longSet() ) diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/DefaultCapableIndexReference.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/DefaultCapableIndexReference.java index 72a686d0b6f65..33888dc9ea425 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/DefaultCapableIndexReference.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/store/DefaultCapableIndexReference.java @@ -29,7 +29,7 @@ import org.neo4j.internal.kernel.api.schema.SchemaDescriptor; import org.neo4j.kernel.api.index.IndexProvider; import org.neo4j.kernel.api.schema.index.SchemaIndexDescriptor; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; public class DefaultCapableIndexReference implements CapableIndexReference { @@ -80,15 +80,15 @@ public String providerVersion() } @Override - public IndexOrder[] orderCapability( ValueGroup... valueGroups ) + public IndexOrder[] orderCapability( ValueCategory... valueCategories ) { - return capability.orderCapability( valueGroups ); + return capability.orderCapability( valueCategories ); } @Override - public IndexValueCapability valueCapability( ValueGroup... valueGroups ) + public IndexValueCapability valueCapability( ValueCategory... valueCategories ) { - return capability.valueCapability( valueGroups ); + return capability.valueCapability( valueCategories ); } @Override diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/CapabilityValidator.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/CapabilityValidator.java index baa7b665492b4..451e9d3821333 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/CapabilityValidator.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/CapabilityValidator.java @@ -27,7 +27,7 @@ import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.IndexOrder; import org.neo4j.internal.kernel.api.IndexQuery; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; import static java.lang.String.format; @@ -37,8 +37,8 @@ static void validateQuery( IndexCapability capability, IndexOrder indexOrder, In { if ( indexOrder != IndexOrder.NONE ) { - ValueGroup valueGroup = predicates[0].valueGroup(); - IndexOrder[] orderCapability = capability.orderCapability( valueGroup ); + ValueCategory valueCategory = predicates[0].valueGroup().category(); + IndexOrder[] orderCapability = capability.orderCapability( valueCategory ); if ( !ArrayUtil.contains( orderCapability, indexOrder ) ) { orderCapability = ArrayUtils.add( orderCapability, IndexOrder.NONE ); diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/NumberIndexProvider.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/NumberIndexProvider.java index 752be4adf84c4..76eba60d4c665 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/NumberIndexProvider.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/NumberIndexProvider.java @@ -35,7 +35,7 @@ import org.neo4j.kernel.api.index.IndexPopulator; import org.neo4j.kernel.api.schema.index.SchemaIndexDescriptor; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingConfig; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; /** * Schema index provider for native indexes backed by e.g. {@link GBPTree}. @@ -100,9 +100,9 @@ public IndexCapability getCapability( SchemaIndexDescriptor schemaIndexDescripto private static class NumberIndexCapability implements IndexCapability { @Override - public IndexOrder[] orderCapability( ValueGroup... valueGroups ) + public IndexOrder[] orderCapability( ValueCategory... valueCategories ) { - if ( support( valueGroups ) ) + if ( support( valueCategories ) ) { return ORDER_ASC; } @@ -110,22 +110,22 @@ public IndexOrder[] orderCapability( ValueGroup... valueGroups ) } @Override - public IndexValueCapability valueCapability( ValueGroup... valueGroups ) + public IndexValueCapability valueCapability( ValueCategory... valueCategories ) { - if ( support( valueGroups ) ) + if ( support( valueCategories ) ) { return IndexValueCapability.YES; } - if ( singleWildcard( valueGroups ) ) + if ( singleWildcard( valueCategories ) ) { return IndexValueCapability.PARTIAL; } return IndexValueCapability.NO; } - private boolean support( ValueGroup[] valueGroups ) + private boolean support( ValueCategory[] valueCategories ) { - return valueGroups.length == 1 && valueGroups[0] == ValueGroup.NUMBER; + return valueCategories.length == 1 && valueCategories[0] == ValueCategory.NUMBER; } } } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/SpatialIndexProvider.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/SpatialIndexProvider.java index a10eb5b8a469f..88bf83e91991b 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/SpatialIndexProvider.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/SpatialIndexProvider.java @@ -43,7 +43,7 @@ import org.neo4j.kernel.impl.index.schema.config.SpaceFillingCurveSettingsFactory; import org.neo4j.kernel.impl.index.schema.config.SpatialIndexSettings; import org.neo4j.kernel.impl.storemigration.StoreMigrationParticipant; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; public class SpatialIndexProvider extends IndexProvider { @@ -185,13 +185,13 @@ public StoreMigrationParticipant storeMigrationParticipant( FileSystemAbstractio private static class SpatialIndexCapability implements IndexCapability { @Override - public IndexOrder[] orderCapability( ValueGroup... valueGroups ) + public IndexOrder[] orderCapability( ValueCategory... valueCategories ) { return ORDER_NONE; } @Override - public IndexValueCapability valueCapability( ValueGroup... valueGroups ) + public IndexValueCapability valueCapability( ValueCategory... valueCategories ) { return IndexValueCapability.NO; } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/StringIndexProvider.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/StringIndexProvider.java index 9689f5a8fb43a..01f0eb52a9bb7 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/StringIndexProvider.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/StringIndexProvider.java @@ -35,7 +35,7 @@ import org.neo4j.kernel.api.index.IndexPopulator; import org.neo4j.kernel.api.schema.index.SchemaIndexDescriptor; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingConfig; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; /** * Schema index provider for native indexes backed by e.g. {@link GBPTree}. @@ -91,9 +91,9 @@ public IndexCapability getCapability( SchemaIndexDescriptor schemaIndexDescripto private static class StringIndexCapability implements IndexCapability { @Override - public IndexOrder[] orderCapability( ValueGroup... valueGroups ) + public IndexOrder[] orderCapability( ValueCategory... valueCategories ) { - if ( support( valueGroups ) ) + if ( support( valueCategories ) ) { return ORDER_ASC; } @@ -101,22 +101,22 @@ public IndexOrder[] orderCapability( ValueGroup... valueGroups ) } @Override - public IndexValueCapability valueCapability( ValueGroup... valueGroups ) + public IndexValueCapability valueCapability( ValueCategory... valueCategories ) { - if ( support( valueGroups ) ) + if ( support( valueCategories ) ) { return IndexValueCapability.YES; } - if ( singleWildcard( valueGroups ) ) + if ( singleWildcard( valueCategories ) ) { return IndexValueCapability.PARTIAL; } return IndexValueCapability.NO; } - private boolean support( ValueGroup[] valueGroups ) + private boolean support( ValueCategory[] valueCategories ) { - return valueGroups.length == 1 && valueGroups[0] == ValueGroup.TEXT; + return valueCategories.length == 1 && valueCategories[0] == ValueCategory.TEXT; } } } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/TemporalIndexProvider.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/TemporalIndexProvider.java index 7f499fe051d3a..cdd58ccc3447c 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/TemporalIndexProvider.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/TemporalIndexProvider.java @@ -36,7 +36,7 @@ import org.neo4j.kernel.api.schema.index.SchemaIndexDescriptor; import org.neo4j.kernel.impl.api.index.sampling.IndexSamplingConfig; import org.neo4j.kernel.impl.storemigration.StoreMigrationParticipant; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; public class TemporalIndexProvider extends IndexProvider { @@ -155,9 +155,9 @@ public StoreMigrationParticipant storeMigrationParticipant( FileSystemAbstractio private static class TemporalIndexCapability implements IndexCapability { @Override - public IndexOrder[] orderCapability( ValueGroup... valueGroups ) + public IndexOrder[] orderCapability( ValueCategory... valueCategories ) { - if ( support( valueGroups ) ) + if ( support( valueCategories ) ) { return ORDER_ASC; } @@ -165,28 +165,22 @@ public IndexOrder[] orderCapability( ValueGroup... valueGroups ) } @Override - public IndexValueCapability valueCapability( ValueGroup... valueGroups ) + public IndexValueCapability valueCapability( ValueCategory... valueCategories ) { - if ( support( valueGroups ) ) + if ( support( valueCategories ) ) { return IndexValueCapability.YES; } - if ( singleWildcard( valueGroups ) ) + if ( singleWildcard( valueCategories ) ) { return IndexValueCapability.PARTIAL; } return IndexValueCapability.NO; } - private boolean support( ValueGroup[] valueGroups ) + private boolean support( ValueCategory[] valueCategories ) { - return valueGroups.length == 1 && - (valueGroups[0] == ValueGroup.DATE || - valueGroups[0] == ValueGroup.DURATION || - valueGroups[0] == ValueGroup.LOCAL_DATE_TIME || - valueGroups[0] == ValueGroup.LOCAL_TIME || - valueGroups[0] == ValueGroup.ZONED_DATE_TIME || - valueGroups[0] == ValueGroup.ZONED_TIME ); + return valueCategories.length == 1 && valueCategories[0] == ValueCategory.TEMPORAL; } } } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/fusion/FusionIndexProvider.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/fusion/FusionIndexProvider.java index 2605489253b37..5139f298ff7ae 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/fusion/FusionIndexProvider.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/fusion/FusionIndexProvider.java @@ -38,7 +38,7 @@ import org.neo4j.kernel.impl.storemigration.StoreMigrationParticipant; import org.neo4j.storageengine.api.schema.IndexReader; import org.neo4j.values.storable.Value; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; import static org.neo4j.internal.kernel.api.InternalIndexState.FAILED; import static org.neo4j.internal.kernel.api.InternalIndexState.POPULATING; @@ -181,15 +181,15 @@ public IndexCapability getCapability( SchemaIndexDescriptor schemaIndexDescripto return new UnionIndexCapability( capabilities ) { @Override - public IndexOrder[] orderCapability( ValueGroup... valueGroups ) + public IndexOrder[] orderCapability( ValueCategory... valueCategories ) { // No order capability when combining results from different indexes - if ( valueGroups.length == 1 && valueGroups[0] == ValueGroup.UNKNOWN ) + if ( valueCategories.length == 1 && valueCategories[0] == ValueCategory.UNKNOWN ) { return new IndexOrder[0]; } // Otherwise union of capabilities - return super.orderCapability( valueGroups ); + return super.orderCapability( valueCategories ); } }; } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/UnionIndexCapability.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/UnionIndexCapability.java index fa6e4dfb2dc15..28dff7dcfbe85 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/UnionIndexCapability.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/UnionIndexCapability.java @@ -26,7 +26,7 @@ import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.IndexOrder; import org.neo4j.internal.kernel.api.IndexValueCapability; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; /** * Present the union of multiple index capabilities. @@ -42,23 +42,23 @@ public UnionIndexCapability( IndexCapability... capabilities ) } @Override - public IndexOrder[] orderCapability( ValueGroup... valueGroups ) + public IndexOrder[] orderCapability( ValueCategory... valueCategories ) { Set orderCapability = new HashSet<>(); for ( IndexCapability capability : capabilities ) { - orderCapability.addAll( Arrays.asList( capability.orderCapability( valueGroups ) ) ); + orderCapability.addAll( Arrays.asList( capability.orderCapability( valueCategories ) ) ); } return orderCapability.toArray( new IndexOrder[orderCapability.size()] ); } @Override - public IndexValueCapability valueCapability( ValueGroup... valueGroups ) + public IndexValueCapability valueCapability( ValueCategory... valueCategories ) { IndexValueCapability currentBest = IndexValueCapability.NO; for ( IndexCapability capability : capabilities ) { - IndexValueCapability next = capability.valueCapability( valueGroups ); + IndexValueCapability next = capability.valueCapability( valueCategories ); if ( next.compare( currentBest ) > 0 ) { currentBest = next; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/index/schema/NumberSchemaIndexAccessorTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/index/schema/NumberSchemaIndexAccessorTest.java index dce6b128f8b87..5052f5fb86d37 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/index/schema/NumberSchemaIndexAccessorTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/index/schema/NumberSchemaIndexAccessorTest.java @@ -33,7 +33,7 @@ import org.neo4j.storageengine.api.schema.IndexReader; import org.neo4j.storageengine.api.schema.SimpleNodeValueClient; import org.neo4j.values.storable.Value; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; import org.neo4j.values.storable.Values; import static org.junit.Assert.assertEquals; @@ -61,7 +61,7 @@ public void respectIndexOrder() throws Exception IndexQuery.RangePredicate supportedQuery = IndexQuery.range( 0, Double.NEGATIVE_INFINITY, true, Double.POSITIVE_INFINITY, true ); - for ( IndexOrder supportedOrder : NumberIndexProvider.CAPABILITY.orderCapability( ValueGroup.NUMBER ) ) + for ( IndexOrder supportedOrder : NumberIndexProvider.CAPABILITY.orderCapability( ValueCategory.NUMBER ) ) { if ( supportedOrder == IndexOrder.ASCENDING ) { diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/UnionIndexCapabilityTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/UnionIndexCapabilityTest.java index 6fd10279233e9..5508a70914e0a 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/UnionIndexCapabilityTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/UnionIndexCapabilityTest.java @@ -25,7 +25,7 @@ import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.IndexOrder; import org.neo4j.internal.kernel.api.IndexValueCapability; -import org.neo4j.values.storable.ValueGroup; +import org.neo4j.values.storable.ValueCategory; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -153,19 +153,19 @@ private IndexCapability capabilityWithOrder( IndexOrder[] indexOrder ) private void assertValueCapability( UnionIndexCapability union, IndexValueCapability expectedValueCapability ) { - IndexValueCapability actual = union.valueCapability( someValueGroup() ); + IndexValueCapability actual = union.valueCapability( someValueCategory() ); assertEquals( expectedValueCapability, actual ); } private void assertOrderCapability( UnionIndexCapability union, IndexOrder... expected ) { - IndexOrder[] actual = union.orderCapability( someValueGroup() ); + IndexOrder[] actual = union.orderCapability( someValueCategory() ); assertTrue( "Actual contains all expected", ArrayUtil.containsAll( expected, actual ) ); assertTrue( "Actual contains nothing else than expected", ArrayUtil.containsAll( actual, expected ) ); } - private ValueGroup someValueGroup() + private ValueCategory someValueCategory() { - return ValueGroup.TEXT; + return ValueCategory.TEXT; } }