>From Hongyu Shi <[email protected]>:
Hongyu Shi has uploaded this change for review. (
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21704?usp=email )
Change subject: [ASTERIXDB-3817][COMP] Drop excludeUnknownKey from
VectorIndexDetails
......................................................................
[ASTERIXDB-3817][COMP] Drop excludeUnknownKey from VectorIndexDetails
- user model changes: no
- storage format changes: no
- interface changes: yes
Details:
Now that the mandatory EXCLUDE UNKNOWN KEY clause is gone, the field it
fed is deprecated. It was never written to the index record for a vector
index so removing it is a clean deletion rather than a format change on
index metadata.
Ext-ref: MB-73669
Change-Id: I055099e76af12494c11f4b2c55e98b3477ea5647
---
M
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Index.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java
M
asterixdb/asterix-metadata/src/test/java/org/apache/asterix/metadata/entitytupletranslators/VectorIndexParametersTupleTranslatorTest.java
4 files changed, 4 insertions(+), 19 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/04/21704/1
diff --git
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
index a7a42b5..a55903b 100644
---
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
+++
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
@@ -316,7 +316,6 @@
import
org.apache.hyracks.storage.am.lsm.common.dataflow.LSMTreeIndexInsertUpdateDeleteOperatorDescriptor;
import
org.apache.hyracks.storage.am.lsm.invertedindex.fulltext.TokenizerCategory;
import org.apache.hyracks.util.LogRedactionUtil;
-import org.apache.hyracks.util.OptionalBoolean;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -1912,11 +1911,8 @@
}
}
- // excludeUnknownKey is a BTree/Array-index DDL option that
does not apply to a vector index;
- // the vector CREATE INDEX path never sets it, so it is always
empty here.
indexDetails = new Index.VectorIndexDetails(keyFieldNames,
includeFieldNames,
- includeFieldSourceIndicators, includeFieldTypes,
false, OptionalBoolean.empty(),
- stmtCreateIndex.getVectorParameters());
+ includeFieldSourceIndicators, includeFieldTypes,
false, stmtCreateIndex.getVectorParameters());
Index newIndex = new Index(databaseName, dataverseName,
datasetName, indexName, indexType, indexDetails,
stmtCreateIndex.isEnforced(), false,
MetadataUtil.PENDING_ADD_OP, creator);
diff --git
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Index.java
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Index.java
index a5aacb7..b3992c0 100644
---
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Index.java
+++
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Index.java
@@ -464,17 +464,13 @@
private final boolean overrideKeyFieldTypes;
- private final Boolean excludeUnknownKey;
-
private final VectorIndexParameters vectorParameters;
public VectorIndexDetails(List<String> keyFieldNames,
List<List<String>> includeFieldNames,
List<Integer> includeFieldSourceIndicators, List<IAType>
includeFieldTypes,
- boolean overrideKeyFieldTypes, OptionalBoolean
excludeUnknownKey,
- VectorIndexParameters vectorParameters) {
+ boolean overrideKeyFieldTypes, VectorIndexParameters
vectorParameters) {
this.keyFieldNames = keyFieldNames;
this.overrideKeyFieldTypes = overrideKeyFieldTypes;
- this.excludeUnknownKey = excludeUnknownKey.isEmpty() ? null :
excludeUnknownKey.get();
this.includeFieldNames = includeFieldNames;
this.includeFieldTypes = includeFieldTypes;
this.includeFieldSourceIndicators = includeFieldSourceIndicators;
@@ -501,10 +497,6 @@
return includeFieldTypes;
}
- public OptionalBoolean getExcludeUnknownKey() {
- return OptionalBoolean.ofNullable(excludeUnknownKey);
- }
-
/** The index's validated {@code WITH} parameters; never {@code null}.
*/
public VectorIndexParameters getVectorParameters() {
return vectorParameters;
diff --git
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java
index c0ecb4e..4112b69 100644
---
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java
+++
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java
@@ -469,7 +469,6 @@
searchElements.stream().map(Pair::getSecond).map(List::getFirst).collect(Collectors.toList());
keyFieldTypes =
searchKeyType.stream().map(List::getFirst).collect(Collectors.toList());
- excludeUnknownKey = OptionalBoolean.empty();
castDefaultNull = OptionalBoolean.empty();
VectorIndexParameters vectorParameters =
VectorIndexParameters.readFields(indexRecord);
@@ -500,8 +499,7 @@
}
indexDetails = new
Index.VectorIndexDetails(keyFieldNames.getFirst(), includeFieldNames,
- includeFieldSourceIndicators, includeFieldTypes,
isOverridingKeyTypes, excludeUnknownKey,
- vectorParameters);
+ includeFieldSourceIndicators, includeFieldTypes,
isOverridingKeyTypes, vectorParameters);
break;
case TEXT:
keyFieldNames =
diff --git
a/asterixdb/asterix-metadata/src/test/java/org/apache/asterix/metadata/entitytupletranslators/VectorIndexParametersTupleTranslatorTest.java
b/asterixdb/asterix-metadata/src/test/java/org/apache/asterix/metadata/entitytupletranslators/VectorIndexParametersTupleTranslatorTest.java
index 78ffa7f..98da021 100644
---
a/asterixdb/asterix-metadata/src/test/java/org/apache/asterix/metadata/entitytupletranslators/VectorIndexParametersTupleTranslatorTest.java
+++
b/asterixdb/asterix-metadata/src/test/java/org/apache/asterix/metadata/entitytupletranslators/VectorIndexParametersTupleTranslatorTest.java
@@ -56,7 +56,6 @@
import org.apache.asterix.runtime.compression.CompressionManager;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference;
-import org.apache.hyracks.util.OptionalBoolean;
import org.apache.hyracks.util.annotations.AiProvenance;
import org.junit.Assert;
import org.junit.Test;
@@ -195,7 +194,7 @@
private static Index.VectorIndexDetails
vectorIndexDetails(VectorIndexParameters parameters) {
return new
Index.VectorIndexDetails(Collections.singletonList("embedding"),
Collections.emptyList(),
- Collections.emptyList(), Collections.emptyList(), false,
OptionalBoolean.empty(), parameters);
+ Collections.emptyList(), Collections.emptyList(), false,
parameters);
}
private static VectorIndexParameters roundTrip(VectorIndexParameters
parameters)
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21704?usp=email
To unsubscribe, or for help writing mail filters, visit
https://asterix-gerrit.ics.uci.edu/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I055099e76af12494c11f4b2c55e98b3477ea5647
Gerrit-Change-Number: 21704
Gerrit-PatchSet: 1
Gerrit-Owner: Hongyu Shi <[email protected]>