This is an automated email from the ASF dual-hosted git repository.

shishkovilja pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 298a2552630 IGNITE-28353 Replace idxNames and idxDefs with a map in 
IndexQueryResultMeta (#12950)
298a2552630 is described below

commit 298a25526306c9b885ab874b3e6b173abc12a240
Author: Dmitry Werner <[email protected]>
AuthorDate: Mon Mar 30 14:48:38 2026 +0500

    IGNITE-28353 Replace idxNames and idxDefs with a map in 
IndexQueryResultMeta (#12950)
---
 .../cache/query/index/IndexQueryResultMeta.java    | 41 +++++-----------------
 1 file changed, 9 insertions(+), 32 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/cache/query/index/IndexQueryResultMeta.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/cache/query/index/IndexQueryResultMeta.java
index 24982bb26de..5d6fb677b48 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/cache/query/index/IndexQueryResultMeta.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/cache/query/index/IndexQueryResultMeta.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.internal.cache.query.index;
 
-import java.util.Arrays;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.Map;
@@ -26,10 +25,8 @@ import 
org.apache.ignite.internal.cache.query.index.sorted.IndexKeyDefinition;
 import 
org.apache.ignite.internal.cache.query.index.sorted.IndexKeyTypeSettings;
 import org.apache.ignite.internal.cache.query.index.sorted.MetaPageInfo;
 import 
org.apache.ignite.internal.cache.query.index.sorted.SortedIndexDefinition;
-import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.plugin.extensions.communication.Message;
-import org.jetbrains.annotations.Nullable;
 
 /**
  * Metadata for IndexQuery response. This information is required to be sent 
to a node that initiated a query.
@@ -40,13 +37,9 @@ public class IndexQueryResultMeta implements Message {
     @Order(0)
     IndexKeyTypeSettings keyTypeSettings;
 
-    /** Index names order holder. Should be serialized together with  the 
definitions. */
+    /** Index key definitions. */
     @Order(1)
-    @Nullable String[] idxNames;
-
-    /** Index definitions serialization holder. Should be serialized together 
with the names. */
-    @Order(2)
-    @Nullable IndexKeyDefinition[] idxDefs;
+    LinkedHashMap<String, IndexKeyDefinition> keyDefs;
 
     /** */
     public IndexQueryResultMeta() {
@@ -57,18 +50,14 @@ public class IndexQueryResultMeta implements Message {
     public IndexQueryResultMeta(SortedIndexDefinition def, int critSize) {
         keyTypeSettings = def.keyTypeSettings();
 
-        Iterator<Map.Entry<String, IndexKeyDefinition>> keys = 
def.indexKeyDefinitions().entrySet().iterator();
+        keyDefs = U.newLinkedHashMap(critSize);
 
-        if (critSize > 0) {
-            idxNames = new String[critSize];
-            idxDefs = new IndexKeyDefinition[critSize];
+        Iterator<Map.Entry<String, IndexKeyDefinition>> keys = 
def.indexKeyDefinitions().entrySet().iterator();
 
-            for (int i = 0; i < critSize; i++) {
-                Map.Entry<String, IndexKeyDefinition> key = keys.next();
+        for (int i = 0; i < critSize; i++) {
+            Map.Entry<String, IndexKeyDefinition> key = keys.next();
 
-                idxNames[i] = key.getKey();
-                idxDefs[i] = key.getValue();
-            }
+            keyDefs.put(key.getKey(), key.getValue());
         }
     }
 
@@ -77,20 +66,8 @@ public class IndexQueryResultMeta implements Message {
         return keyTypeSettings;
     }
 
-    /** @return Map of index definitions with proper order. */
+    /** @return Map of index key definitions. */
     public LinkedHashMap<String, IndexKeyDefinition> keyDefinitions() {
-        if (F.isEmpty(idxNames) && F.isEmpty(idxDefs))
-            return U.newLinkedHashMap(0);
-
-        assert idxNames.length == idxDefs.length : "Number of index names and 
index definitions must be equal " +
-            "[idxNames=" + Arrays.toString(idxNames) + ", idxDefs=" + 
Arrays.toString(idxDefs) + "]";
-
-        LinkedHashMap<String, IndexKeyDefinition> idxDefsMap = 
U.newLinkedHashMap(idxNames.length);
-
-        for (int i = 0; i < idxNames.length; i++)
-            idxDefsMap.put(idxNames[i], idxDefs[i]);
-
-        return idxDefsMap;
+        return keyDefs;
     }
-
 }

Reply via email to