mchades commented on code in PR #4469:
URL: https://github.com/apache/gravitino/pull/4469#discussion_r1827627805


##########
catalogs/catalog-hive/src/main/java/org/apache/gravitino/catalog/hive/HiveCatalogOperations.java:
##########
@@ -539,23 +538,32 @@ public NameIdentifier[] listTables(Namespace namespace) 
throws NoSuchSchemaExcep
       // then based on
       // those names we can obtain metadata for each individual table and get 
the type we needed.
       List<String> allTables = clientPool.run(c -> 
c.getAllTables(schemaIdent.name()));
-      return clientPool.run(
-          c ->
-              c.getTableObjectsByName(schemaIdent.name(), allTables).stream()
-                  .filter(
-                      tb -> {
-                        boolean isSupportTable = 
SUPPORT_TABLE_TYPES.contains(tb.getTableType());
-                        if (!isSupportTable) {
-                          return false;
-                        }
-                        if (!listAllTables) {
-                          Map<String, String> parameters = tb.getParameters();
-                          return isHiveTable(parameters);
-                        }
-                        return true;
-                      })
-                  .map(tb -> NameIdentifier.of(namespace, tb.getTableName()))
-                  .toArray(NameIdentifier[]::new));
+      if (!listAllTables) {
+        // The reason for using the listTableNamesByFilter function is that the
+        // getTableObjectiesByName function has poor performance. Currently, 
we focus on the
+        // Iceberg, Paimon and Hudi table. In the future, if necessary, we 
will need to filter out
+        // other tables. In addition, the current return also includes tables 
of type VIRTUAL-VIEW.
+        String icebergAndPaimonFilter = getIcebergAndPaimonFilter();
+        List<String> icebergAndPaimonTables =
+            clientPool.run(
+                c ->
+                    c.listTableNamesByFilter(
+                        schemaIdent.name(), icebergAndPaimonFilter, (short) 
-1));

Review Comment:
   fixed



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to