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

eldenmoon 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 22ad0abbbb8 [fix](variant) when we create table now use nereids 
createOlapTable func instead of old planner, so we should add check session var 
in nereids too (#54021)
22ad0abbbb8 is described below

commit 22ad0abbbb84f8643f04ae557189adec9578641e
Author: amory <[email protected]>
AuthorDate: Wed Jul 30 10:08:06 2025 +0800

    [fix](variant) when we create table now use nereids createOlapTable func 
instead of old planner, so we should add check session var in nereids too 
(#54021)
    
    when we create table now use nereids createOlapTable func instead of old
    planner, so we should add check session var in nereids too.
---
 .../apache/doris/datasource/InternalCatalog.java   | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
index 76c5f771105..575024e39c8 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
@@ -2597,10 +2597,19 @@ public class InternalCatalog implements 
CatalogIf<Database> {
         boolean variantEnableFlattenNested  = false;
         try {
             variantEnableFlattenNested = 
PropertyAnalyzer.analyzeVariantFlattenNested(properties);
+            // only if session variable: disable_variant_flatten_nested = 
false and
+            // table property: variant_enable_flatten_nested = true
+            // we can enable variant flatten nested otherwise throw error
+            if (ctx != null && 
!ctx.getSessionVariable().getDisableVariantFlattenNested()
+                    && variantEnableFlattenNested) {
+                
olapTable.setVariantEnableFlattenNested(variantEnableFlattenNested);
+            } else if (variantEnableFlattenNested) {
+                throw new DdlException("If you want to enable variant flatten 
nested, "
+                        + "please set session variable: 
disable_variant_flatten_nested = false");
+            }
         } catch (AnalysisException e) {
             throw new DdlException(e.getMessage());
         }
-        olapTable.setVariantEnableFlattenNested(variantEnableFlattenNested);
 
         // get storage format
         TStorageFormat storageFormat = TStorageFormat.V2; // default is 
segment v2
@@ -3473,16 +3482,19 @@ public class InternalCatalog implements 
CatalogIf<Database> {
         boolean variantEnableFlattenNested  = false;
         try {
             variantEnableFlattenNested = 
PropertyAnalyzer.analyzeVariantFlattenNested(properties);
-            // session variable: disable_variant_flatten_nested = true
-            // with table property: variant_enable_flatten_nested = true we 
should throw error
-            if (ctx.getSessionVariable().getDisableVariantFlattenNested() && 
variantEnableFlattenNested) {
+            // only if session variable: disable_variant_flatten_nested = 
false and
+            // table property: variant_enable_flatten_nested = true
+            // we can enable variant flatten nested otherwise throw error
+            if (ctx != null && 
!ctx.getSessionVariable().getDisableVariantFlattenNested()
+                    && variantEnableFlattenNested) {
+                
olapTable.setVariantEnableFlattenNested(variantEnableFlattenNested);
+            } else if (variantEnableFlattenNested) {
                 throw new DdlException("If you want to enable variant flatten 
nested, "
                         + "please set session variable: 
disable_variant_flatten_nested = false");
             }
         } catch (AnalysisException e) {
             throw new DdlException(e.getMessage());
         }
-        olapTable.setVariantEnableFlattenNested(variantEnableFlattenNested);
 
         // get storage format
         TStorageFormat storageFormat = TStorageFormat.V2; // default is 
segment v2


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to