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

morrysnow pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-3.1 by this push:
     new 8031a86464b branch-3.1: [fix](variant) change session var for 
disable_variant_flatten_nested to enable_variant_flatten_nested #54413 (#54438)
8031a86464b is described below

commit 8031a86464b3e1c8cfa518ef3346bf42eb616d10
Author: amory <[email protected]>
AuthorDate: Sun Aug 10 23:37:51 2025 +0800

    branch-3.1: [fix](variant) change session var for 
disable_variant_flatten_nested to enable_variant_flatten_nested #54413 (#54438)
    
    picked from #54413
---
 .../org/apache/doris/datasource/InternalCatalog.java   |  9 ++++++---
 .../main/java/org/apache/doris/qe/SessionVariable.java | 18 +++++++++---------
 regression-test/suites/variant_p0/delete_update.groovy |  4 ++--
 regression-test/suites/variant_p0/nested.groovy        |  2 +-
 regression-test/suites/variant_p0/nested2.groovy       |  2 +-
 .../suites/variant_p0/predefine/load.groovy            |  2 +-
 .../test_double_write_when_schema_change.groovy        |  2 +-
 .../suites/variant_p1/predefine/load.groovy            |  1 +
 8 files changed, 22 insertions(+), 18 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 3d37142b8c4..add9667de5e 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
@@ -2666,15 +2666,18 @@ public class InternalCatalog implements 
CatalogIf<Database> {
         boolean variantEnableFlattenNested  = false;
         try {
             variantEnableFlattenNested = 
PropertyAnalyzer.analyzeVariantFlattenNested(properties);
-            // only if session variable: disable_variant_flatten_nested = 
false and
+            // only if session variable: enable_variant_flatten_nested = true 
and
             // table property: variant_enable_flatten_nested = true
             // we can enable variant flatten nested otherwise throw error
-            if (ctx != null && 
!ctx.getSessionVariable().getDisableVariantFlattenNested()
+            if (ctx != null && 
ctx.getSessionVariable().getEnableVariantFlattenNested()
                     && 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");
+                        + "please set session variable: 
enable_variant_flatten_nested = true");
+            } else {
+                // keep table property: variant_enable_flatten_nested = false
+                olapTable.setVariantEnableFlattenNested(false);
             }
         } catch (AnalysisException e) {
             throw new DdlException(e.getMessage());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
index 4f739717037..340faed0e7c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
@@ -693,9 +693,9 @@ public class SessionVariable implements Serializable, 
Writable {
 
     public static final String DISABLE_INVERTED_INDEX_V1_FOR_VARIANT = 
"disable_inverted_index_v1_for_variant";
 
-    // disable variant flatten nested as session variable, default is true,
-    // which means disable variant flatten nested when create table
-    public static final String DISABLE_VARIANT_FLATTEN_NESTED = 
"disable_variant_flatten_nested";
+    // enable variant flatten nested as session variable, default is false,
+    // which means do not flatten nested when create table
+    public static final String ENABLE_VARIANT_FLATTEN_NESTED = 
"enable_variant_flatten_nested";
 
     // CLOUD_VARIABLES_BEGIN
     public static final String CLOUD_CLUSTER = "cloud_cluster";
@@ -1311,8 +1311,8 @@ public class SessionVariable implements Serializable, 
Writable {
     @VariableMgr.VarAttr(name = DISABLE_INVERTED_INDEX_V1_FOR_VARIANT, 
needForward = true)
     private boolean disableInvertedIndexV1ForVaraint = true;
 
-    @VariableMgr.VarAttr(name = DISABLE_VARIANT_FLATTEN_NESTED, needForward = 
true)
-    private boolean disableVariantFlattenNested = true;
+    @VariableMgr.VarAttr(name = ENABLE_VARIANT_FLATTEN_NESTED, needForward = 
true)
+    private boolean enableVariantFlattenNested = false;
 
     public int getBeNumberForTest() {
         return beNumberForTest;
@@ -4941,12 +4941,12 @@ public class SessionVariable implements Serializable, 
Writable {
         return disableInvertedIndexV1ForVaraint;
     }
 
-    public void setDisableVariantFlattenNested(boolean 
disableVariantFlattenNested) {
-        this.disableVariantFlattenNested = disableVariantFlattenNested;
+    public void setEnableVariantFlattenNested(boolean 
enableVariantFlattenNested) {
+        this.enableVariantFlattenNested = enableVariantFlattenNested;
     }
 
-    public boolean getDisableVariantFlattenNested() {
-        return disableVariantFlattenNested;
+    public boolean getEnableVariantFlattenNested() {
+        return enableVariantFlattenNested;
     }
 
     public void checkSqlConvertorFeatures(String features) {
diff --git a/regression-test/suites/variant_p0/delete_update.groovy 
b/regression-test/suites/variant_p0/delete_update.groovy
index 357e6614ab8..3f6841ccfe1 100644
--- a/regression-test/suites/variant_p0/delete_update.groovy
+++ b/regression-test/suites/variant_p0/delete_update.groovy
@@ -21,7 +21,7 @@ suite("regression_test_variant_delete_and_update", 
"variant_type"){
     // MOR
     def table_name = "var_delete_update"
     sql "DROP TABLE IF EXISTS ${table_name}"
-    sql """ set disable_variant_flatten_nested = false """
+    sql """ set enable_variant_flatten_nested = true """
     sql """
         CREATE TABLE IF NOT EXISTS ${table_name} (
             k bigint,
@@ -171,4 +171,4 @@ suite("regression_test_variant_delete_and_update", 
"variant_type"){
     sql "sync"
 
     qt_sql """ select * from ${tableName} order by id;"""
-}
\ No newline at end of file
+}
diff --git a/regression-test/suites/variant_p0/nested.groovy 
b/regression-test/suites/variant_p0/nested.groovy
index 934e771b451..c4ba52c6520 100644
--- a/regression-test/suites/variant_p0/nested.groovy
+++ b/regression-test/suites/variant_p0/nested.groovy
@@ -20,7 +20,7 @@ suite("regression_test_variant_nested", "p0"){
         def table_name = "var_nested"
         sql "DROP TABLE IF EXISTS ${table_name}"
         def disable_auto_compaction = Math.random() < 0.5 ? "true" : "false"
-        sql "set disable_variant_flatten_nested = false"
+        sql "set enable_variant_flatten_nested = true"
         sql """
                 CREATE TABLE IF NOT EXISTS ${table_name} (
                     k bigint,
diff --git a/regression-test/suites/variant_p0/nested2.groovy 
b/regression-test/suites/variant_p0/nested2.groovy
index b8f2d7de2a2..1c012a138b2 100644
--- a/regression-test/suites/variant_p0/nested2.groovy
+++ b/regression-test/suites/variant_p0/nested2.groovy
@@ -24,7 +24,7 @@ suite("variant_nested_type_conflict", "p0"){
         sql "DROP TABLE IF EXISTS ${table_name}"
         sql """set describe_extend_variant_column = true"""
 
-        sql """ set disable_variant_flatten_nested = false """
+        sql """ set enable_variant_flatten_nested = true """
         sql """
                 CREATE TABLE IF NOT EXISTS ${table_name} (
                     k bigint,
diff --git a/regression-test/suites/variant_p0/predefine/load.groovy 
b/regression-test/suites/variant_p0/predefine/load.groovy
index 5b4cc703305..696cf68b597 100644
--- a/regression-test/suites/variant_p0/predefine/load.groovy
+++ b/regression-test/suites/variant_p0/predefine/load.groovy
@@ -55,7 +55,7 @@ suite("regression_test_variant_predefine_schema", "p0"){
     qt_sql """select * from test_predefine  where  v1['dt'] is not null order 
by id limit 10;"""
 
     sql """DROP TABLE IF EXISTS test_predefine1"""
-    sql """ set disable_variant_flatten_nested = false """
+    sql """ set enable_variant_flatten_nested = true """
     sql """
         CREATE TABLE `test_predefine1` (
             `id` bigint NOT NULL,
diff --git 
a/regression-test/suites/variant_p0/schema_change/test_double_write_when_schema_change.groovy
 
b/regression-test/suites/variant_p0/schema_change/test_double_write_when_schema_change.groovy
index a8b78bdd258..3bad6181251 100644
--- 
a/regression-test/suites/variant_p0/schema_change/test_double_write_when_schema_change.groovy
+++ 
b/regression-test/suites/variant_p0/schema_change/test_double_write_when_schema_change.groovy
@@ -57,7 +57,7 @@ suite("double_write_schema_change_with_variant", 
"nonConcurrent") {
 
     def table_name = "github_events"
     sql """DROP TABLE IF EXISTS ${table_name}"""
-    sql "set disable_variant_flatten_nested = false"
+    sql "set enable_variant_flatten_nested = true"
     sql """
         CREATE TABLE IF NOT EXISTS ${table_name} (
             k bigint,
diff --git a/regression-test/suites/variant_p1/predefine/load.groovy 
b/regression-test/suites/variant_p1/predefine/load.groovy
index ae6012401ef..56e25bac9cc 100644
--- a/regression-test/suites/variant_p1/predefine/load.groovy
+++ b/regression-test/suites/variant_p1/predefine/load.groovy
@@ -55,6 +55,7 @@ suite("test_predefine_type_multi_index", "p1"){
     table_name = "github_events"
     int rand_subcolumns_count = Math.floor(Math.random() * (611 - 511 + 1)) + 
400
     // int rand_subcolumns_count = 0;
+    sql """ set enable_variant_flatten_nested = true """
     sql """ drop table if exists github_events_2 """
     sql """
         CREATE TABLE IF NOT EXISTS ${table_name} (


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

Reply via email to