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