This is an automated email from the ASF dual-hosted git repository.
morningman 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 a92508c3f9 [Fix](statistics) Fix analyze db always use internal
catalog bug (#21850)
a92508c3f9 is described below
commit a92508c3f9e6db7ce64a4d41cc460cee3561a7a8
Author: Jibing-Li <[email protected]>
AuthorDate: Mon Jul 17 15:28:54 2023 +0800
[Fix](statistics) Fix analyze db always use internal catalog bug (#21850)
`Analyze database db_name ` command couldn't use current catalog, it is
always using the internal catalog. This will cause the command failed to find
the db. This pr is to fix this bug.
---
.../org/apache/doris/analysis/AnalyzeDBStmt.java | 2 +-
.../hive/test_hive_analyze_db.out | 20 +++++++++++
.../hive/test_hive_analyze_db.groovy | 40 ++++++++++++++++++++++
3 files changed, 61 insertions(+), 1 deletion(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeDBStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeDBStmt.java
index db155f07ae..4957bd2cb8 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeDBStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeDBStmt.java
@@ -44,7 +44,7 @@ public class AnalyzeDBStmt extends AnalyzeStmt {
@Override
public void analyze(Analyzer analyzer) throws AnalysisException,
UserException {
if (ctlName == null) {
- ctlIf = Env.getCurrentInternalCatalog();
+ ctlIf = Env.getCurrentEnv().getCurrentCatalog();
} else {
ctlIf =
Env.getCurrentEnv().getCatalogMgr().getCatalogOrAnalysisException(ctlName);
}
diff --git
a/regression-test/data/external_table_emr_p2/hive/test_hive_analyze_db.out
b/regression-test/data/external_table_emr_p2/hive/test_hive_analyze_db.out
new file mode 100644
index 0000000000..0b75316476
--- /dev/null
+++ b/regression-test/data/external_table_emr_p2/hive/test_hive_analyze_db.out
@@ -0,0 +1,20 @@
+-- This file is automatically generated. You should know what you did if you
want to edit this
+-- !1 --
+lo_orderpriority 100.0 5.0 0.0 888.8000000000001 8.8
'1-URGENT' '5-LOW'
+lo_custkey 100.0 26.0 0.0 404.0 4.0 67423 2735521
+lo_partkey 100.0 100.0 0.0 404.0 4.0 2250 989601
+lo_revenue 100.0 100.0 0.0 404.0 4.0 101171 8703450
+lo_commitdate 100.0 95.0 0.0 404.0 4.0 19920515 19981016
+lo_quantity 100.0 46.0 0.0 404.0 4.0 1 50
+lo_orderkey 100.0 26.0 0.0 404.0 4.0 1 98
+lo_suppkey 100.0 100.0 0.0 404.0 4.0 4167 195845
+lo_supplycost 100.0 100.0 0.0 404.0 4.0 58023 121374
+lo_shipmode 100.0 7.0 0.0 425.21 4.21 'AIR' 'TRUCK'
+lo_orderdate 100.0 26.0 0.0 404.0 4.0 19920221 19980721
+lo_linenumber 100.0 7.0 0.0 404.0 4.0 1 7
+lo_shippriority 100.0 1.0 0.0 404.0 4.0 0 0
+lo_ordtotalprice 100.0 26.0 0.0 404.0 4.0 3428256 36771805
+lo_extendedprice 100.0 100.0 0.0 404.0 4.0 104300 9066094
+lo_tax 100.0 9.0 0.0 404.0 4.0 0 8
+lo_discount 100.0 11.0 0.0 404.0 4.0 0 10
+
diff --git
a/regression-test/suites/external_table_emr_p2/hive/test_hive_analyze_db.groovy
b/regression-test/suites/external_table_emr_p2/hive/test_hive_analyze_db.groovy
new file mode 100644
index 0000000000..a30c87275b
--- /dev/null
+++
b/regression-test/suites/external_table_emr_p2/hive/test_hive_analyze_db.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_hive_analyze_db", "p2") {
+ String enabled = context.config.otherConfigs.get("enableExternalHiveTest")
+ if (enabled != null && enabled.equalsIgnoreCase("true")) {
+ String extHiveHmsHost =
context.config.otherConfigs.get("extHiveHmsHost")
+ String extHiveHmsPort =
context.config.otherConfigs.get("extHiveHmsPort")
+ String catalog_name = "test_hive_analyze_db"
+ sql """drop catalog if exists ${catalog_name};"""
+ sql """
+ create catalog if not exists ${catalog_name} properties (
+ 'type'='hms',
+ 'hadoop.username' = 'hadoop',
+ 'hive.metastore.uris' =
'thrift://${extHiveHmsHost}:${extHiveHmsPort}'
+ );
+ """
+ logger.info("catalog " + catalog_name + " created")
+ sql """switch ${catalog_name};"""
+ logger.info("switched to catalog " + catalog_name)
+ sql """use statistics;"""
+ sql """analyze database statistics with sync"""
+ qt_1 "show column stats statistics"
+ }
+}
+
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]