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

morrysnow 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 80673406b1 [fix](Nereids) project hidden columns when 
show_hidden_columns is true (#22285)
80673406b1 is described below

commit 80673406b11060a5aab1346b8b1b0c844f855c77
Author: 谢健 <jianx...@gmail.com>
AuthorDate: Fri Jul 28 15:08:18 2023 +0800

    [fix](Nereids) project hidden columns when show_hidden_columns is true 
(#22285)
---
 .../doris/nereids/rules/analysis/SlotBinder.java   |  5 ++-
 .../nereids_p0/test_selelct_hidden_col.groovy      | 40 ++++++++++++++++++++++
 2 files changed, 44 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/SlotBinder.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/SlotBinder.java
index e5f13007bd..94c4b4f07d 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/SlotBinder.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/SlotBinder.java
@@ -17,6 +17,7 @@
 
 package org.apache.doris.nereids.rules.analysis;
 
+import org.apache.doris.common.util.Util;
 import org.apache.doris.nereids.CascadesContext;
 import org.apache.doris.nereids.analyzer.Scope;
 import org.apache.doris.nereids.analyzer.UnboundAlias;
@@ -131,9 +132,11 @@ class SlotBinder extends SubExprAnalyzer {
     @Override
     public Expression visitUnboundStar(UnboundStar unboundStar, 
CascadesContext context) {
         List<String> qualifier = unboundStar.getQualifier();
+        boolean showHidden = Util.showHiddenColumns();
         List<Slot> slots = getScope().getSlots()
                 .stream()
-                .filter(slot -> !(slot instanceof SlotReference) || 
((SlotReference) slot).isVisible())
+                .filter(slot -> !(slot instanceof SlotReference)
+                || (((SlotReference) slot).isVisible()) || showHidden)
                 .collect(Collectors.toList());
         switch (qualifier.size()) {
             case 0: // select *
diff --git a/regression-test/suites/nereids_p0/test_selelct_hidden_col.groovy 
b/regression-test/suites/nereids_p0/test_selelct_hidden_col.groovy
new file mode 100644
index 0000000000..b9d2d669f9
--- /dev/null
+++ b/regression-test/suites/nereids_p0/test_selelct_hidden_col.groovy
@@ -0,0 +1,40 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_select_hidden") {
+    sql "SET enable_nereids_planner=true"
+    sql "SET enable_fallback_to_original_planner=false"
+    sql "set show_hidden_columns=true;"
+    sql """
+    CREATE TABLE IF NOT EXISTS hidden_tb (
+                `uid` BIGINT NULL,
+                `v1` BIGINT NULL 
+                )
+    UNIQUE KEY(uid)
+    DISTRIBUTED BY HASH(uid) BUCKETS 3
+    PROPERTIES (
+        "enable_unique_key_merge_on_write" = "true",
+        "replication_num" = "1"
+    );
+    """
+    explain {
+        sql("select * from hidden_tb")
+        contains "__DORIS_VERSION_COL__"
+    }
+
+    sql "drop table if exists hidden_tb"
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to