This is an automated email from the ASF dual-hosted git repository. zhangstar333 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new f413ec422a8 [bug](meta) fix can't deserialize meta from gson about polymorphic function class (#36847) f413ec422a8 is described below commit f413ec422a86a817d4f392cd80a00cc062930fbb Author: zhangstar333 <87313068+zhangstar...@users.noreply.github.com> AuthorDate: Wed Jun 26 18:14:34 2024 +0800 [bug](meta) fix can't deserialize meta from gson about polymorphic function class (#36847) in PR #36552, start to serialize meta by Gson and function class is polymorphic ``` Function.class ---ScalarFunction.class ---AggregateFunction.class ---AliasFunction.class ``` --- .../main/java/org/apache/doris/persist/gson/GsonUtils.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 28e7cbc1a13..90a1c507011 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 @@ -61,6 +61,8 @@ import org.apache.doris.analysis.VirtualSlotRef; import org.apache.doris.backup.BackupJob; import org.apache.doris.backup.RestoreJob; import org.apache.doris.catalog.AggStateType; +import org.apache.doris.catalog.AggregateFunction; +import org.apache.doris.catalog.AliasFunction; import org.apache.doris.catalog.AnyElementType; import org.apache.doris.catalog.AnyStructType; import org.apache.doris.catalog.AnyType; @@ -71,6 +73,7 @@ import org.apache.doris.catalog.DistributionInfo; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.EsResource; import org.apache.doris.catalog.EsTable; +import org.apache.doris.catalog.Function; import org.apache.doris.catalog.FunctionGenTable; import org.apache.doris.catalog.HMSResource; import org.apache.doris.catalog.HashDistributionInfo; @@ -99,6 +102,7 @@ import org.apache.doris.catalog.RangePartitionItem; import org.apache.doris.catalog.Replica; import org.apache.doris.catalog.Resource; import org.apache.doris.catalog.S3Resource; +import org.apache.doris.catalog.ScalarFunction; import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.SchemaTable; import org.apache.doris.catalog.SinglePartitionInfo; @@ -486,6 +490,13 @@ public class GsonUtils { .registerSubtype(FrontendHbResponse.class, FrontendHbResponse.class.getSimpleName()) .registerSubtype(BrokerHbResponse.class, BrokerHbResponse.class.getSimpleName()); + // runtime adapter for class "Function" + private static RuntimeTypeAdapterFactory<Function> functionAdapterFactory + = RuntimeTypeAdapterFactory.of(Function.class, "clazz") + .registerSubtype(ScalarFunction.class, ScalarFunction.class.getSimpleName()) + .registerSubtype(AggregateFunction.class, AggregateFunction.class.getSimpleName()) + .registerSubtype(AliasFunction.class, AliasFunction.class.getSimpleName()); + // runtime adapter for class "CloudReplica". private static RuntimeTypeAdapterFactory<Replica> replicaTypeAdapterFactory = RuntimeTypeAdapterFactory .of(Replica.class, "clazz") @@ -585,6 +596,7 @@ public class GsonUtils { .registerTypeAdapterFactory(partitionTypeAdapterFactory) .registerTypeAdapterFactory(partitionInfoTypeAdapterFactory) .registerTypeAdapterFactory(hbResponseTypeAdapterFactory) + .registerTypeAdapterFactory(functionAdapterFactory) .registerTypeAdapterFactory(rdsTypeAdapterFactory) .registerTypeAdapterFactory(jobExecutorRuntimeTypeAdapterFactory) .registerTypeAdapterFactory(mtmvSnapshotTypeAdapterFactory) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org