roryqi commented on PR #10720: URL: https://github.com/apache/gravitino/pull/10720#issuecomment-4312180158
Update changes: 1. We previously only supported single-level namespaces, so there are no compatibility issues. 2. Added. We should modify the Java cilent interface `listSchemas()` 3. The separator can be configured. We can choose another separator which won't have conflicts. 4. I modified the words. We don't create the not-existed namespace by hand. We will use underlying namespace operation capabilities. The Iceberg operations can create not-existed namespace atomicly. 5. If we create A:B:C, all of A, B and c doesn't exist, it equals that we created A, A:B, A:B:C, the requester will also have the privilege to create the parent namespace, so we should set them owner to requester. 6. The physical separator will be used in the storage layer, we don't expose to other places, Furthermore, I only use physical separator in the SchemeMetaService and MetadataObjectService. 7. We don't need to migrate if we changed logic separator. Because we use physical separator in the storage layer For example. when using : as logic separator, storage layer A.B.C -> logic layer A:B:C when using $ as logic separator, storage layer A.B.C -> logic layer A$B$C 8. Our entity store has cache. It won't bring much cost. Could u ensure this point? cc @yuqi1129 9. Iceberg operations don't support cascade. I will throw exception when specifying the cascade mode 10. Updated the code 11. It is out of the scope about this proposal 12. Added the code. -- 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]
