[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);
     }