This is an automated email from the ASF dual-hosted git repository. diqiu50 pushed a commit to branch branch-trino-smv in repository https://gitbox.apache.org/repos/asf/gravitino.git
commit a1323f10610db94f2cc34146b73c445885220495 Merge: 41fbf422db 3484fd5e74 Author: yuhui <[email protected]> AuthorDate: Tue Feb 10 15:15:15 2026 +0800 Merge branch 'diqiu50-trino-smv' into branch-trino-smv .github/copilot-instructions.md | 192 +- .github/workflows/auto-cherry-pick.yml | 147 +- .../workflows/backend-integration-test-action.yml | 3 +- .github/workflows/build.yml | 1 + .github/workflows/cherry-pick-branch.yml | 131 + .github/workflows/frontend-integration-test.yml | 10 +- AGENTS.md | 483 +- GEMINI.md | 1 + README.md | 12 + .../main/java/org/apache/gravitino/Catalog.java | 9 + .../java/org/apache/gravitino/MetadataObject.java | 2 + .../java/org/apache/gravitino/MetadataObjects.java | 2 + .../apache/gravitino/authorization/Privilege.java | 6 +- .../apache/gravitino/authorization/Privileges.java | 82 + .../gravitino/authorization/SecurableObjects.java | 16 + .../gravitino/exceptions/NoSuchViewException.java | 49 + .../org/apache/gravitino/function/Function.java | 31 +- .../apache/gravitino/function/FunctionCatalog.java | 31 +- .../gravitino/function/FunctionDefinition.java | 39 +- .../gravitino/function/FunctionDefinitions.java | 72 +- .../main/java/org/apache/gravitino/rel/View.java | 41 +- .../java/org/apache/gravitino/rel/ViewCatalog.java | 57 + .../org/apache/gravitino/rel/indexes/Indexes.java | 15 +- .../org/apache/gravitino/TestMetadataObjects.java | 52 + .../authorization/TestSecurableObjects.java | 46 + bin/gravitino.sh.template | 25 + build.gradle.kts | 96 +- .../gravitino/oss/fs/OSSFileSystemProvider.java | 2 +- .../gravitino/s3/fs/S3FileSystemProvider.java | 2 +- .../gravitino/abs/fs/AzureFileSystemProvider.java | 2 +- .../gravitino/gcs/fs/GCSFileSystemProvider.java | 2 +- .../build.gradle.kts | 14 +- .../catalog-jdbc-clickhouse}/build.gradle.kts | 19 +- .../catalog/clickhouse/ClickHouseCatalog.java | 81 + .../clickhouse/ClickHouseCatalogCapability.java | 10 +- .../ClickHouseCatalogPropertiesMetadata.java | 33 +- .../catalog/clickhouse/ClickHouseConfig.java | 55 + .../catalog/clickhouse/ClickHouseConstants.java | 51 + .../ClickHouseSchemaPropertiesMetadata.java | 57 + .../ClickHouseTablePropertiesMetadata.java | 233 + .../ClickHouseColumnDefaultValueConverter.java | 161 + .../converter/ClickHouseExceptionConverter.java | 53 + .../converter/ClickHouseTypeConverter.java | 190 + .../catalog/clickhouse/converter/TypeUtils.java | 26 +- .../operations/ClickHouseDatabaseOperations.java | 95 + .../operations/ClickHouseTableOperations.java | 710 ++ .../services/org.apache.gravitino.CatalogProvider | 2 +- .../src/main/resources/jdbc-clickhouse.conf | 5 +- .../catalog/clickhouse/ClickHouseUtils.java | 16 +- .../TestClickHouseCatalogPropertiesMeta.java | 35 +- .../TestClickHouseSchemaPropertiesMetadata.java | 45 + .../converter/TestClickHouseTypeConverter.java | 156 + .../clickhouse/operations/TestClickHouse.java | 75 + .../TestClickHouseCatalogOperations.java | 32 +- .../TestClickHouseDatabaseOperations.java | 69 + .../operations/TestClickHouseTableOperations.java | 1113 +-- .../catalog-jdbc-oceanbase/build.gradle.kts | 0 .../catalog/oceanbase/OceanBaseCatalog.java | 0 .../oceanbase/OceanBaseCatalogCapability.java | 0 .../OceanBaseColumnDefaultValueConverter.java | 0 .../converter/OceanBaseTypeConverter.java | 0 .../operation/OceanBaseDatabaseOperations.java | 0 .../operation/OceanBaseTableOperations.java | 12 +- .../services/org.apache.gravitino.CatalogProvider | 0 .../src/main/resources/jdbc-oceanbase.conf | 0 .../converter/TestOceanBaseTypeConverter.java | 0 .../integration/test/CatalogOceanBaseIT.java | 4 +- .../integration/test/service/OceanBaseService.java | 0 .../catalog/oceanbase/operation/TestOceanBase.java | 0 .../operation/TestOceanBaseDatabaseOperations.java | 0 .../operation/TestOceanBaseTableOperations.java | 2 +- .../TestOceanBaseTableOperationsSqlGeneration.java | 92 + .../src/test/resources/log4j2.properties | 0 .../catalog/lakehouse/paimon/PaimonConstants.java | 19 + .../org/apache/gravitino/utils/FilesetUtil.java | 138 + catalogs/catalog-fileset/build.gradle.kts | 1 + .../catalog/fileset/FilesetCatalogImpl.java | 2 +- .../catalog/fileset/FilesetCatalogOperations.java | 348 +- .../fileset/FilesetCatalogPropertiesMetadata.java | 75 +- .../catalog/fileset/FilesetPropertiesMetadata.java | 8 +- .../fileset/FilesetSchemaPropertiesMetadata.java | 8 +- .../fileset/ImpersonationHDFSFileSystemProxy.java | 71 + .../fileset/SecureFilesetCatalogOperations.java | 398 - .../authentication/KerberosUserContext.java | 118 - .../fileset/authentication/SimpleUserContext.java | 52 - .../fileset/authentication/UserContext.java | 136 - .../fileset/TestFilesetCatalogOperations.java | 231 +- .../catalog/fileset/fs/TestFileSystemUtils.java | 2 +- .../test/HadoopUserAuthenticationIT.java | 25 +- .../test/HadoopUserImpersonationIT.java | 8 +- .../catalog/hive/TestHiveCatalogOperations.java | 49 + .../hive/integration/test/CatalogHive2IT.java | 74 + .../converter/JdbcColumnDefaultValueConverter.java | 23 +- .../jdbc/operation/JdbcTableOperations.java | 70 +- .../catalog/jdbc/operation/TableOperation.java | 27 + catalogs/catalog-jdbc-doris/build.gradle.kts | 1 + .../doris/operation/DorisTableOperations.java | 11 +- .../TestDorisTableOperationsSqlGeneration.java | 110 + .../mysql/operation/MysqlTableOperations.java | 12 +- .../mysql/integration/test/CatalogMysqlIT.java | 4 +- .../mysql/operation/TestMysqlTableOperations.java | 2 +- .../TestMysqlTableOperationsSqlGeneration.java | 92 + .../operation/PostgreSqlTableOperations.java | 9 +- ...TestPostgreSqlTableOperationsSqlGeneration.java | 92 + .../operations/StarRocksTableOperations.java | 7 +- .../TestStarRocksTableOperationsSqlGeneration.java | 123 + .../lakehouse/lance/LanceTableOperations.java | 122 +- .../lakehouse/lance/TestLanceTableOperations.java | 41 + .../catalog/lakehouse/iceberg/IcebergCatalog.java | 6 + .../iceberg/IcebergCatalogOperations.java | 30 +- .../catalog/lakehouse/iceberg/IcebergView.java | 108 + .../lakehouse/iceberg/TestIcebergCatalog.java | 25 + .../catalog/lakehouse/iceberg/TestIcebergView.java | 110 + .../lakehouse/paimon/GravitinoPaimonTable.java | 73 + .../lakehouse/paimon/PaimonCatalogBackend.java | 3 +- .../lakehouse/paimon/PaimonCatalogOperations.java | 76 +- .../paimon/PaimonCatalogPropertiesMetadata.java | 94 +- .../paimon/PaimonTablePropertiesMetadata.java | 2 + .../lakehouse/paimon/TestGravitinoPaimonTable.java | 114 + catalogs/hadoop-common/build.gradle.kts | 5 + .../catalog/hadoop/fs/FileSystemProvider.java | 11 + .../catalog/hadoop/fs/FileSystemUtils.java | 60 +- .../catalog/hadoop/fs/HDFSFileSystemProvider.java | 22 +- .../catalog/hadoop/fs}/HDFSFileSystemProxy.java | 152 +- .../catalog/hadoop/fs/LocalFileSystemProvider.java | 3 +- .../hadoop/fs/kerberos}/AuthenticationConfig.java | 27 +- .../hadoop/fs}/kerberos/FetchFileUtils.java | 2 +- .../hadoop/fs}/kerberos/KerberosClient.java | 16 +- .../hadoop/fs}/kerberos/KerberosConfig.java | 41 +- .../hive/converter/HiveDatabaseConverter.java | 8 +- .../apache/gravitino/client/BaseSchemaCatalog.java | 56 +- .../org/apache/gravitino/client/DTOConverters.java | 66 + .../org/apache/gravitino/client/ErrorHandlers.java | 72 + .../client/FunctionCatalogOperations.java | 295 + .../gravitino/client/GravitinoAdminClient.java | 3 +- .../apache/gravitino/client/GravitinoClient.java | 2 +- .../gravitino/client/GravitinoClientBase.java | 32 + .../gravitino/client/TestFunctionCatalog.java | 352 + .../gravitino/client/TestGravitinoAdminClient.java | 87 - .../apache/gravitino/client/TestVersionCheck.java | 269 + .../client/integration/test/FunctionIT.java | 604 ++ .../requests => api/authorization}/__init__.py | 12 + .../gravitino/api/authorization/privileges.py | 223 + .../gravitino/api/authorization/role.py | 70 + .../api/authorization/securable_objects.py | 429 ++ .../authorization/supports_roles.py} | 23 + .../client-python/gravitino/api/metadata_object.py | 12 + .../gravitino/api/metadata_objects.py | 4 + clients/client-python/gravitino/api/tag/tag.py | 33 +- .../client-python/gravitino/client/generic_tag.py | 150 + .../gravitino/client/gravitino_client_base.py | 8 +- .../gravitino/client/gravitino_metalake.py | 52 +- clients/client-python/gravitino/dto/audit_dto.py | 20 + .../gravitino/dto/metadata_object_dto.py | 95 + .../gravitino/dto/requests/__init__.py | 6 + .../gravitino/dto/requests/tag_create_request.py | 46 + .../dto/responses/metadata_object_list_response.py | 59 + .../gravitino/dto/responses/tag_response.py | 76 + clients/client-python/gravitino/dto/tag_dto.py | 152 + clients/client-python/gravitino/exceptions/base.py | 6 +- .../exceptions/handlers/oauth_error_handler.py | 2 +- .../exceptions/handlers/tag_error_handler.py | 70 + clients/client-python/requirements-dev.txt | 3 + .../unittests/authorization}/__init__.py | 0 .../authorization/test_securable_objects.py | 385 + .../unittests}/dto/requests/__init__.py | 0 .../dto/requests/test_tag_create_request.py | 44 + .../unittests/dto/responses}/__init__.py | 0 .../{ => dto/responses}/test_responses.py | 47 +- .../unittests/dto/responses/test_tag_response.py | 92 + .../tests/unittests/dto/test_tag_dto.py | 100 + .../tests/unittests/test_generic_tag.py | 232 + .../unittests/test_version_check_disabled_env.py | 70 + .../filesystem/hadoop/BaseGVFSOperations.java | 81 +- .../hadoop/TestBaseGVFSOperationsUserConfigs.java | 43 +- .../apache/gravitino/config/ConfigConstants.java | 5 +- .../gravitino/dto/function/FunctionColumnDTO.java | 87 + .../apache/gravitino/dto/function/FunctionDTO.java | 112 + .../dto/function/FunctionDefinitionDTO.java | 182 + .../gravitino/dto/function/FunctionImplDTO.java | 115 + .../gravitino/dto/function/FunctionParamDTO.java | 132 + .../dto/function/FunctionResourcesDTO.java | 81 + .../apache/gravitino/dto/function/JavaImplDTO.java | 68 + .../gravitino/dto/function/PythonImplDTO.java | 75 + .../apache/gravitino/dto/function/SQLImplDTO.java | 67 + .../dto/requests/FunctionRegisterRequest.java | 89 + .../dto/requests/FunctionUpdateRequest.java | 255 + .../dto/requests/FunctionUpdatesRequest.java | 49 + .../dto/responses/FunctionListResponse.java | 57 + .../gravitino/dto/responses/FunctionResponse.java | 70 + .../apache/gravitino/dto/util/DTOConverters.java | 28 + .../gravitino/dto/function/TestFunctionDTO.java | 293 + .../dto/requests/TestFunctionRegisterRequest.java | 230 + .../dto/requests/TestFunctionUpdateRequest.java | 253 + .../dto/requests/TestFunctionUpdatesRequest.java | 82 + .../dto/requests/TestTableUpdatesRequest.java | 2 +- conf/gravitino-env.sh.template | 5 + conf/gravitino.conf.template | 1 + .../main/java/org/apache/gravitino/Configs.java | 36 +- .../src/main/java/org/apache/gravitino/Entity.java | 1 + .../java/org/apache/gravitino/EntityStore.java | 31 + .../java/org/apache/gravitino/GravitinoEnv.java | 21 +- .../java/org/apache/gravitino/UserPrincipal.java | 11 + .../apache/gravitino/auth/KerberosPrincipal.java | 162 + .../gravitino/auth/KerberosPrincipalMapper.java | 86 + .../org/apache/gravitino/auth/PrincipalMapper.java | 28 +- .../gravitino/auth/PrincipalMapperFactory.java | 56 + .../gravitino/auth/RegexPrincipalMapper.java | 100 + .../authorization/AuthorizationUtils.java | 3 +- .../gravitino/authorization/RoleManager.java | 7 - .../gravitino/authorization/UserGroupManager.java | 23 - .../auxiliary/AuxiliaryServiceManager.java | 2 +- .../auxiliary/GravitinoAuxiliaryService.java | 4 +- .../apache/gravitino/cache/ReverseIndexCache.java | 2 +- .../apache/gravitino/catalog/CatalogManager.java | 15 + .../catalog/FunctionNormalizeDispatcher.java | 22 +- .../catalog/FunctionOperationDispatcher.java | 57 +- .../catalog/ManagedFunctionOperations.java | 336 +- .../apache/gravitino/catalog/ViewDispatcher.java | 25 +- .../gravitino/catalog/ViewOperationDispatcher.java | 80 + .../listener/api/event/ListTopicFailureEvent.java | 8 +- .../org/apache/gravitino/meta/FunctionEntity.java | 53 +- .../org/apache/gravitino/meta/GenericEntity.java | 26 +- .../apache/gravitino/metalake/MetalakeManager.java | 6 + .../apache/gravitino/stats/StatisticManager.java | 53 +- .../storage/JdbcPartitionStatisticStorage.java | 490 ++ .../JdbcPartitionStatisticStorageFactory.java | 204 + .../gravitino/storage/relational/JDBCBackend.java | 58 +- .../storage/relational/RelationalBackend.java | 12 + .../storage/relational/RelationalEntityStore.java | 22 + .../RelationalEntityStoreIdResolver.java | 11 +- .../relational/mapper/FunctionMetaMapper.java | 165 + .../mapper/FunctionMetaSQLProviderFactory.java | 114 + .../mapper/FunctionVersionMetaMapper.java | 85 + .../FunctionVersionMetaSQLProviderFactory.java | 100 + .../storage/relational/mapper/TableMetaMapper.java | 4 + .../mapper/TableMetaSQLProviderFactory.java | 5 + .../storage/relational/mapper/ViewMetaMapper.java | 105 + .../mapper/ViewMetaSQLProviderFactory.java | 121 + .../provider/DefaultMapperPackageProvider.java | 8 +- .../provider/base/FunctionMetaBaseSQLProvider.java | 287 + .../base/FunctionVersionMetaBaseSQLProvider.java | 118 + .../base/SecurableObjectBaseSQLProvider.java | 11 + .../provider/base/TableMetaBaseSQLProvider.java | 36 +- .../provider/base/ViewMetaBaseSQLProvider.java | 251 + .../postgresql/FunctionMetaPostgreSQLProvider.java | 171 + .../FunctionVersionMetaPostgreSQLProvider.java | 102 + .../SecurableObjectPostgreSQLProvider.java | 11 + .../postgresql/ViewMetaPostgreSQLProvider.java | 97 + .../relational/po/FunctionMaxVersionPO.java | 34 +- .../storage/relational/po/FunctionPO.java | 213 + .../storage/relational/po/FunctionVersionPO.java | 85 + .../gravitino/storage/relational/po/ViewPO.java | 111 + .../relational/service/CatalogMetaService.java | 17 +- .../relational/service/FunctionMetaService.java | 348 + .../relational/service/MetadataObjectService.java | 41 + .../relational/service/MetalakeMetaService.java | 17 +- .../relational/service/SchemaMetaService.java | 16 +- .../relational/service/TableMetaService.java | 29 + .../relational/service/ViewMetaService.java | 381 + .../gravitino/utils/IsolatedClassLoader.java | 1 - .../apache/gravitino/utils/MetadataObjectUtil.java | 7 + .../apache/gravitino/utils/NameIdentifierUtil.java | 56 + .../org/apache/gravitino/utils/NamespaceUtil.java | 50 + .../gravitino/auth/TestKerberosPrincipal.java | 122 + .../auth/TestKerberosPrincipalMapper.java | 174 + .../gravitino/auth/TestPrincipalMapperFactory.java | 83 + .../gravitino/auth/TestRegexPrincipalMapper.java | 140 + .../authorization/TestAccessControlManager.java | 39 - .../TestAccessControlManagerForPermissions.java | 21 - .../auxiliary/TestAuxiliaryServiceManager.java | 5 +- .../catalog/TestManagedFunctionOperations.java | 548 +- .../catalog/TestViewOperationDispatcher.java | 175 + .../gravitino/connector/TestCatalogOperations.java | 17 + .../api/event/ListTopicFailureEventTest.java | 21 +- .../storage/TestJdbcPartitionStatisticStorage.java | 347 + .../TestJdbcPartitionStatisticStorageFactory.java | 291 + .../TestJdbcPartitionStatisticStorageIT.java | 800 ++ .../storage/memory/TestMemoryEntityStore.java | 6 + .../storage/relational/TestJDBCBackend.java | 18 + .../storage/relational/po/TestFunctionPO.java | 168 + .../service/TestFunctionMetaService.java | 493 ++ .../relational/service/TestSecurableObjects.java | 88 +- .../relational/service/TestViewMetaService.java | 296 + .../gravitino/utils/TestMetadataObjectUtil.java | 10 + .../gravitino/utils/TestNameIdentifierUtil.java | 17 + .../apache/gravitino/utils/TestNamespaceUtil.java | 8 + dev/docker/gravitino/gravitino-dependency.sh | 2 +- docs/fileset-catalog-with-adls.md | 15 +- docs/fileset-catalog-with-gcs.md | 15 +- docs/fileset-catalog-with-oss.md | 28 +- docs/fileset-catalog-with-s3.md | 29 +- docs/fileset-catalog.md | 33 +- docs/flink-connector/flink-catalog-hive.md | 46 +- docs/how-to-install.md | 6 +- docs/iceberg-rest-service.md | 116 +- docs/lakehouse-generic-lance-table.md | 28 + docs/lakehouse-iceberg-catalog.md | 36 +- docs/lakehouse-paimon-catalog.md | 37 +- docs/lance-rest-integration.md | 232 + docs/lance-rest-service.md | 5 +- docs/manage-fileset-metadata-using-gravitino.md | 45 +- docs/manage-relational-metadata-using-gravitino.md | 9 +- docs/manage-statistics-in-gravitino.md | 77 +- docs/security/access-control.md | 49 +- docs/security/how-to-authenticate.md | 100 +- ...verter.java => CatalogPropertiesConverter.java} | 62 +- .../SchemaAndTablePropertiesConverter.java | 78 + .../flink/connector/catalog/BaseCatalog.java | 21 +- .../connector/catalog/BaseCatalogFactory.java | 8 +- .../connector/hive/FlinkGenericTableUtil.java | 123 + .../flink/connector/hive/GravitinoHiveCatalog.java | 196 +- .../hive/GravitinoHiveCatalogFactory.java | 16 +- ...er.java => HiveCatalogPropertiesConverter.java} | 33 +- .../HiveSchemaAndTablePropertiesConverter.java | 234 + .../connector/iceberg/GravitinoIcebergCatalog.java | 6 +- .../iceberg/GravitinoIcebergCatalogFactory.java | 16 +- .../iceberg/IcebergPropertiesConverter.java | 6 +- .../flink/connector/jdbc/GravitinoJdbcCatalog.java | 6 +- .../jdbc/GravitinoJdbcCatalogFactory.java | 5 +- .../connector/jdbc/JdbcPropertiesConverter.java | 10 +- .../mysql/GravitinoMysqlJdbcCatalogFactory.java | 9 +- .../GravitinoPostgresJdbcCatalogFactory.java | 9 +- .../connector/paimon/GravitinoPaimonCatalog.java | 6 +- .../paimon/GravitinoPaimonCatalogFactory.java | 11 +- .../paimon/PaimonPropertiesConverter.java | 6 +- .../connector/store/GravitinoCatalogStore.java | 9 +- .../flink/connector/catalog/TestBaseCatalog.java | 4 +- .../connector/hive/TestFlinkGenericTableUtil.java | 139 + .../hive/TestHivePropertiesConverter.java | 3 +- .../TestHiveSchemaAndTablePropertiesConverter.java | 131 + .../connector/integration/test/FlinkEnvIT.java | 4 +- .../integration/test/hive/FlinkHiveCatalogIT.java | 802 +- .../test/hive/FlinkHiveKerberosClientIT.java | 4 +- .../paimon/TestPaimonPropertiesConverter.java | 4 +- gradle/libs.versions.toml | 7 +- iceberg/iceberg-common/build.gradle.kts | 3 + .../iceberg/common/ops/IcebergCatalogWrapper.java | 5 +- .../org/apache/gravitino/iceberg/RESTService.java | 13 +- .../iceberg/server/GravitinoIcebergRESTServer.java | 2 +- .../iceberg/service/CatalogWrapperForREST.java | 46 +- .../service/IcebergCatalogWrapperManager.java | 8 +- .../authorization/IcebergRESTServerContext.java | 18 +- .../service/dispatcher/IcebergOwnershipUtils.java | 34 +- .../dispatcher/IcebergViewHookDispatcher.java | 154 + .../provider/DynamicIcebergConfigProvider.java | 186 +- .../iceberg/service/TestCatalogWrapperForREST.java | 28 + .../TestIcebergCatalogWrapperManagerForREST.java | 6 +- .../iceberg/service/TestIcebergRESTUtils.java | 2 +- .../dispatcher/TestIcebergOwnershipUtils.java | 34 +- .../TestIcebergViewOperationExecutor.java | 176 + .../provider/TestDynamicIcebergConfigProvider.java | 420 +- .../iceberg/service/rest/IcebergRestTestUtil.java | 2 +- .../service/rest/TestIcebergTableOperations.java | 25 +- .../test/container/ClickHouseContainer.java | 158 + .../integration/test/container/ContainerSuite.java | 35 +- .../integration/test/util/TestDatabaseName.java | 14 + .../lance/common/ops/LanceTableOperations.java | 10 + .../gravitino/GravitinoLanceTableAlterHandler.java | 140 + .../gravitino/GravitinoLanceTableOperations.java | 54 +- .../lance/common/utils/LanceConstants.java | 1 + .../apache/gravitino/lance/LanceRESTService.java | 7 +- .../lance/server/GravitinoLanceRESTServer.java | 2 +- .../lance/service/rest/LanceTableOperations.java | 74 + .../lance/integration/test/LanceRESTServiceIT.java | 106 +- .../rest/TestGravitinoLanceTableOperations.java | 77 + .../service/rest/TestLanceNamespaceOperations.java | 138 + maintenance/jobs/build.gradle.kts | 33 +- .../jobs/BuiltInJobTemplateProvider.java | 4 +- .../jobs/iceberg/IcebergRewriteDataFilesJob.java | 522 ++ .../iceberg/TestIcebergRewriteDataFilesJob.java | 711 ++ .../TestIcebergRewriteDataFilesJobWithSpark.java | 435 ++ mcp-server/build.gradle.kts | 7 +- scripts/h2/schema-1.2.0-h2.sql | 512 ++ scripts/h2/upgrade-1.1.0-to-1.2.0-h2.sql | 83 + scripts/mysql/schema-1.2.0-mysql.sql | 502 ++ scripts/mysql/upgrade-1.1.0-to-1.2.0-mysql.sql | 82 + scripts/postgresql/schema-1.2.0-postgresql.sql | 886 +++ .../upgrade-1.1.0-to-1.2.0-postgresql.sql | 127 + server-common/build.gradle.kts | 1 + .../server/authentication/JwksTokenValidator.java | 36 +- .../authentication/KerberosAuthenticator.java | 35 +- .../server/authentication/KerberosConfig.java | 22 + .../server/authentication/OAuthConfig.java | 24 +- .../authentication/StaticSignKeyValidator.java | 35 +- .../server/authorization/MetadataAuthzHelper.java | 20 +- .../authorization/jcasbin/JcasbinAuthorizer.java | 82 +- .../authentication/TestJwksTokenValidator.java | 213 + .../authentication/TestStaticSignKeyValidator.java | 232 + .../jcasbin/TestJcasbinAuthorizer.java | 142 +- .../apache/gravitino/server/GravitinoServer.java | 2 + .../web/filter/GravitinoInterceptionService.java | 2 + .../server/web/rest/ExceptionHandlers.java | 43 + .../server/web/rest/FunctionOperations.java | 257 + .../gravitino/server/web/rest/GroupOperations.java | 14 +- .../web/rest/MetadataObjectRoleOperations.java | 2 + .../gravitino/server/web/rest/OwnerOperations.java | 3 + .../server/web/rest/PermissionOperations.java | 8 + .../gravitino/server/web/rest/RoleOperations.java | 14 +- .../gravitino/server/web/rest/UserOperations.java | 15 +- .../gravitino/server/web/TestConfigServlet.java | 18 + .../server/web/rest/TestFunctionOperations.java | 758 ++ .../server/web/rest/TestGroupOperations.java | 83 +- .../web/rest/TestMetadataObjectRoleOperations.java | 25 +- .../server/web/rest/TestOwnerOperations.java | 24 +- .../server/web/rest/TestPermissionOperations.java | 107 +- .../server/web/rest/TestRoleOperations.java | 68 +- .../server/web/rest/TestTableOperations.java | 2 +- .../server/web/rest/TestUserOperations.java | 83 +- settings.gradle.kts | 7 +- .../build.gradle.kts | 10 +- web-v2/integration-test/build.gradle.kts | 72 + .../test/web/ui/CatalogsPageDorisTest.java | 268 + .../test/web/ui/CatalogsPageKafkaTest.java | 173 + .../integration/test/web/ui/CatalogsPageTest.java | 676 ++ .../integration/test/web/ui/MetalakePageTest.java | 183 + .../test/web/ui/pages/CatalogsPage.java | 1623 ++++ .../test/web/ui/pages/MetalakePage.java | 258 +- .../integration/test/web/ui/utils/BaseWebIT.java | 12 +- .../test/web/ui/utils/ChromeWebDriverProvider.java | 178 + .../test/web/ui/utils/WebDriverManager.java | 7 +- .../test/web/ui/utils/WebDriverProvider.java | 17 +- .../src/test/resources/log4j2.properties | 7 +- .../web/.editorconfig | 20 +- .../jdbc-oceanbase.conf => web-v2/web/.env | 12 +- .../jdbc-oceanbase.conf => web-v2/web/.env.analyze | 12 +- .../jdbc-oceanbase.conf => web-v2/web/.env.static | 14 +- .../web/.gitignore | 44 +- .../web/.npmrc | 3 +- .../web/.nvmrc | 4 +- .../web/.prettierignore | 10 +- .../web/.prettierrc.js | 23 +- web-v2/web/LICENSE | 216 + web-v2/web/LICENSE.bin | 869 +++ web-v2/web/NOTICE | 11 + web-v2/web/NOTICE.bin | 11 + web-v2/web/README.md | 149 + web-v2/web/WEB-INF/web.xml | 45 + {web => web-v2}/web/build.gradle.kts | 2 - web-v2/web/eslint.config.mjs | 69 + web-v2/web/jsconfig.json | 33 + web-v2/web/licenses/CC0.txt | 121 + web-v2/web/licenses/aashutoshrathi-word-wrap.txt | 21 + web-v2/web/licenses/acorn-jsx.txt | 19 + web-v2/web/licenses/acorn.txt | 21 + web-v2/web/licenses/ajv.txt | 22 + web-v2/web/licenses/alloc-quick-lru.txt | 9 + web-v2/web/licenses/ansi-regex.txt | 9 + web-v2/web/licenses/ansi-styles.txt | 9 + web-v2/web/licenses/ant-design-colors.txt | 22 + web-v2/web/licenses/ant-design-cssinjs.txt | 9 + web-v2/web/licenses/ant-design-icons-svg.txt | 22 + web-v2/web/licenses/ant-design-react-slick.txt | 22 + web-v2/web/licenses/antd-colors.txt | 22 + web-v2/web/licenses/antd-icons-svg.txt | 22 + web-v2/web/licenses/antd-icons.txt | 22 + web-v2/web/licenses/antd.txt | 22 + web-v2/web/licenses/antfu-install-pkg.txt | 21 + web-v2/web/licenses/antfu-utils.txt | 21 + web-v2/web/licenses/antfu_install-pkg.txt | 21 + web-v2/web/licenses/antfu_utils.txt | 21 + web-v2/web/licenses/any-promise.txt | 19 + web-v2/web/licenses/anymatch.txt | 15 + web-v2/web/licenses/arg.txt | 21 + web-v2/web/licenses/argparse.txt | 254 + web-v2/web/licenses/array-buffer-byte-length.txt | 21 + web-v2/web/licenses/array-includes.txt | 21 + web-v2/web/licenses/array-prototype-findlast.txt | 21 + .../web/licenses/array-prototype-findlastindex.txt | 21 + web-v2/web/licenses/array-prototype-flat.txt | 21 + web-v2/web/licenses/array-prototype-flatmap.txt | 21 + web-v2/web/licenses/array-prototype-toreversed.txt | 21 + web-v2/web/licenses/array-prototype-tosorted.txt | 21 + web-v2/web/licenses/array-tree-filter.txt | 7 + web-v2/web/licenses/array-union.txt | 9 + .../web/licenses/arraybuffer-prototype-slice.txt | 21 + web-v2/web/licenses/ast-types-flow.txt | 21 + web-v2/web/licenses/async-validator.txt | 9 + web-v2/web/licenses/asynckit.txt | 21 + web-v2/web/licenses/autoprefixer.txt | 20 + web-v2/web/licenses/available-typed-arrays.txt | 21 + web-v2/web/licenses/axe-core.txt | 362 + web-v2/web/licenses/axios.txt | 19 + web-v2/web/licenses/babel-code-frame.txt | 22 + .../web/licenses/babel-helper-module-imports.txt | 22 + web-v2/web/licenses/babel-helper-string-parser.txt | 22 + .../licenses/babel-helper-validator-identifier.txt | 22 + web-v2/web/licenses/babel-highlight.txt | 22 + web-v2/web/licenses/babel-plugin-macros.txt | 20 + web-v2/web/licenses/babel-runtime.txt | 22 + web-v2/web/licenses/babel-types.txt | 22 + web-v2/web/licenses/balanced-match.txt | 21 + web-v2/web/licenses/binary-extensions.txt | 10 + web-v2/web/licenses/boolbase.txt | 13 + web-v2/web/licenses/brace-expansion.txt | 21 + web-v2/web/licenses/braces.txt | 21 + web-v2/web/licenses/browserslist.txt | 20 + web-v2/web/licenses/buffer-crc32.txt | 19 + web-v2/web/licenses/busboy.txt | 19 + web-v2/web/licenses/call-bind-apply-helpers.txt | 21 + web-v2/web/licenses/call-bind.txt | 21 + web-v2/web/licenses/call-bound.txt | 21 + web-v2/web/licenses/callsites.txt | 9 + web-v2/web/licenses/camelcase-css.txt | 21 + web-v2/web/licenses/caniuse-lite.txt | 395 + web-v2/web/licenses/chalk.txt | 9 + web-v2/web/licenses/cheerio-select.txt | 11 + web-v2/web/licenses/cheerio.txt | 21 + web-v2/web/licenses/chokidar.txt | 21 + web-v2/web/licenses/chownr.txt | 63 + web-v2/web/licenses/chroma-js.txt | 54 + web-v2/web/licenses/classnames.txt | 21 + web-v2/web/licenses/cliui.txt | 14 + web-v2/web/licenses/clsx.txt | 9 + web-v2/web/licenses/color-convert.txt | 22 + web-v2/web/licenses/color-name.txt | 8 + web-v2/web/licenses/combined-stream.txt | 19 + web-v2/web/licenses/commander.txt | 22 + web-v2/web/licenses/compute-scroll-into-view.txt | 21 + web-v2/web/licenses/concat-map.txt | 21 + web-v2/web/licenses/confbox.txt | 118 + web-v2/web/licenses/convert-source-map.txt | 23 + web-v2/web/licenses/copy-to-clipboard.txt | 21 + web-v2/web/licenses/cosmiconfig.txt | 22 + web-v2/web/licenses/cross-spawn.txt | 21 + web-v2/web/licenses/css-in-js-utils.txt | 21 + web-v2/web/licenses/css-select.txt | 11 + web-v2/web/licenses/css-tree.txt | 19 + web-v2/web/licenses/css-what.txt | 11 + web-v2/web/licenses/cssesc.txt | 20 + web-v2/web/licenses/cssinjs.txt | 9 + web-v2/web/licenses/csso.txt | 20 + web-v2/web/licenses/csstype.txt | 19 + web-v2/web/licenses/ctrl-tinycolor.txt | 7 + web-v2/web/licenses/damerau-levenshtein.txt | 25 + web-v2/web/licenses/data-view-buffer.txt | 21 + web-v2/web/licenses/data-view-byte-length.txt | 21 + web-v2/web/licenses/data-view-byte-offset.txt | 21 + web-v2/web/licenses/dayjs.txt | 21 + web-v2/web/licenses/debounce.txt | 11 + web-v2/web/licenses/debug.txt | 20 + web-v2/web/licenses/deep-is.txt | 22 + web-v2/web/licenses/define-data-property.txt | 21 + web-v2/web/licenses/define-properties.txt | 21 + web-v2/web/licenses/delayed-stream.txt | 19 + web-v2/web/licenses/dequal.txt | 21 + web-v2/web/licenses/dir-glob.txt | 9 + web-v2/web/licenses/discoveryjs-json-ext.txt | 21 + web-v2/web/licenses/dom-helpers.txt | 21 + web-v2/web/licenses/dom-serializer.txt | 7 + web-v2/web/licenses/domelementtype.txt | 11 + web-v2/web/licenses/domhandler.txt | 11 + web-v2/web/licenses/domutils.txt | 11 + web-v2/web/licenses/dunder-proto.txt | 21 + web-v2/web/licenses/duplexer.txt | 19 + web-v2/web/licenses/electron-to-chromium.txt | 5 + web-v2/web/licenses/emoji-regex.txt | 20 + web-v2/web/licenses/end-of-stream.txt | 21 + web-v2/web/licenses/enhanced-resolve.txt | 20 + web-v2/web/licenses/entities.txt | 11 + web-v2/web/licenses/env-cmd.txt | 21 + web-v2/web/licenses/error-ex.txt | 21 + web-v2/web/licenses/error-stack-parser.txt | 19 + web-v2/web/licenses/es-abstract.txt | 21 + web-v2/web/licenses/es-define-property.txt | 21 + web-v2/web/licenses/es-errors.txt | 21 + web-v2/web/licenses/es-iterator-helpers.txt | 21 + web-v2/web/licenses/es-object-atoms.txt | 21 + web-v2/web/licenses/es-set-tostringtag.txt | 21 + web-v2/web/licenses/es-shim-unscopables.txt | 21 + web-v2/web/licenses/es-to-primitive.txt | 22 + web-v2/web/licenses/esbuild.txt | 21 + web-v2/web/licenses/escalade.txt | 9 + web-v2/web/licenses/escape-string-regexp.txt | 9 + .../web/licenses/eslint-community-eslint-utils.txt | 21 + web-v2/web/licenses/eslint-community-regexpp.txt | 21 + web-v2/web/licenses/eslint-config-prettier.txt | 21 + web-v2/web/licenses/eslint-eslintrc.txt | 19 + .../web/licenses/eslint-import-resolver-node.txt | 22 + .../licenses/eslint-import-resolver-typescript.txt | 5 + web-v2/web/licenses/eslint-js.txt | 19 + web-v2/web/licenses/eslint-module-utils.txt | 22 + web-v2/web/licenses/eslint-plugin-import.txt | 22 + web-v2/web/licenses/eslint-plugin-jsx-a11y.txt | 8 + web-v2/web/licenses/eslint-plugin-react-hooks.txt | 21 + web-v2/web/licenses/eslint-plugin-react.txt | 22 + web-v2/web/licenses/eslint-regexpp.txt | 21 + web-v2/web/licenses/eslint-scope.txt | 22 + web-v2/web/licenses/eslint-utils.txt | 21 + web-v2/web/licenses/eslint-visitor-keys.txt | 201 + web-v2/web/licenses/eslint.txt | 19 + web-v2/web/licenses/eslintrc.txt | 19 + web-v2/web/licenses/espree.txt | 25 + web-v2/web/licenses/esquery.txt | 24 + web-v2/web/licenses/esrecurse.txt | 25 + web-v2/web/licenses/estraverse.txt | 19 + web-v2/web/licenses/esutils.txt | 19 + web-v2/web/licenses/execa.txt | 9 + web-v2/web/licenses/extract-zip.txt | 23 + web-v2/web/licenses/fast-color.txt | 20 + web-v2/web/licenses/fast-deep-equal.txt | 21 + web-v2/web/licenses/fast-glob.txt | 9 + web-v2/web/licenses/fast-json-stable-stringify.txt | 21 + web-v2/web/licenses/fast-levenshtein.txt | 25 + web-v2/web/licenses/fast-loops.txt | 21 + web-v2/web/licenses/fast-shallow-equal.txt | 24 + web-v2/web/licenses/fastest-stable-stringify.txt | 18 + web-v2/web/licenses/fastq.txt | 13 + web-v2/web/licenses/fd-slicer.txt | 21 + web-v2/web/licenses/file-entry-cache.txt | 22 + web-v2/web/licenses/fill-range.txt | 21 + web-v2/web/licenses/find-root.md | 7 + web-v2/web/licenses/find-root.txt | 7 + web-v2/web/licenses/find-up.txt | 9 + web-v2/web/licenses/flat-cache.txt | 22 + web-v2/web/licenses/flatted.txt | 15 + web-v2/web/licenses/floating-ui-core.txt | 21 + web-v2/web/licenses/floating-ui-dom.txt | 21 + web-v2/web/licenses/floating-ui-react-dom.txt | 21 + web-v2/web/licenses/floating-ui-utils.txt | 21 + web-v2/web/licenses/follow-redirects.txt | 18 + web-v2/web/licenses/for-each.txt | 22 + web-v2/web/licenses/foreground-child.txt | 15 + web-v2/web/licenses/form-data.txt | 19 + web-v2/web/licenses/fraction-js.txt | 21 + web-v2/web/licenses/fs-minipass.txt | 15 + web-v2/web/licenses/fs-realpath.txt | 43 + web-v2/web/licenses/fsevents.txt | 22 + web-v2/web/licenses/function-bind.txt | 20 + web-v2/web/licenses/function-prototype-name.txt | 21 + web-v2/web/licenses/functions-have-names.txt | 21 + web-v2/web/licenses/gen-mapping.txt | 19 + web-v2/web/licenses/get-intrinsic.txt | 21 + web-v2/web/licenses/get-proto.txt | 21 + web-v2/web/licenses/get-stream.txt | 9 + web-v2/web/licenses/get-symbol-description.txt | 21 + web-v2/web/licenses/get-tsconfig.txt | 21 + web-v2/web/licenses/glob-parent.txt | 15 + web-v2/web/licenses/glob.txt | 15 + web-v2/web/licenses/globals.txt | 9 + web-v2/web/licenses/globalthis.txt | 21 + web-v2/web/licenses/globby.txt | 9 + web-v2/web/licenses/goober.txt | 21 + web-v2/web/licenses/gopd.txt | 21 + web-v2/web/licenses/graceful-fs.txt | 15 + web-v2/web/licenses/graphemer.txt | 18 + web-v2/web/licenses/gzip-size.txt | 9 + web-v2/web/licenses/has-bigints.txt | 21 + web-v2/web/licenses/has-flag.txt | 9 + web-v2/web/licenses/has-property-descriptors.txt | 21 + web-v2/web/licenses/has-proto.txt | 21 + web-v2/web/licenses/has-symbols.txt | 21 + web-v2/web/licenses/has-tostringtag.txt | 21 + web-v2/web/licenses/hasown.txt | 21 + web-v2/web/licenses/hoist-non-react-statics.txt | 29 + web-v2/web/licenses/hookform-resolvers.txt | 21 + web-v2/web/licenses/html-escaper.txt | 19 + web-v2/web/licenses/htmlparser2.txt | 18 + web-v2/web/licenses/human-signals.txt | 201 + .../web/licenses/humanwhocodes-object-schema.txt | 29 + web-v2/web/licenses/hyphenate-style-name.txt | 28 + web-v2/web/licenses/iconify-react.txt | 21 + web-v2/web/licenses/iconify-tools.txt | 21 + web-v2/web/licenses/iconify-types.txt | 21 + web-v2/web/licenses/iconify-utils.txt | 21 + web-v2/web/licenses/iconify.txt | 21 + web-v2/web/licenses/iconify_tools.txt | 21 + web-v2/web/licenses/icons-material.txt | 21 + web-v2/web/licenses/ignore.txt | 21 + web-v2/web/licenses/immer.txt | 21 + web-v2/web/licenses/import-fresh.txt | 9 + web-v2/web/licenses/imurmurhash.txt | 20 + web-v2/web/licenses/inflight.txt | 15 + web-v2/web/licenses/inherits.txt | 16 + web-v2/web/licenses/inline-style-prefixer.txt | 22 + web-v2/web/licenses/internal-slot.txt | 21 + web-v2/web/licenses/is-array-buffer.txt | 21 + web-v2/web/licenses/is-arrayish.txt | 21 + web-v2/web/licenses/is-async-function.txt | 21 + web-v2/web/licenses/is-bigint.txt | 21 + web-v2/web/licenses/is-binary-path.txt | 9 + web-v2/web/licenses/is-boolean-object.txt | 22 + web-v2/web/licenses/is-callable.txt | 22 + web-v2/web/licenses/is-core-module.txt | 20 + web-v2/web/licenses/is-data-view.txt | 21 + web-v2/web/licenses/is-date-object.txt | 22 + web-v2/web/licenses/is-extglob.txt | 21 + web-v2/web/licenses/is-finalizationregistry.txt | 21 + web-v2/web/licenses/is-fullwidth-code-point.txt | 9 + web-v2/web/licenses/is-generator-function.txt | 20 + web-v2/web/licenses/is-glob.txt | 21 + web-v2/web/licenses/is-map.txt | 21 + web-v2/web/licenses/is-negative-zero.txt | 20 + web-v2/web/licenses/is-number-object.txt | 22 + web-v2/web/licenses/is-number.txt | 21 + web-v2/web/licenses/is-path-inside.txt | 9 + web-v2/web/licenses/is-plain-object.txt | 21 + web-v2/web/licenses/is-regex.txt | 20 + web-v2/web/licenses/is-set.txt | 21 + web-v2/web/licenses/is-shared-array-buffer.txt | 21 + web-v2/web/licenses/is-stream.txt | 9 + web-v2/web/licenses/is-string.txt | 22 + web-v2/web/licenses/is-symbol.txt | 22 + web-v2/web/licenses/is-typed-array.txt | 22 + web-v2/web/licenses/is-weakmap.txt | 21 + web-v2/web/licenses/is-weakref.txt | 21 + web-v2/web/licenses/is-weakset.txt | 21 + web-v2/web/licenses/isaacs-cliui.txt | 14 + web-v2/web/licenses/isarray.txt | 21 + web-v2/web/licenses/isexe.txt | 15 + web-v2/web/licenses/iterator-prototype.txt | 21 + web-v2/web/licenses/jackspeak.txt | 55 + web-v2/web/licenses/jiti.txt | 21 + web-v2/web/licenses/jridgewell-gen-mapping.txt | 19 + web-v2/web/licenses/jridgewell-resolve-uri.txt | 19 + web-v2/web/licenses/jridgewell-set-array.txt | 19 + web-v2/web/licenses/jridgewell-sourcemap-codec.txt | 21 + web-v2/web/licenses/jridgewell-trace-mapping.txt | 19 + web-v2/web/licenses/js-cookie.txt | 21 + web-v2/web/licenses/js-tokens.txt | 21 + web-v2/web/licenses/js-yaml.txt | 21 + web-v2/web/licenses/jsdom.txt | 22 + web-v2/web/licenses/json-buffer.txt | 22 + web-v2/web/licenses/json-ext.txt | 21 + .../web/licenses/json-parse-even-better-errors.txt | 25 + web-v2/web/licenses/json-schema-traverse.txt | 21 + .../json-stable-stringify-without-jsonify.txt | 18 + web-v2/web/licenses/json2mq.txt | 22 + web-v2/web/licenses/json5.txt | 23 + web-v2/web/licenses/jsx-ast-utils.txt | 8 + web-v2/web/licenses/keyv.txt | 22 + web-v2/web/licenses/kolorist.txt | 21 + web-v2/web/licenses/language-tags.txt | 8 + web-v2/web/licenses/levn.txt | 22 + web-v2/web/licenses/lilconfig.txt | 21 + web-v2/web/licenses/lines-and-columns.txt | 21 + web-v2/web/licenses/local-pkg.txt | 21 + web-v2/web/licenses/locate-path.txt | 9 + web-v2/web/licenses/lodash-es.txt | 49 + web-v2/web/licenses/lodash-merge.txt | 49 + web-v2/web/licenses/lodash.txt | 49 + web-v2/web/licenses/loose-envify.txt | 21 + web-v2/web/licenses/lru-cache.txt | 15 + web-v2/web/licenses/math-intrinstics.txt | 21 + web-v2/web/licenses/mdn-data.txt | 116 + web-v2/web/licenses/merge-stream.txt | 21 + web-v2/web/licenses/merge2.txt | 21 + web-v2/web/licenses/micromatch.txt | 21 + web-v2/web/licenses/mime-db.txt | 23 + web-v2/web/licenses/mime-types.txt | 23 + web-v2/web/licenses/mimic-fn.txt | 9 + web-v2/web/licenses/minimatch.txt | 15 + web-v2/web/licenses/minimist.txt | 21 + web-v2/web/licenses/minipass.txt | 15 + web-v2/web/licenses/minizlib.txt | 26 + web-v2/web/licenses/mkdirp.txt | 21 + web-v2/web/licenses/mlly.txt | 21 + web-v2/web/licenses/mrmime.txt | 21 + web-v2/web/licenses/ms.txt | 21 + web-v2/web/licenses/mui-base.txt | 21 + web-v2/web/licenses/mui-core-downloads-tracker.txt | 21 + web-v2/web/licenses/mui-icons-material.txt | 21 + web-v2/web/licenses/mui-lab.txt | 21 + web-v2/web/licenses/mui-material.txt | 21 + web-v2/web/licenses/mui-private-theming.txt | 21 + web-v2/web/licenses/mui-styled-engine.txt | 21 + web-v2/web/licenses/mui-system.txt | 21 + web-v2/web/licenses/mui-types.txt | 21 + web-v2/web/licenses/mui-utils.txt | 21 + web-v2/web/licenses/mz.txt | 22 + web-v2/web/licenses/nano-css.txt | 24 + web-v2/web/licenses/nanoid.txt | 20 + web-v2/web/licenses/natural-compare.txt | 21 + web-v2/web/licenses/next.md | 21 + web-v2/web/licenses/node-releases.txt | 21 + web-v2/web/licenses/nodelib.txt | 21 + web-v2/web/licenses/normalize-path.txt | 21 + web-v2/web/licenses/normalize-range.txt | 21 + web-v2/web/licenses/npm-run-path.txt | 9 + web-v2/web/licenses/nprogress.md | 19 + web-v2/web/licenses/nth-check.txt | 11 + web-v2/web/licenses/object-assign.txt | 21 + web-v2/web/licenses/object-entries.txt | 22 + web-v2/web/licenses/object-fromentries.txt | 21 + web-v2/web/licenses/object-groupby.txt | 21 + web-v2/web/licenses/object-hash.txt | 22 + web-v2/web/licenses/object-hasown.txt | 21 + web-v2/web/licenses/object-inspect.txt | 21 + web-v2/web/licenses/object-keys.txt | 21 + web-v2/web/licenses/object-schema.txt | 29 + web-v2/web/licenses/object-values.txt | 22 + web-v2/web/licenses/once.txt | 15 + web-v2/web/licenses/onetime.txt | 9 + web-v2/web/licenses/opener.txt | 47 + web-v2/web/licenses/optionator.txt | 22 + web-v2/web/licenses/p-limit.txt | 9 + web-v2/web/licenses/p-locate.txt | 9 + web-v2/web/licenses/parent-module.txt | 9 + web-v2/web/licenses/parse-json.txt | 9 + .../licenses/parse5-htmlparser2-tree-adapter.txt | 19 + web-v2/web/licenses/parse5.txt | 19 + web-v2/web/licenses/path-exists.txt | 9 + web-v2/web/licenses/path-is-absolute.txt | 21 + web-v2/web/licenses/path-key.txt | 9 + web-v2/web/licenses/path-parse.txt | 21 + web-v2/web/licenses/path-scurry.txt | 55 + web-v2/web/licenses/path-type.txt | 9 + web-v2/web/licenses/pathe.txt | 44 + web-v2/web/licenses/pend.txt | 23 + web-v2/web/licenses/picocolors.txt | 15 + web-v2/web/licenses/picomatch.txt | 21 + web-v2/web/licenses/pify.txt | 9 + web-v2/web/licenses/pirates.txt | 21 + web-v2/web/licenses/pkg-types.txt | 44 + web-v2/web/licenses/polka-url.txt | 21 + web-v2/web/licenses/popperjs-core.txt | 21 + web-v2/web/licenses/possible-typed-array-names.txt | 21 + web-v2/web/licenses/postcss-import.txt | 20 + web-v2/web/licenses/postcss-js.txt | 20 + web-v2/web/licenses/postcss-load-config.txt | 20 + web-v2/web/licenses/postcss-nested.txt | 20 + web-v2/web/licenses/postcss-selector-parser.txt | 22 + web-v2/web/licenses/postcss-value-parser.txt | 22 + web-v2/web/licenses/postcss.txt | 20 + web-v2/web/licenses/prelude-ls.txt | 22 + web-v2/web/licenses/prettier.txt | 7 + web-v2/web/licenses/prop-types.txt | 21 + web-v2/web/licenses/property-expr.txt | 21 + web-v2/web/licenses/proxy-from-env.txt | 20 + web-v2/web/licenses/pump.txt | 21 + web-v2/web/licenses/punycode.txt | 20 + web-v2/web/licenses/qrcode-react.txt | 18 + web-v2/web/licenses/qrcode.react.txt | 18 + web-v2/web/licenses/qs.txt | 29 + web-v2/web/licenses/queue-microtask.txt | 20 + web-v2/web/licenses/quick-lru.txt | 9 + web-v2/web/licenses/rc-cascader.txt | 9 + web-v2/web/licenses/rc-checkbox.txt | 7 + web-v2/web/licenses/rc-collapse.txt | 9 + web-v2/web/licenses/rc-component-color-picker.txt | 9 + web-v2/web/licenses/rc-component-context.txt | 9 + web-v2/web/licenses/rc-component-mini-decimal.txt | 21 + .../web/licenses/rc-component-mutate-observer.txt | 21 + web-v2/web/licenses/rc-component-portal.txt | 21 + web-v2/web/licenses/rc-component-tour.txt | 21 + web-v2/web/licenses/rc-component-trigger.txt | 20 + web-v2/web/licenses/rc-dialog.txt | 9 + web-v2/web/licenses/rc-drawer.txt | 22 + web-v2/web/licenses/rc-dropdown.txt | 20 + web-v2/web/licenses/rc-field-form.txt | 21 + web-v2/web/licenses/rc-image.txt | 22 + web-v2/web/licenses/rc-input-number.txt | 9 + web-v2/web/licenses/rc-input.txt | 9 + web-v2/web/licenses/rc-mentions.txt | 9 + web-v2/web/licenses/rc-menu.txt | 9 + web-v2/web/licenses/rc-motion.txt | 9 + web-v2/web/licenses/rc-notification.txt | 9 + web-v2/web/licenses/rc-overflow.txt | 9 + web-v2/web/licenses/rc-pagination.txt | 9 + web-v2/web/licenses/rc-picker.txt | 9 + web-v2/web/licenses/rc-progress.txt | 9 + web-v2/web/licenses/rc-rate.txt | 9 + web-v2/web/licenses/rc-resize-observer.txt | 9 + web-v2/web/licenses/rc-segmented.txt | 9 + web-v2/web/licenses/rc-select.txt | 9 + web-v2/web/licenses/rc-slider.txt | 20 + web-v2/web/licenses/rc-steps.txt | 9 + web-v2/web/licenses/rc-switch.txt | 9 + web-v2/web/licenses/rc-table.txt | 9 + web-v2/web/licenses/rc-tabs.txt | 9 + web-v2/web/licenses/rc-textarea.txt | 9 + web-v2/web/licenses/rc-tooltip.txt | 21 + web-v2/web/licenses/rc-tree-select.txt | 22 + web-v2/web/licenses/rc-tree.txt | 22 + web-v2/web/licenses/rc-upload.txt | 21 + web-v2/web/licenses/rc-util.txt | 22 + web-v2/web/licenses/rc-virtual-list.txt | 21 + web-v2/web/licenses/react-dom.txt | 21 + web-v2/web/licenses/react-hook-form.txt | 21 + web-v2/web/licenses/react-hot-toast.txt | 21 + web-v2/web/licenses/react-is.txt | 21 + web-v2/web/licenses/react-redux.txt | 21 + web-v2/web/licenses/react-slick.txt | 21 + web-v2/web/licenses/react-transition-group.txt | 30 + web-v2/web/licenses/react-universal-interface.txt | 24 + web-v2/web/licenses/react-use.txt | 24 + web-v2/web/licenses/react.txt | 21 + web-v2/web/licenses/read-cache.txt | 20 + web-v2/web/licenses/readdirp.txt | 21 + web-v2/web/licenses/redux-thunk.txt | 21 + web-v2/web/licenses/redux.txt | 21 + web-v2/web/licenses/reduxjs-toolkit.txt | 21 + web-v2/web/licenses/reflect-getprototypeof.txt | 21 + web-v2/web/licenses/regenerator-runtime.txt | 21 + web-v2/web/licenses/regexp-prototype-flags.txt | 22 + web-v2/web/licenses/reselect.txt | 21 + web-v2/web/licenses/resize-observer-polyfill.txt | 21 + web-v2/web/licenses/resolve-from.txt | 9 + web-v2/web/licenses/resolve-pkg-maps.txt | 21 + web-v2/web/licenses/resolve-uri.txt | 19 + web-v2/web/licenses/resolve.txt | 21 + web-v2/web/licenses/reusify.txt | 22 + web-v2/web/licenses/rimraf.txt | 15 + web-v2/web/licenses/rtl-css-js.txt | 20 + web-v2/web/licenses/run-parallel.txt | 20 + web-v2/web/licenses/rushstack-eslint-patch.txt | 27 + web-v2/web/licenses/safe-array-concat.txt | 21 + web-v2/web/licenses/safe-regex-test.txt | 21 + web-v2/web/licenses/scheduler.txt | 21 + web-v2/web/licenses/screenfull.txt | 9 + web-v2/web/licenses/scroll-into-view-if-needed.txt | 21 + web-v2/web/licenses/semver.txt | 15 + web-v2/web/licenses/set-array.txt | 19 + web-v2/web/licenses/set-function-length.txt | 21 + web-v2/web/licenses/set-function-name.txt | 21 + web-v2/web/licenses/set-harmonic-interval.txt | 9 + web-v2/web/licenses/shebang-command.txt | 9 + web-v2/web/licenses/shebang-regex.txt | 9 + web-v2/web/licenses/side-channel.txt | 21 + web-v2/web/licenses/signal-exit.txt | 16 + web-v2/web/licenses/sirv.txt | 21 + web-v2/web/licenses/slash.txt | 9 + web-v2/web/licenses/source-map-js.txt | 28 + web-v2/web/licenses/source-map.txt | 28 + web-v2/web/licenses/stack-generator.txt | 19 + web-v2/web/licenses/stackframe.txt | 19 + web-v2/web/licenses/stacktrace-gps.txt | 19 + web-v2/web/licenses/stacktrace-js.txt | 19 + web-v2/web/licenses/streamsearch.txt | 19 + web-v2/web/licenses/string-convert.txt | 21 + web-v2/web/licenses/string-prototype-matchall.txt | 22 + web-v2/web/licenses/string-prototype-trim.txt | 21 + web-v2/web/licenses/string-prototype-trimend.txt | 21 + web-v2/web/licenses/string-prototype-trimstart.txt | 21 + web-v2/web/licenses/string-width-cjs.txt | 9 + web-v2/web/licenses/string-width.txt | 9 + web-v2/web/licenses/strip-ansi-cjs.txt | 9 + web-v2/web/licenses/strip-ansi.txt | 9 + web-v2/web/licenses/strip-bom.txt | 9 + web-v2/web/licenses/strip-final-newline.txt | 9 + web-v2/web/licenses/strip-json-comments.txt | 9 + web-v2/web/licenses/styled-jsx.md | 21 + web-v2/web/licenses/stylis.txt | 21 + web-v2/web/licenses/sucrase.txt | 21 + web-v2/web/licenses/supports-color.txt | 9 + .../licenses/supports-preserve-symlinks-flag.txt | 21 + web-v2/web/licenses/svgo.txt | 21 + web-v2/web/licenses/tailwindcss.txt | 21 + web-v2/web/licenses/tapable.txt | 21 + web-v2/web/licenses/tar.txt | 15 + web-v2/web/licenses/text-table.txt | 18 + web-v2/web/licenses/thejoshwolfe-yauzl.txt | 21 + web-v2/web/licenses/thenify-all.txt | 22 + web-v2/web/licenses/thenify.txt | 22 + web-v2/web/licenses/throttle-debounce.txt | 325 + web-v2/web/licenses/tinycolor.txt | 7 + web-v2/web/licenses/to-fast-properties.txt | 12 + web-v2/web/licenses/to-regex-range.txt | 21 + web-v2/web/licenses/toggle-selection.txt | 21 + web-v2/web/licenses/toposort.txt | 21 + web-v2/web/licenses/totalist.txt | 21 + web-v2/web/licenses/trace-mapping.txt | 19 + web-v2/web/licenses/trysound-sax.txt | 15 + web-v2/web/licenses/ts-api-utils.txt | 20 + web-v2/web/licenses/ts-easing.txt | 24 + web-v2/web/licenses/tsconfig-paths.txt | 21 + web-v2/web/licenses/tslib.txt | 12 + web-v2/web/licenses/tsx.txt | 21 + web-v2/web/licenses/type-check.txt | 22 + web-v2/web/licenses/type-fest.txt | 121 + web-v2/web/licenses/typed-array-buffer.txt | 21 + web-v2/web/licenses/typed-array-byte-length.txt | 21 + web-v2/web/licenses/typed-array-byte-offset.txt | 21 + web-v2/web/licenses/typed-array-length.txt | 21 + .../web/licenses/types-hoist-non-react-statics.txt | 8 + web-v2/web/licenses/types-js-cookie.txt | 8 + web-v2/web/licenses/types-lodash-es.txt | 8 + web-v2/web/licenses/types-lodash.txt | 8 + web-v2/web/licenses/types-node.txt | 8 + web-v2/web/licenses/types-qs.txt | 8 + web-v2/web/licenses/types-tar.txt | 8 + web-v2/web/licenses/types-yauzl.txt | 8 + web-v2/web/licenses/typescript-eslint-parser.txt | 26 + .../licenses/typescript-eslint-scope-manager.txt | 26 + web-v2/web/licenses/typescript-eslint-types.txt | 26 + .../typescript-eslint-typescript-estree.txt | 26 + .../licenses/typescript-eslint-visitor-keys.txt | 26 + web-v2/web/licenses/ufo.txt | 21 + web-v2/web/licenses/unbox-primitive.txt | 21 + web-v2/web/licenses/undici-types.txt | 21 + web-v2/web/licenses/ungap-structured-clone.txt | 15 + web-v2/web/licenses/update-browserslist-db.txt | 20 + web-v2/web/licenses/uri-js.txt | 11 + web-v2/web/licenses/use-sync-external-store.txt | 21 + web-v2/web/licenses/util-deprecate.txt | 24 + web-v2/web/licenses/vben.txt | 21 + web-v2/web/licenses/webpack-bundle-analyzer.txt | 20 + web-v2/web/licenses/which-boxed-primitive.txt | 21 + web-v2/web/licenses/which-builtin-type.txt | 21 + web-v2/web/licenses/which-collection.txt | 21 + web-v2/web/licenses/which-typed-array.txt | 22 + web-v2/web/licenses/which.txt | 15 + web-v2/web/licenses/word-wrap.txt | 21 + web-v2/web/licenses/wrap-ansi-cjs.txt | 9 + web-v2/web/licenses/wrap-ansi.txt | 9 + web-v2/web/licenses/wrappy.txt | 15 + web-v2/web/licenses/ws.txt | 20 + web-v2/web/licenses/xobotyi-scrollbar-width.txt | 21 + web-v2/web/licenses/yallist.txt | 15 + web-v2/web/licenses/yaml.txt | 13 + web-v2/web/licenses/yauzl.txt | 21 + web-v2/web/licenses/yocto-queue.txt | 9 + web-v2/web/licenses/yup.txt | 21 + web-v2/web/next.config.js | 62 + web-v2/web/package.json | 73 + web-v2/web/pnpm-lock.yaml | 7803 ++++++++++++++++++++ .../web/postcss.config.js | 11 +- web-v2/web/public/icons/favicon.ico | Bin 0 -> 258782 bytes web-v2/web/public/icons/git-fork.svg | 20 + web-v2/web/public/icons/github-mark.svg | 20 + web-v2/web/public/icons/gravitino.ico | Bin 0 -> 258782 bytes web-v2/web/public/icons/gravitino.png | Bin 0 -> 6528 bytes web-v2/web/public/icons/gravitino.svg | 31 + web-v2/web/public/icons/gravitino_black.png | Bin 0 -> 4065 bytes web-v2/web/public/icons/gravitino_black.svg | 31 + web-v2/web/public/icons/gravitino_old.svg | 31 + web-v2/web/public/icons/gravitino_white.png | Bin 0 -> 4792 bytes web-v2/web/public/icons/gravitino_white.svg | 31 + web-v2/web/public/image/login-bg.jpg | Bin 0 -> 1915229 bytes .../web/src/app/access/layout.js | 18 +- .../web/src/app/access/page.js | 8 +- .../web/src/app/access/roles/CreateRoleDialog.js | 392 + web-v2/web/src/app/access/roles/page.js | 249 + .../app/access/userGroups/AddUserGroupDialog.js | 105 + .../userGroups/GrantRolesForUserGroupDialog.js | 118 + web-v2/web/src/app/access/userGroups/page.js | 213 + web-v2/web/src/app/access/users/AddUserDialog.js | 110 + .../app/access/users/GrantRolesForUserDialog.js | 114 + web-v2/web/src/app/access/users/page.js | 209 + web-v2/web/src/app/catalogs/TreeComponent.js | 636 ++ .../web/src/app/catalogs/layout.js | 12 +- web-v2/web/src/app/catalogs/page.js | 304 + .../catalogs/rightContent/CreateCatalogDialog.js | 627 ++ .../catalogs/rightContent/CreateFilesetDialog.js | 433 ++ .../catalogs/rightContent/CreateSchemaDialog.js | 250 + .../app/catalogs/rightContent/CreateTableDialog.js | 1534 ++++ .../app/catalogs/rightContent/CreateTopicDialog.js | 218 + .../app/catalogs/rightContent/LinkVersionDialog.js | 418 ++ .../catalogs/rightContent/RegisterModelDialog.js | 220 + .../src/app/catalogs/rightContent/RightContent.js | 242 + .../entitiesContent/CatalogDetailsPage.js | 543 ++ .../rightContent/entitiesContent/CatalogsPage.js | 378 + .../entitiesContent/FilesetDetailsPage.js | 319 + .../rightContent/entitiesContent/ListFiles.js | 235 + .../entitiesContent/ModelDetailsPage.js | 493 ++ .../entitiesContent/SchemaDetailsPage.js | 652 ++ .../entitiesContent/TableDetailsPage.js | 657 ++ .../entitiesContent/TopicDetailsPage.js | 220 + .../web/src/app/compliance/layout.js | 18 +- .../web/src/app/compliance/page.js | 8 +- .../app/compliance/policies/CreatePolicyDialog.js | 253 + web-v2/web/src/app/compliance/policies/page.js | 374 + .../web/src/app/compliance/tags/CreateTagDialog.js | 181 + web-v2/web/src/app/compliance/tags/page.js | 216 + web-v2/web/src/app/jobTemplates/page.js | 449 ++ web-v2/web/src/app/jobs/CreateJobDialog.js | 486 ++ .../web/src/app/jobs/RegisterJobTemplateDialog.js | 436 ++ web-v2/web/src/app/jobs/page.js | 378 + .../web/src/app/layout.js | 40 +- .../web/src/app/login/components/DefaultLogin.js | 119 + web-v2/web/src/app/login/components/OidcLogin.js | 114 + web-v2/web/src/app/login/page.js | 79 + .../web/src/app/metadataObjectsForPolicy/page.js | 167 + web-v2/web/src/app/metadataObjectsForTag/page.js | 160 + .../web/src/app/metalakes/CreateMetalakeDialog.js | 166 + .../web/src/app/metalakes/layout.js | 12 +- web-v2/web/src/app/metalakes/page.js | 400 + web-v2/web/src/app/oauth/callback/page.js | 74 + web-v2/web/src/app/oauth/logout/page.js | 69 + .../web/src/app/oauth/silent-callback/page.js | 35 +- .../web/src/app/page.js | 10 +- web-v2/web/src/app/rootLayout/Footer.js | 68 + web-v2/web/src/app/rootLayout/GitHubInfo.js | 77 + .../web/src/app/rootLayout/Layout.js | 43 +- .../web/src/app/rootLayout/MainContent.js | 10 +- web-v2/web/src/app/rootLayout/MainNav.js | 191 + .../web/src/app/rootLayout/ScrollToTop.js | 14 +- web-v2/web/src/app/rootLayout/SiteHeader.js | 129 + web-v2/web/src/app/rootLayout/UserSetting.js | 171 + .../web/src/app/rootLayout/navigation-events.js | 21 +- .../web/src/app/template.js | 10 +- web-v2/web/src/components/AssociatedTable.js | 133 + web-v2/web/src/components/ColumnTypeComponent.js | 255 + web-v2/web/src/components/ConfirmInput.js | 119 + web-v2/web/src/components/CustomTags.js | 203 + .../web/src/components/EntityPropertiesFormItem.js | 313 + .../web/src/components/GetOwner.js | 37 +- web-v2/web/src/components/Icons.js | 505 ++ web-v2/web/src/components/LeftNavForCompliance.js | 89 + .../web/src/components/Loading.js | 20 +- web-v2/web/src/components/PolicyTag.js | 206 + web-v2/web/src/components/PropertiesContent.js | 62 + .../web/src/components/SectionContainer.js | 16 +- .../src/components/SecurableObjectFormFields.js | 964 +++ web-v2/web/src/components/SetOwnerDialog.js | 136 + .../src/components/SpecialColumnTypeComponent.js | 412 ++ web-v2/web/src/components/StyledToast.js | 64 + web-v2/web/src/components/TableActions.js | 66 + web-v2/web/src/components/UserAndGroupCascader.js | 132 + web-v2/web/src/config/catalog.js | 728 ++ web-v2/web/src/config/index.js | 318 + .../web/src/config/routes.js | 22 +- web-v2/web/src/config/security.js | 151 + .../web/src/config/themeConfig.js | 26 +- .../web/src/lib/api/auth/index.js | 26 +- web-v2/web/src/lib/api/catalogs/index.js | 80 + web-v2/web/src/lib/api/filesets/index.js | 77 + .../web/src/lib/api/github/index.js | 19 +- web-v2/web/src/lib/api/jobs/index.js | 96 + web-v2/web/src/lib/api/metalakes/index.js | 122 + web-v2/web/src/lib/api/models/index.js | 110 + web-v2/web/src/lib/api/policies/index.js | 80 + web-v2/web/src/lib/api/roles/index.js | 74 + web-v2/web/src/lib/api/schemas/index.js | 59 + web-v2/web/src/lib/api/tables/index.js | 61 + web-v2/web/src/lib/api/tags/index.js | 70 + web-v2/web/src/lib/api/topics/index.js | 61 + web-v2/web/src/lib/api/userGroups/index.js | 65 + web-v2/web/src/lib/api/users/index.js | 65 + .../web/src/lib/api/version/index.js | 16 +- web-v2/web/src/lib/auth/providers/base.js | 70 + web-v2/web/src/lib/auth/providers/factory.js | 127 + web-v2/web/src/lib/auth/providers/factory.test.js | 205 + web-v2/web/src/lib/auth/providers/generic.js | 77 + web-v2/web/src/lib/auth/providers/oidc.js | 155 + web-v2/web/src/lib/auth/providers/oidc.test.js | 312 + web-v2/web/src/lib/enums/httpEnum.js | 54 + .../web/src/lib/hooks/use-reset.js | 22 +- .../web/src/lib/hooks/useHasMounted.js | 18 +- .../web/src/lib/hooks/useStore.js | 14 +- web-v2/web/src/lib/icons/iconify-icons.css | 56 + web-v2/web/src/lib/icons/iconify-icons.js | 81 + web-v2/web/src/lib/icons/svg/doris.svg | 7 + web-v2/web/src/lib/icons/svg/hive.svg | 51 + web-v2/web/src/lib/icons/svg/hudi.svg | 30 + web-v2/web/src/lib/icons/svg/oceanbase.svg | 18 + web-v2/web/src/lib/icons/svg/paimon.svg | 21 + web-v2/web/src/lib/icons/svg/starrocks.svg | 23 + web-v2/web/src/lib/provider/AntdProvider.js | 70 + web-v2/web/src/lib/provider/ThemeProvider.js | 74 + .../web/src/lib/provider/client.js | 20 +- .../web/src/lib/provider/index.js | 25 +- web-v2/web/src/lib/provider/session.js | 155 + .../web/src/lib/provider/store.js | 22 +- .../web/src/lib/settings/index.js | 11 +- web-v2/web/src/lib/store/auth/index.js | 215 + .../web/src/lib/store/index.js | 51 +- web-v2/web/src/lib/store/jobs/index.js | 232 + web-v2/web/src/lib/store/metalakes/index.js | 2153 ++++++ web-v2/web/src/lib/store/policies/index.js | 185 + web-v2/web/src/lib/store/roles/index.js | 174 + web-v2/web/src/lib/store/sys/index.js | 126 + web-v2/web/src/lib/store/tags/index.js | 162 + web-v2/web/src/lib/store/userGroups/index.js | 160 + web-v2/web/src/lib/store/users/index.js | 145 + web-v2/web/src/lib/styles/antdStyles/globals.css | 160 + web-v2/web/src/lib/styles/antdStyles/index.css | 378 + .../web/src/lib/styles/globals.css | 17 +- web-v2/web/src/lib/theme/colors.js | 77 + web-v2/web/src/lib/theme/mui.js | 798 ++ .../web/src/lib/theme/screens.js | 14 +- .../web/src/lib/theme/tailwind.js | 18 +- web-v2/web/src/lib/utils/axios/Axios.js | 347 + web-v2/web/src/lib/utils/axios/axiosCancel.js | 77 + web-v2/web/src/lib/utils/axios/axiosRetry.js | 65 + web-v2/web/src/lib/utils/axios/axiosTransform.js | 102 + web-v2/web/src/lib/utils/axios/checkStatus.js | 114 + web-v2/web/src/lib/utils/axios/helper.js | 83 + web-v2/web/src/lib/utils/axios/index.js | 323 + .../web/src/lib/utils/color.js | 18 +- .../web/src/lib/utils/date.js | 16 +- web-v2/web/src/lib/utils/index.js | 486 ++ web-v2/web/src/lib/utils/initial.js | 775 ++ .../web/src/lib/utils/is.js | 18 +- .../web/src/lib/utils/regex.js | 15 +- .../web/src/lib/utils/tailwind.js | 11 +- .../web/src/test/setup.js | 18 +- web-v2/web/tailwind.config.js | 65 + .../web/vitest.config.js | 46 +- .../test/web/ui/pages/CatalogsPage.java | 39 +- .../test/web/ui/pages/MetalakePage.java | 9 +- .../integration/test/web/ui/utils/BaseWebIT.java | 2 +- .../test/web/ui/utils/WebDriverManager.java | 6 +- web/web/build.gradle.kts | 1 - 1194 files changed, 87899 insertions(+), 4173 deletions(-)
