-
Notifications
You must be signed in to change notification settings - Fork 8
25.3 Antalya - Iceberg as alias for DataLakeCatalog with catalog_type='rest' #822
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Just FYI, functions have a better mechanism: https://github.com/ClickHouse/ClickHouse/blob/b2c81981fbc5746aeccece8cf288167b5ad18df4/src/Common/IFactoryWithAliases.h#L23 Could you add a simple test? It can be a duplicate of an existing test using the alias |
Added, and fixed masking sensitive info (thanks to tests).
IFactoryWithAliases looks good, but too overkilled for single use. Variant with two functions with the same name also implemented - https://github.com/ClickHouse/ClickHouse/blob/master/src/TableFunctions/TableFunctionObjectStorage.cpp#L331, so for now I left simple code. |
test_database_iceberg/test.py::test_hide_sensitive_info is failing, could it be related? |
No, it's failed with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If tests are ok, I think this looks good.
It appears that the engine name is not widely used, and no AST related code aside from ASTSetQuery.cpp
uses it:
laptop@arthur:~/work/s3_hive_style_partitioned_writes$ grep -rn "\"DataLakeCatalog" src
src/Databases/DataLake/DataLakeConstants.h:10:static constexpr auto DATABASE_ENGINE_NAME = "DataLakeCatalog";
src/Databases/DataLake/DatabaseDataLake.cpp:672: factory.registerDatabase("DataLakeCatalog", create_fn, { .supports_arguments = true, .supports_settings = true });
src/Parsers/FunctionSecretArgumentsFinder.h:631: else if (engine_name == "DataLakeCatalog")
laptop@arthur:~/work/s3_hive_style_partitioned_writes$ grep -rn "DataLake::DATABASE_ENGINE_NAME" src
src/Databases/DataLake/DatabaseDataLake.h:26: String getEngineName() const override { return DataLake::DATABASE_ENGINE_NAME; }
src/Parsers/ASTSetQuery.cpp:98: if (DataLake::DATABASE_ENGINE_NAME == state.create_engine_name)
Adding slack comment just so we can keep track of it: I approved the PR, but there is a small chance upstream will silently break this feature in the future and chances are we won't catch it. |
In stateless tests failed |
Isn't it a matter of rebasing? Or you want to avoid rebasing right now? |
Solve issue #821.
Database
Iceberg
as alias toDataLakeCatalog