diqiu50 commented on code in PR #4497:
URL: https://github.com/apache/gravitino/pull/4497#discussion_r1714737377
##########
trino-connector/src/main/java/org/apache/gravitino/trino/connector/system/table/GravitinoSystemTableCatalog.java:
##########
@@ -56,21 +60,35 @@ public GravitinoSystemTableCatalog(CatalogConnectorManager
catalogConnectorManag
@Override
public Page loadPageData() {
- List<GravitinoCatalog> catalogs = catalogConnectorManager.getCatalogs();
- int size = catalogs.size();
+ List<GravitinoCatalog> gravitinoCatalogs = new ArrayList<>();
+ catalogConnectorManager
+ .getUsedMetalakes()
+ .forEach(
+ (metalakeName) -> {
+ GravitinoMetalake metalake =
catalogConnectorManager.getMetalake(metalakeName);
+ String[] catalogNames = metalake.listCatalogs();
+ for (String catalogName : catalogNames) {
+ Catalog catalog = metalake.loadCatalog(catalogName);
+ if (catalog.type() == Catalog.Type.RELATIONAL) {
+ gravitinoCatalogs.add(new GravitinoCatalog(metalakeName,
catalog));
+ }
+ }
+ });
+ int size = gravitinoCatalogs.size();
BlockBuilder nameColumnBuilder = VARCHAR.createBlockBuilder(null, size);
BlockBuilder providerColumnBuilder = VARCHAR.createBlockBuilder(null,
size);
BlockBuilder propertyColumnBuilder = VARCHAR.createBlockBuilder(null,
size);
- for (GravitinoCatalog catalog : catalogs) {
+ for (GravitinoCatalog catalog : gravitinoCatalogs) {
Preconditions.checkNotNull(catalog, "catalog should not be null");
VARCHAR.writeString(nameColumnBuilder, catalog.getName());
VARCHAR.writeString(providerColumnBuilder, catalog.getProvider());
try {
VARCHAR.writeString(
- propertyColumnBuilder, new
ObjectMapper().writeValueAsString(catalog.getProperties()));
+ propertyColumnBuilder,
+ new ObjectMapper().writeValueAsString(new
TreeMap<>(catalog.getProperties())));
} catch (JsonProcessingException e) {
Review Comment:
Sort the attributes to make the order stable.
--
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]