This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.1 by this push:
new a7af9f66ca1 branch-4.1: [fix](Expr) add SerDe for ColumnRefExpr and
Expr SerDe unit test #62900 (#63127)
a7af9f66ca1 is described below
commit a7af9f66ca1b9f4f84144cd2e7b4c2bf1b2089a3
Author: morrySnow <[email protected]>
AuthorDate: Wed May 20 17:23:21 2026 +0800
branch-4.1: [fix](Expr) add SerDe for ColumnRefExpr and Expr SerDe unit
test #62900 (#63127)
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 dcdce47698b..502df58765f 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;
@@ -345,7 +347,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]