justinmclean commented on code in PR #4335:
URL: https://github.com/apache/gravitino/pull/4335#discussion_r1701128254
##########
core/src/main/java/org/apache/gravitino/storage/relational/service/CommonMetaService.java:
##########
@@ -37,22 +37,20 @@ public Long getParentEntityIdByNamespace(Namespace
namespace) {
!namespace.isEmpty() && namespace.levels().length <= 3,
"Namespace should not be empty and length should be less than or equal
to 3.");
Long parentEntityId = null;
- for (int level = 0; level < namespace.levels().length; level++) {
- String name = namespace.level(level);
- switch (level) {
- case 0:
- parentEntityId =
MetalakeMetaService.getInstance().getMetalakeIdByName(name);
- continue;
- case 1:
- parentEntityId =
- CatalogMetaService.getInstance()
- .getCatalogIdByMetalakeIdAndName(parentEntityId, name);
- continue;
- case 2:
- parentEntityId =
-
SchemaMetaService.getInstance().getSchemaIdByCatalogIdAndName(parentEntityId,
name);
- break;
- }
+ if (namespace.levels().length > 0) {
Review Comment:
For example if level is 3 then parentEntityId will be set three times with 2
of those values being thrown away. In this order:
1. via getMetalakeIdByName (result overwritten)
2. via getCatalogIdByMetalakeIdAndName (result overwritten)
3. via getSchemaIdByCatalogIdAndName
Why not just obtain it by directly calling getSchemaIdByCatalogIdAndName?
e.g reverse the order of the if statements and change them to if/else ifs.
--
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]