This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.0 by this push:
new 810a3361d3b branch-4.0: [fix](Expr) add SerDe for ColumnRefExpr and
Expr SerDe unit test #62900 (#63126)
810a3361d3b is described below
commit 810a3361d3b91454bcadc82061410b4fd0d2743f
Author: morrySnow <[email protected]>
AuthorDate: Thu May 21 14:45:10 2026 +0800
branch-4.0: [fix](Expr) add SerDe for ColumnRefExpr and Expr SerDe unit
test #62900 (#63126)
picked from #62900
---
.../src/main/java/org/apache/doris/analysis/ColumnRefExpr.java | 5 +++++
.../src/main/java/org/apache/doris/persist/gson/GsonUtils.java | 7 ++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnRefExpr.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnRefExpr.java
index 59cf7e4dee0..9a2443fddaa 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnRefExpr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnRefExpr.java
@@ -24,11 +24,16 @@ import org.apache.doris.thrift.TColumnRef;
import org.apache.doris.thrift.TExprNode;
import org.apache.doris.thrift.TExprNodeType;
+import com.google.gson.annotations.SerializedName;
+
import java.util.Optional;
public class ColumnRefExpr extends Expr {
+ @SerializedName("cn")
private String columnName;
+ @SerializedName("ci")
private int columnId;
+ @SerializedName("in")
private boolean isNullable;
public ColumnRefExpr() {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/persist/gson/GsonUtils.java
b/fe/fe-core/src/main/java/org/apache/doris/persist/gson/GsonUtils.java
index 6c495bc78c1..a0aa81e9949 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/persist/gson/GsonUtils.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/persist/gson/GsonUtils.java
@@ -29,6 +29,7 @@ import org.apache.doris.analysis.BinaryPredicate;
import org.apache.doris.analysis.BoolLiteral;
import org.apache.doris.analysis.CaseExpr;
import org.apache.doris.analysis.CastExpr;
+import org.apache.doris.analysis.ColumnRefExpr;
import org.apache.doris.analysis.CompoundPredicate;
import org.apache.doris.analysis.DateLiteral;
import org.apache.doris.analysis.DecimalLiteral;
@@ -58,6 +59,7 @@ import org.apache.doris.analysis.SlotRef;
import org.apache.doris.analysis.StringLiteral;
import org.apache.doris.analysis.StructLiteral;
import org.apache.doris.analysis.TimestampArithmeticExpr;
+import org.apache.doris.analysis.VariableExpr;
import org.apache.doris.analysis.VirtualSlotRef;
import org.apache.doris.backup.BackupJob;
import org.apache.doris.backup.RestoreJob;
@@ -342,7 +344,10 @@ public class GsonUtils {
.registerSubtype(ArithmeticExpr.class,
ArithmeticExpr.class.getSimpleName())
.registerSubtype(SlotRef.class, SlotRef.class.getSimpleName())
.registerSubtype(VirtualSlotRef.class,
VirtualSlotRef.class.getSimpleName())
- .registerSubtype(InformationFunction.class,
InformationFunction.class.getSimpleName());
+ .registerSubtype(InformationFunction.class,
InformationFunction.class.getSimpleName())
+ .registerSubtype(ColumnRefExpr.class,
ColumnRefExpr.class.getSimpleName())
+ .registerSubtype(VariableExpr.class,
VariableExpr.class.getSimpleName());
+
// runtime adapter for class "DistributionInfo"
private static RuntimeTypeAdapterFactory<DistributionInfo>
distributionInfoTypeAdapterFactory
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]