From 2ffb845c10478226e3504eb962e915cee585a329 Mon Sep 17 00:00:00 2001 From: Sandesh Kumar Date: Thu, 22 Jan 2026 22:53:04 +0530 Subject: [PATCH] filter unflattened fields / object type from schema Signed-off-by: Sandesh Kumar --- .../opensearch/sql/calcite/utils/OpenSearchTypeFactory.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/src/main/java/org/opensearch/sql/calcite/utils/OpenSearchTypeFactory.java b/core/src/main/java/org/opensearch/sql/calcite/utils/OpenSearchTypeFactory.java index cd934ac3ba9..5fa788f0984 100644 --- a/core/src/main/java/org/opensearch/sql/calcite/utils/OpenSearchTypeFactory.java +++ b/core/src/main/java/org/opensearch/sql/calcite/utils/OpenSearchTypeFactory.java @@ -323,6 +323,11 @@ public static RelDataType convertSchema(Table table) { //reason: We don't need metadata fields in the substrait plan // fieldTypes.putAll(table.getReservedFieldTypes()); for (Entry entry : fieldTypes.entrySet()) { + // Skip STRUCT type fields (object fields) as they cannot be queried directly + // Only their nested fields (which are already flattened) should be in the schema + if (entry.getValue() == ExprCoreType.STRUCT) { + continue; + } fieldNameList.add(entry.getKey()); typeList.add(OpenSearchTypeFactory.convertExprTypeToRelDataType(entry.getValue())); }