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 32955bbce79 IGNITE-26440 Use MessageSerializer for GridCacheSqlQuery 
(#12348)
32955bbce79 is described below

commit 32955bbce79f21bd2fed21efecd357c75e58c047
Author: Dmitry Werner <grimekil...@gmail.com>
AuthorDate: Wed Sep 17 13:12:14 2025 +0500

    IGNITE-26440 Use MessageSerializer for GridCacheSqlQuery (#12348)
---
 .../communication/GridIoMessageFactory.java        |   3 +-
 .../processors/cache/query/GridCacheSqlQuery.java  | 131 ++-------------------
 .../query/h2/twostep/GridReduceQueryExecutor.java  |   6 +-
 3 files changed, 19 insertions(+), 121 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index b0f1f0e62ad..f48f7c3a599 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -30,6 +30,7 @@ import 
org.apache.ignite.internal.codegen.CacheGroupAffinityMessageSerializer;
 import org.apache.ignite.internal.codegen.CacheVersionedValueSerializer;
 import 
org.apache.ignite.internal.codegen.GenerateEncryptionKeyRequestSerializer;
 import org.apache.ignite.internal.codegen.GridCacheEntryInfoSerializer;
+import org.apache.ignite.internal.codegen.GridCacheSqlQuerySerializer;
 import org.apache.ignite.internal.codegen.GridCacheVersionExSerializer;
 import org.apache.ignite.internal.codegen.GridCacheVersionSerializer;
 import org.apache.ignite.internal.codegen.GridCheckpointRequestSerializer;
@@ -322,7 +323,7 @@ public class GridIoMessageFactory implements 
MessageFactoryProvider {
         factory.register((short)107, GridQueryFailResponse::new, new 
GridQueryFailResponseSerializer());
         factory.register((short)108, GridQueryNextPageRequest::new, new 
GridQueryNextPageRequestSerializer());
         factory.register((short)109, GridQueryNextPageResponse::new, new 
GridQueryNextPageResponseSerializer());
-        factory.register((short)112, GridCacheSqlQuery::new);
+        factory.register((short)112, GridCacheSqlQuery::new, new 
GridCacheSqlQuerySerializer());
         // 113 - BinaryObjectImpl
         factory.register((short)114, GridDhtPartitionSupplyMessage::new);
         factory.register((short)115, UUIDCollectionMessage::new);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
index e81e1d62117..bb42eafabc0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
@@ -17,73 +17,60 @@
 
 package org.apache.ignite.internal.processors.cache.query;
 
-import java.io.Serializable;
-import java.nio.ByteBuffer;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.UUID;
-import org.apache.ignite.internal.GridDirectTransient;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.A;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
 
 /**
  * Query.
  */
-public class GridCacheSqlQuery implements Message, Serializable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
+public class GridCacheSqlQuery implements Message {
     /** */
     public static final Object[] EMPTY_PARAMS = {};
 
     /** */
+    @Order(value = 0, method = "query")
     @GridToStringInclude(sensitive = true)
     private String qry;
 
     /** */
+    @Order(value = 1, method = "parameterIndexes")
     @GridToStringInclude
     private int[] paramIdxs;
 
     /** */
     @GridToStringInclude
-    @GridDirectTransient
     private LinkedHashMap<String, ?> cols;
 
-    /** Field kept for backward compatibility. */
-    private String alias;
-
     /** Sort columns. */
     @GridToStringInclude
-    @GridDirectTransient
-    private transient List<?> sort;
+    private List<?> sort;
 
     /** If we have partitioned tables in this query. */
     @GridToStringInclude
-    @GridDirectTransient
-    private transient boolean partitioned;
+    private boolean partitioned;
 
     /** Single node to execute the query on. */
+    @Order(2)
     private UUID node;
 
     /** Derived partition info. */
     @GridToStringInclude
-    @GridDirectTransient
-    private transient Object derivedPartitions;
+    private Object derivedPartitions;
 
     /** Flag indicating that query contains sub-queries. */
     @GridToStringInclude
-    @GridDirectTransient
-    private transient boolean hasSubQries;
+    private boolean hasSubQries;
 
     /** Flag indicating that the query contains an OUTER JOIN from REPLICATED 
to PARTITIONED. */
     @GridToStringInclude
-    @GridDirectTransient
-    private transient boolean treatPartitionedAsReplicated;
+    private boolean treatPartitionedAsReplicated;
 
     /**
      * Empty constructor.
@@ -127,12 +114,9 @@ public class GridCacheSqlQuery implements Message, 
Serializable {
 
     /**
      * @param qry Query.
-     * @return {@code this}.
      */
-    public GridCacheSqlQuery query(String qry) {
+    public void query(String qry) {
         this.qry = qry;
-
-        return this;
     }
 
     /**
@@ -144,12 +128,9 @@ public class GridCacheSqlQuery implements Message, 
Serializable {
 
     /**
      * @param paramIdxs Parameter indexes.
-     * @return {@code this}.
      */
-    public GridCacheSqlQuery parameterIndexes(int[] paramIdxs) {
+    public void parameterIndexes(int[] paramIdxs) {
         this.paramIdxs = paramIdxs;
-
-        return this;
     }
 
     /** {@inheritDoc} */
@@ -157,89 +138,6 @@ public class GridCacheSqlQuery implements Message, 
Serializable {
         return S.toString(GridCacheSqlQuery.class, this);
     }
 
-    /** {@inheritDoc} */
-    @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
-        writer.setBuffer(buf);
-
-        if (!writer.isHeaderWritten()) {
-            if (!writer.writeHeader(directType()))
-                return false;
-
-            writer.onHeaderWritten();
-        }
-
-        switch (writer.state()) {
-            case 0:
-                if (!writer.writeString(alias))
-                    return false;
-
-                writer.incrementState();
-
-            case 1:
-                if (!writer.writeUuid(node))
-                    return false;
-
-                writer.incrementState();
-
-            case 2:
-                if (!writer.writeIntArray(paramIdxs))
-                    return false;
-
-                writer.incrementState();
-
-            case 3:
-                if (!writer.writeString(qry))
-                    return false;
-
-                writer.incrementState();
-
-        }
-
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
-        reader.setBuffer(buf);
-
-        switch (reader.state()) {
-            case 0:
-                alias = reader.readString();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 1:
-                node = reader.readUuid();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 2:
-                paramIdxs = reader.readIntArray();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 3:
-                qry = reader.readString();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-        }
-
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override public short directType() {
         return 112;
@@ -299,12 +197,9 @@ public class GridCacheSqlQuery implements Message, 
Serializable {
 
     /**
      * @param node Single node to execute the query on or {@code null} if need 
to execute on all the nodes.
-     * @return {@code this}.
      */
-    public GridCacheSqlQuery node(UUID node) {
+    public void node(UUID node) {
         this.node = node;
-
-        return this;
     }
 
     /**
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
index 28c0fcf49ab..47040b1767c 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
@@ -745,8 +745,10 @@ public class GridReduceQueryExecutor {
 
                     mapQueries.add(copy);
 
-                    if (qry.explain())
-                        copy.query("EXPLAIN " + 
mapQry.query()).parameterIndexes(mapQry.parameterIndexes());
+                    if (qry.explain()) {
+                        copy.query("EXPLAIN " + mapQry.query());
+                        copy.parameterIndexes(mapQry.parameterIndexes());
+                    }
                 }
             }
         }

Reply via email to