diff --git a/be/src/olap/rowset/beta_rowset_writer.cpp b/be/src/olap/rowset/beta_rowset_writer.cpp index 4bea55e57f4d8f..a7cec72faea15f 100644 --- a/be/src/olap/rowset/beta_rowset_writer.cpp +++ b/be/src/olap/rowset/beta_rowset_writer.cpp @@ -416,7 +416,8 @@ Status BetaRowsetWriter::_segcompaction_if_necessary() { // otherwise _segcompacting_cond will never get notified if (!config::enable_segcompaction || !_context.enable_segcompaction || !_context.tablet_schema->cluster_key_idxes().empty() || - !_check_and_set_is_doing_segcompaction()) { + !_check_and_set_is_doing_segcompaction() || + _context.tablet_schema->num_variant_columns() > 0) { return status; } if (_segcompaction_status.load() != OK) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PlanTranslatorContext.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PlanTranslatorContext.java index 90539332791055..eb0598d4894a68 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PlanTranslatorContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PlanTranslatorContext.java @@ -289,7 +289,7 @@ public SlotDescriptor createSlotDesc(TupleDescriptor tupleDesc, SlotReference sl slotRef = new SlotRef(slotDescriptor); if (slotReference.hasSubColPath()) { slotDescriptor.setSubColLables(slotReference.getSubColPath()); - slotDescriptor.setMaterializedColumnName(slotRef.getColumnName() + slotDescriptor.setMaterializedColumnName(slotRef.getColumnName().toLowerCase() + "." + String.join(".", slotReference.getSubColPath())); } } diff --git a/regression-test/data/variant_p0/column_name.out b/regression-test/data/variant_p0/column_name.out index 2b897c04a0524e..2942c8d53bc9b1 100644 --- a/regression-test/data/variant_p0/column_name.out +++ b/regression-test/data/variant_p0/column_name.out @@ -20,3 +20,15 @@ \N \N UPPER CASE lower case +-- !sql -- +1 {"tag_key1":123456} + +-- !sql -- +1 {"tag_key1":123456} + +-- !sql -- +1 {"tag_key1":123456} + +-- !sql -- +1 {"tag_key1":123456} + diff --git a/regression-test/suites/variant_p0/column_name.groovy b/regression-test/suites/variant_p0/column_name.groovy index 658be673c69c62..be0026e9c940ea 100644 --- a/regression-test/suites/variant_p0/column_name.groovy +++ b/regression-test/suites/variant_p0/column_name.groovy @@ -43,5 +43,11 @@ suite("regression_test_variant_column_name", "variant_type"){ // sql """insert into ${table_name} values (6, '{"\\n123": "t123", "\\\"123": "123"}')""" sql """insert into ${table_name} values (7, '{"AA": "UPPER CASE", "aa": "lower case"}')""" qt_sql """select cast(v["AA"] as string), cast(v["aa"] as string) from ${table_name} order by k""" - + + sql "alter table var_column_name rename column v Tags; " + sql """insert into var_column_name values (1, '{"tag_key1" : 123456}')""" + qt_sql "select * from var_column_name where tags['tag_key1'] is not null and cast(Tags['tag_key1' ] as text) = '123456' order by k desc limit 1;" + qt_sql "select * from var_column_name where tags['tag_key1'] is not null and cast(tags['tag_key1' ] as text) = '123456' order by k desc limit 1;" + qt_sql "select * from var_column_name where Tags['tag_key1'] is not null and cast(tags['tag_key1' ] as text) = '123456' order by k desc limit 1;" + qt_sql "select * from var_column_name where Tags['tag_key1'] is not null and cast(Tags['tag_key1' ] as text) = '123456' order by k desc limit 1;" } \ No newline at end of file