diff --git service/src/java/org/apache/hive/service/cli/operation/GetSchemasOperation.java service/src/java/org/apache/hive/service/cli/operation/GetSchemasOperation.java index b97878735c..ec880a6422 100644 --- service/src/java/org/apache/hive/service/cli/operation/GetSchemasOperation.java +++ service/src/java/org/apache/hive/service/cli/operation/GetSchemasOperation.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.apache.hadoop.hive.metastore.IMetaStoreClient; import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveOperationType; @@ -71,8 +72,14 @@ public void runInternal() throws HiveSQLException { } try { IMetaStoreClient metastoreClient = getParentSession().getMetaStoreClient(); - String schemaPattern = convertSchemaPattern(schemaName); - for (String dbName : metastoreClient.getDatabases(schemaPattern)) { + List databases; + if (schemaName != null && !schemaName.isEmpty()) { + String schemaPattern = convertSchemaPattern(schemaName); + databases = metastoreClient.getDatabases(schemaPattern); + } else { + databases = metastoreClient.getAllDatabases(); + } + for (String dbName : databases) { rowSet.addRow(new Object[] {dbName, DEFAULT_HIVE_CATALOG}); if (LOG.isDebugEnabled()) { String debugMessage = getDebugMessage("schema", RESULT_SET_SCHEMA);