This is an automated email from the ASF dual-hosted git repository.

tkalkirill pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 02a5423610 IGNITE-19630 Convert default value from Column to 
TableColumnDescriptor (#2136)
02a5423610 is described below

commit 02a54236100bd476a15b8f6cb0255c50a3af671a
Author: Roman Puchkovskiy <[email protected]>
AuthorDate: Fri Jun 2 14:49:17 2023 +0400

    IGNITE-19630 Convert default value from Column to TableColumnDescriptor 
(#2136)
---
 .../table/distributed/schema/NonHistoricSchemas.java        | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git 
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/schema/NonHistoricSchemas.java
 
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/schema/NonHistoricSchemas.java
index 49b622b8a1..47ebc362fd 100644
--- 
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/schema/NonHistoricSchemas.java
+++ 
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/schema/NonHistoricSchemas.java
@@ -26,6 +26,8 @@ import 
org.apache.ignite.internal.catalog.commands.DefaultValue;
 import org.apache.ignite.internal.catalog.descriptors.TableColumnDescriptor;
 import org.apache.ignite.internal.hlc.HybridTimestamp;
 import org.apache.ignite.internal.schema.Column;
+import org.apache.ignite.internal.schema.DefaultValueProvider;
+import 
org.apache.ignite.internal.schema.DefaultValueProvider.FunctionalValueProvider;
 import org.apache.ignite.internal.schema.SchemaDescriptor;
 import org.apache.ignite.internal.schema.SchemaManager;
 import org.apache.ignite.internal.schema.SchemaRegistry;
@@ -104,7 +106,16 @@ public class NonHistoricSchemas implements Schemas {
                 column.name(),
                 column.type().spec().asColumnType(),
                 column.nullable(),
-                DefaultValue.constant(column.defaultValue())
+                defaultValue(column.defaultValueProvider())
         );
     }
+
+    private static DefaultValue defaultValue(DefaultValueProvider 
defaultValueProvider) {
+        if (defaultValueProvider instanceof FunctionalValueProvider) {
+            FunctionalValueProvider functionalProvider = 
(FunctionalValueProvider) defaultValueProvider;
+            return DefaultValue.functionCall(functionalProvider.name());
+        } else {
+            return DefaultValue.constant(defaultValueProvider.get());
+        }
+    }
 }

Reply via email to