[ASTERIXDB-3536][COMP] Pass heterogeneous index flag when validating fields types
- user model changes: no
- storage format changes: no
- interface changes: no
Ext-ref: MB-27845
Change-Id: Icab29b7c2c530f7e2a0ac01ca923d1cf92bed008
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19492
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
(cherry picked from commit 249e0baad2e9c9a0fb94095e8f090541f72d74da)
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19563
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 ff29efd..297576d 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
@@ -1561,7 +1561,8 @@
throw new CompilationException(ErrorCode.COMPILATION_ERROR, indexedElement.getSourceLocation(),
"Cannot specify exclude/include unknown for untyped keys in the index definition.");
}
- validateIndexFieldType(indexType, fieldTypePrime, projectPath, indexedElement.getSourceLocation());
+ validateIndexFieldType(indexType, fieldTypePrime, projectPath, indexedElement.getSourceLocation(),
+ isHeterogeneousIndex);
IAType fieldType =
KeyFieldTypeUtil.makeUnknownableType(fieldTypePrime, fieldTypeNullable, fieldTypeMissable);
@@ -1987,7 +1988,7 @@
}
protected void validateIndexFieldType(IndexType indexType, IAType fieldType, List<String> displayFieldName,
- SourceLocation sourceLoc) throws AlgebricksException {
+ SourceLocation sourceLoc, boolean isHeterogeneousIndex) throws AlgebricksException {
ValidateUtil.validateIndexFieldType(indexType, fieldType, displayFieldName, sourceLoc);
}