This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/npm_and_yarn/web/web/next-14.2.31
in repository https://gitbox.apache.org/repos/asf/gravitino.git


 discard 09b50dfe1f build(deps): bump next from 14.2.21 to 14.2.31 in /web/web
     add 682878c180 [#7983] Fix Paimon type conversion to preserve nullability 
for list elements and map values (#7995)
     add 890247cd1d [apache#7980] fix(config): Improve ConfigEntry parsing of 
comma-separated configuration (#7994)
     add a86c155a4d [#7985] fix(authz): Include recursive flag in hashCode(), 
equals(), toString() (#7992)
     add 35222d172f [#5199] refactor(client-python): refactor of serdes utils 
(#7904)
     add b888447c24 [#7670] feat(client-python): Support config request timeout 
for Gravitino Python client (#7679)
     add d4a90561f0 [#7984] Improvement (CLI): add validation method for entity 
type in SetOwner command (#8001)
     add 5355bd075d [#7960] Improvement (core,common): correct parameter order 
in SqlSessionFactoryHelper and add unit tests for 
JdbcUrlUtils.validateJdbcConfig (#8000)
     add 4d9679699d [#7977] fix: resolve race condition in snapshot creation by 
adjusting lock usage (#7997)
     add 343f166cfa [#7982] Improvement (core): Update 
AccessControlHookDispatcher to notify whenever roles are granted to or revoked 
from groups (#7999)
     add 1112b1c08a [#7760] feat(client-python): Add the python client for Job 
System (#7954)
     add c545a0567f [#7972] fix(authz): Fix NPE when create table failed by not 
auth (#7971)
     add 572a11af75 [#7848] feat(trino-connector): Support create table with 
column properties in MySQL (#7852)
     add ea2a1fab3e [#7269] feat(storage): Add storage for statistics (#7690)
     add 75a05ff43e Used passed in lineSeparator in writeHorizontalLine (#7998)
     add 813ca6587b [#7975] improvement(validateFieldExistence): empty or null 
check for fieldName (#7990)
     add 4701d105ea [#7979] Improvement(catalogs): Add reserved words check for 
MySQL and Postgres (#8002)
     add 7c89a6bae8 [#7816] feat(filesystem-hadoop3): Support custom client 
config (#7819)
     add 8851696b66 Fix metadata confusion in GravitinoInterceptionService 
(#8026)
     add bebdedccdf [#8008] Improved exception message (#8027)
     add fc44bc246f [#8014] fix: correct operation type in MetalakeOperations 
exception handler (#8038)
     add f2528b1519 [#8009] fix: prevent NPE in validate() when 
ModelVersionUpdatesRequest updates is null (#8021)
     add 7374e1c55b [#8012] fix: include namespace in TableEntity hashCode 
(#8019)
     add e9d2bdd001 [#8011] Improvement(LockManager): Corrected code in 
LockManager.java (#8043)
     add 450b17f286 [#8040] Improvement: Missing field storage_location_name 
field in listFilesetPOsByFilesetIds (#8044)
     add 6cfa3a61bf [#8007] fix: include fieldnames in hashCode (#8020)
     add 073a24d2d2 [#8039] Assigned tags to tagsToAdd for messaging and 
fileset (#8046)
     add d27c41aaa7 [#8033] fix: correct credential lookup logic in 
SupportsCredentials.java (#8042)
     add 6f33264446 [#7949] feat(mcp-server): Support tag operations for MCP 
server (#7963)
     add 0ac8ac2a81 [#7836] feat(storage): Add partition statistics storage 
interface (#7850)
     add fce0bf0cef [#7793] improvement(fileset-catalog): Remove single file 
check in FilesetCatalogOperations (#7794)
     add 278d108516 [#8005] feat(mcp-server): Support read operations for 
fileset, topic and model in MCP server. (#8018)
     add 0a7a77f8ea [#7937] test(core): Add ITs for job system (#8015)
     add e5df28b63e [#5199] feat(client-python): Add non-single field 
partitioning DTOs (#8004)
     add d2b6fd65e8 [#8036] Improvement: quote table name in 
generateRenameTableSql (#8060)
     add fa39be02c2 [#8037] improvement(validateFieldExistence): throw 
exception if nested fieldName in validateFieldExistence (#8075)
     add 7f4e4472c9 [#8031] improvement(InternalClientType): null check to 
prevent NPE (#8074)
     add 8a38305862 [#8032] fix(core): add soft delete condition to sort delete 
logic (#8072)
     add 4ed7c1fdfa [#8052] Improvement(core): Fix directory in 
LocalProcessBuilder (#8071)
     add 18877dc06d fix(docs): fix a url link in the authorization doc. (#8059)
     add cfc55ae053 [#7477] feat(web): Implement FilesetView component for file 
browser interface (#7846)
     add 51f58fd201 improvement(iceberg): remove useless injectTableConfig 
while loading table. (#8068)
     add 8484e78330 [#8064] improvement(policy): simplify the definition of 
policy (#8065)
     add 58fe9049eb [#2687] docs(iceberg): add document about using multi JDBC 
catalog backends (#8091)
     add 7069bbd3b7 [#8093] improvement(mcp-server): Use pylint to format code 
in mcp-server (#8094)
     add 9eed258833 [#8056] fix to string so output is what is expected (#8069)
     add 5bec01a501 [#8082] fix: call request.validate() in 
PartitionOperations.java (#8098)
     add f9abaf4444 [#8057] Improvement: Incorrect logic in check in 
JdbcAuthorizationProperties.java (#8070)
     add 895f6a770a [#8034] Improvement: Fully support nullable simpleStrings 
in Types.java (#8092)
     add 27cdf27e0c [#8055] improvement(core): Replace equals() with == for 
enum comparison in CompatibilityUtils (#8080)
     add 7c004c1953 [#8063] feat(mcp-server): Support job related read 
operations for MCP server. (#8067)
     add 1e26905950 [#7841] feat(policy): implement the policy management on 
server-side (part-2) (#8096)
     add 9149fe5e17 [#8107] improvement(H2): change H2 connection mode to 
AUTO_SERVER (#8108)
     add 47017ba80f [#7981] Improvement (api): Sort object statistics to ensure 
deterministic field order (#8022)
     add 86efd7ba2b [MINOR] feat(oauth): Support principal field to accept 
comma separated values to fallback (#8049)
     add 61db366fc5 [#8047] docs(oauth) : Documentation for OAuth changes using 
JWKS validation and OIDC login (#8048)
     add 1147465d76 [#7817] feat(connectors): Support custom client config 
(#7820)
     add c5270dc829 [#7146] feat(policy): java client supports policy 
operations (part-1) (#8117)
     add 6969bb4210 [#5514] feat (trino-connector) Support rest backend  for 
Iceberg catalog (#8045)
     add ca7faaede2 [#7270] feat(core): Support Statistic manager (#7734)
     add 8c0ef5b2a2 [#8061] improvement(mcp-server): Add a CI pipeline to build 
module `mcp` specifically. (#8062)
     add f423a4bd56 [#7880] feat(policy): java client supports policy 
operations (part-2) (#8119)
     add c126e4061b [#8035] fix: correct CREATE TABLE SQL generation in 
SqliteTableOperations (#8105)
     add 1c7b2de40c [#8085] fix: NPE in CatalogCreateRequest constructor when 
type is null (#8121)
     add d1c1ff14b6 [#7974] fix: trim trailing spaces in 
StringIdentifier.removeIdFromComment (#8130)
     add bcbfdc6453 [#8109] improvement(core): correct PostgreSQL ON CONFLICT 
syntax using EXCLUDED instead of VALUES (#8125)
     add 31cb0940aa [#7224] improvement(cli): Add ability to create a Fileset 
with multiple locations in the Gravitino CLI (#7768)
     add facf46b415 [#5534] fix(flink):fix import error (#8134)
     add 994ad48af3 [#7149] feat(doc): add open api doc for policy APIs (#8135)
     add 8aff98d980 [#8110] Improvement: Equality check in equals method in 
FileSetCatalogOperations.java (#8132)
     add 3dea8edba4 [#5891] fix(fileset-catalog): Fix bugs that caused by set 
user principal in fileset catalog. (#8123)
     add 878a07dba5 Revert "[#8061] improvement(mcp-server): Add a CI pipeline 
to build module `mcp` specifically." (#8145)
     add 8ccb13e534 [#7961] feat(doc): Add the doc for job system (#8066)
     add a7af6033a6 [#7947] fix(web): Prevent OAuth headers from being sent to 
GitHub API causing 401 errors (#8106)
     add aee3290eb0 [#7271] feat(server): Add table statistics REST API (#7829)
     add 380b559f89 [#8148] fix(docs): Fix doc error about artifact 
filesystem-hadoop3-runtime (#8149)
     add 253942db07 [#4377] fix(common): Deprecate the DeleteResponse and use 
DropResponse instead (#8146)
     add 346ab71565 [#5199] feat(client-python): add single field partitioning 
DTOs (#8129)
     add fd221a3383 feat(credentials): implement IRSA credential support for 
EKS deployments (#7489)
     add 873757f1eb [#8087] improvement(Oauth2): OAuth2 token provider to 
automatically fetch a new token (#8116)
     add 01000c3468 [#7933] feat(doc): add user doc for policy usage (#8136)
     add f461cc7421 [#6756] fix (trino-connector): Fix the exception when the 
Trino connector loads an unsupported catalog type. (#8058)
     add 98482575a3 [#8167]improve(core): Improve the SPI to load in the 
specific mapper class (#8170)
     add 77561126d5 [#7350] fix(web): fix model version aliases issue (#8169)
     add 24d00a87f6 [#7168] fix(script): Fix index name uniqueness in schema 
for PG. (#8147)
     add 29d42004d9 [#7266] improvement(fileset): polish error message for 
fileset default location (#8180)
     add 155a634b5e [#2993] improvement(web): display default value for table 
columns (#8179)
     add eb0b464ce3 [#7290] improvement(web): immutable location-  property for 
fileset catalog (#8175)
     add 8c979e9b06 [#8122] fix(core): Fix unable to handle Java error in doAs 
(#8184)
     add b37a236637 [#8083] fix: null-safe handling of 'managed' property in 
CreateFileset.java (#8144)
     add bfe7bbfefe [8158] improvement: display an error if both alias and 
version are null in UpdateModelVersionAliases (#8192)
     add e7849f284d [#7825] feat(core, server): Add partition statistic manager 
and partition REST API (#7876)
     add 66583b6ce1 [#7436] feat(model): Implement REST APIs for model version 
with multiple URIs (#8173)
     add 106ba422be [#5199] feat(client-python): add index and indexes (#8143)
     add b434291f00 fix(cli): Fix OAuth/Kerberos authentication detection in 
GravitinoConfig (#8187)
     add 5178f5c72f [#8159] improvement(cli): Use toType() instead of 
toBasicType() for support more complex types (#8227)
     add dc4ccd68a2 [#8197]Improvement: update equality check to primitive in 
PathBasedMetaDataObject (#8230)
     add f48bcf069d [#5660] fix (trino-connector):  Fix failed to Load 
Postgresql Array data in Trino (#8176)
     add c4279cdef1 [#8152] feat(spark): upgrade kyuubi spark connector to 1.10 
(#8193)
     add 36ff2a9b7a [#7355] fix (doc): Update document for uppercase table and 
column names not supported in trino-connector  of PostgreSQL catalog (#8171)
     add 5ce7d4820d [MINOR] docs: Fix the create model version privilege error 
(#8183)
     add cb4c690630 [#5199] feat(client-python): add sort order DTO (#8220)
     add 8763c22d7e [#5199] feat(client-python): add distribution DTO (#8185)
     add 6c8807c1c3 [#7274] feat(client-java): Client supports statistics and 
partition statistics (#7828)
     add 71ff0e7ff8 [#8137] feat(mcp):  support policy read operations for 
Gravitino MCP server (#8151)
     add d37426426f [#8182] fix(authz): Fix list model version bug (#8223)
     add 132c07d93a [#8150] fix(web): support warehouse config for iceberberg 
catalog which catalog-backend is rest (#8172)
     add fd0828c50a [#8168] Fix NPE in EntityCombinedFileset by initializing 
hiddenProperties field (#8238)
     add b99ba0030f [#8181] fix(authz): Fix can not list metalake after disable 
metalake (#8239)
     add 728ea2e702 [#8086] improvement(spark): prevent NPE in 
SparkPartitionUtils  (#8115)
     add bfddf5cbca Fix early return in GroupMetaService.updateGroup ignoring 
non-role changes (#8255)
     add 755f0caf5e Revert #8255 update group changes (#8265)
     add 168137633a [#8138] feat(mcp-server): Support statistic operation for 
MCP server. (#8214)
     add 508f0335e1 [MINOR] improve(mcp):  change the tag of metadata tool to 
tag and policy (#8248)
     add 7c3b0f8ed9 [#8205] improvement(client-python): Make GVFS configuration 
prior to that of catalogs from Gravitino server. (#8236)
     add 352a9ffa87 [#8153] feat(iceberg): upgrade iceberg version in document 
and docker image bundle jars (#8194)
     add 72ac0111f2 [#8245] improvement: verify partitioning and sort order 
contents in Iceberg table tests (#8264)
     add 45759ad112 [#8196]Improvement(TableDto): validation in TableDTO 
Builder (#8247)
     add d476393215 [#8195] fix(flink-jdbc): validate required 'jdbc-url' in 
toFlinkCatalogProperties to prevent NPE (#8263)
     add b0a418438e [#5656] fix (trino-connector):  Fix failed to create table 
including ARRAY data type in Trino (#8209)
     add b6e6a233ac [#8161] Fix removeCatalog to respect the ignoreIfNotExists 
flag… (#8237)
     add 5c2047d062 [#8166] fix: treat PostgreSQL SQLSTATE as string (#8260)
     add 2b32964b59 [#8199] improvement(core): correct lock type in TreeLock 
log messages (#8268)
     add 1282121dcf [#6907] fix(pg): throw exception when listing table on not 
exists schemas in PG catalog (#8243)
     add 2196e2ac79 [#7938] improvement: Add check when deleting users or 
groups to avoid orphan metalake (#8253)
     add a28c72224c [#4707] fix (client): Fix the Gravitino client-side version 
verification to ignore minor version numbers  (#8224)
     add 7b5b2dfbae [#4874] improvement(hive): add validation for Hive struct 
data type (#8212)
     add 4eddf77bbc feat(tests): Add unit tests for web UI Oauth logic (#8232)
     add 32b09e967f build(deps): bump next from 14.2.21 to 14.2.31 in /web/web

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (09b50dfe1f)
            \
             N -- N -- N   
refs/heads/dependabot/npm_and_yarn/web/web/next-14.2.31 (32b09e967f)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/workflows/build.yml                        |    1 +
 .github/workflows/web-ui-tests.yml                 |   53 +
 .../main/java/org/apache/gravitino/Catalog.java    |    9 +
 api/src/main/java/org/apache/gravitino/Schema.java |    9 +
 .../gravitino/credential/AwsIrsaCredential.java    |  129 ++
 .../gravitino/credential/SupportsCredentials.java  |    2 +-
 .../exceptions/IllegalStatisticNameException.java  |    6 +-
 .../exceptions/UnmodifiableStatisticException.java |    6 +-
 .../java/org/apache/gravitino/file/Fileset.java    |    9 +
 .../java/org/apache/gravitino/messaging/Topic.java |    9 +
 .../java/org/apache/gravitino/model/Model.java     |    9 +
 .../java/org/apache/gravitino/policy/Policy.java   |   97 +-
 .../org/apache/gravitino/policy/PolicyContent.java |   12 +-
 .../apache/gravitino/policy/PolicyContents.java    |   47 +-
 .../apache/gravitino/policy/PolicyOperations.java  |   37 +-
 .../main/java/org/apache/gravitino/rel/Table.java  |   30 +
 .../rel/expressions/FunctionExpression.java        |    6 +-
 .../java/org/apache/gravitino/rel/types/Types.java |    4 +-
 .../gravitino/stats/PartitionStatistics.java       |    2 +-
 .../gravitino/stats/PartitionStatisticsDrop.java   |   31 +-
 .../stats/PartitionStatisticsModification.java     |  122 ++
 .../gravitino/stats/PartitionStatisticsUpdate.java |   31 +-
 .../java/org/apache/gravitino/stats/Statistic.java |    5 +-
 .../apache/gravitino/stats/StatisticValues.java    |    7 +-
 .../stats/SupportsPartitionStatistics.java         |   10 +-
 .../apache/gravitino/stats/SupportsStatistics.java |    3 +-
 .../org.apache.gravitino.credential.Credential     |    1 +
 .../credential/TestSupportsCredentials.java        |   81 ++
 .../java/org/apache/gravitino/rel/TestTypes.java   |   17 +
 .../rel/expressions/TestFunctionExpression.java    |   19 +-
 .../apache/gravitino/stats/TestStatisticValue.java |   21 +
 .../authorization-chain/build.gradle.kts           |    2 +-
 .../common/AuthorizationProperties.java            |    4 +-
 .../common/PathBasedMetadataObject.java            |    7 +-
 .../jdbc/JdbcAuthorizationProperties.java          |    2 +-
 .../common/TestPathBasedMetadataObject.java        |   39 +-
 .../jdbc/TestJdbcAuthorizationProperties.java      |   61 +
 .../authorization-ranger/build.gradle.kts          |    2 +-
 .../s3/credential/AwsIrsaCredentialProvider.java   |  409 ++++++
 .../gravitino/s3/fs/S3CredentialsProvider.java     |    8 +
 .../gravitino/s3/fs/S3FileSystemProvider.java      |    5 +-
 .../java/org/apache/gravitino/s3/fs/S3Utils.java   |    7 +-
 ....apache.gravitino.credential.CredentialProvider |    3 +-
 .../catalog/fileset/FilesetCatalogOperations.java  |   95 +-
 .../fileset/SecureFilesetCatalogOperations.java    |   30 +-
 .../fileset/TestFilesetCatalogOperations.java      |   57 +-
 .../fileset/integration/test/FilesetCatalogIT.java |   17 +
 .../catalog/hive/HiveCatalogOperations.java        |    2 +
 .../gravitino/catalog/hive/TestHiveTable.java      |   26 +
 .../catalog/jdbc/JdbcCatalogOperations.java        |    4 +
 .../jdbc/operation/RequireDatabaseOperation.java   |   12 +-
 .../jdbc/operation/SqliteTableOperations.java      |   17 +-
 .../jdbc/operation/TestSqliteTableOperations.java  |  113 ++
 .../catalog/mysql/MysqlCatalogCapability.java      |   12 +-
 .../catalog/mysql/TestMysqlCatalogCapability.java  |  206 +++
 .../integration/test/MysqlCatalogCapabilityIT.java |  201 +++
 .../postgresql/PostgreSqlCatalogCapability.java    |   12 +-
 .../operation/PostgreSqlSchemaOperations.java      |   22 +-
 .../operation/PostgreSqlTableOperations.java       |   31 +-
 .../TestPostgreSqlCatalogCapability.java           |  248 ++++
 .../test/PostgreSqlCatalogCapabilityIT.java        |  240 ++++
 .../postgresql/operation/TestPostgreSql.java       |    4 +
 .../operation/TestPostgreSqlTableOperations.java   |    1 +
 .../integration/test/CatalogIcebergBaseIT.java     |   19 +-
 .../catalog/lakehouse/paimon/utils/TypeUtils.java  |   11 +-
 .../lakehouse/paimon/utils/TestTypeUtils.java      |   16 +
 .../hive/converter/HiveDataTypeConverter.java      |   13 +-
 .../gravitino/cli/FilesetCommandHandler.java       |    2 +-
 .../org/apache/gravitino/cli/GravitinoConfig.java  |   13 +-
 .../java/org/apache/gravitino/cli/ParseType.java   |    6 +-
 .../gravitino/cli/commands/CreateFileset.java      |   22 +-
 .../apache/gravitino/cli/commands/SetOwner.java    |    9 +
 .../apache/gravitino/cli/commands/TagEntity.java   |    4 +-
 .../cli/commands/UpdateModelVersionAliases.java    |    4 +-
 .../apache/gravitino/cli/outputs/TableFormat.java  |    6 +-
 .../apache/gravitino/cli/TestFilesetCommands.java  |  173 +++
 .../apache/gravitino/cli/TestGravitinoConfig.java  |  219 +++
 .../apache/gravitino/cli/TestModelCommands.java    |   21 +
 .../apache/gravitino/cli/TestOwnerCommands.java    |   10 +
 .../org/apache/gravitino/cli/TestParseType.java    |   22 +
 .../apache/gravitino/cli/output/TestLineUtil.java  |    2 +-
 .../gravitino/cli/output/TestTableFormat.java      |    2 +-
 clients/client-java/build.gradle.kts               |    1 +
 .../apache/gravitino/client/BaseSchemaCatalog.java |   35 +-
 .../org/apache/gravitino/client/DTOConverters.java |   36 +-
 .../client/DefaultOAuth2TokenProvider.java         |   14 +-
 .../org/apache/gravitino/client/ErrorHandlers.java |  138 ++
 .../apache/gravitino/client/GenericFileset.java    |   36 +-
 .../org/apache/gravitino/client/GenericModel.java  |   35 +-
 .../client/{GenericTag.java => GenericPolicy.java} |   71 +-
 .../org/apache/gravitino/client/GenericSchema.java |   35 +-
 .../org/apache/gravitino/client/GenericTag.java    |    5 +-
 .../org/apache/gravitino/client/GenericTopic.java  |   35 +-
 .../apache/gravitino/client/GravitinoClient.java   |   51 +-
 .../gravitino/client/GravitinoClientBase.java      |    4 +-
 .../apache/gravitino/client/GravitinoMetalake.java |  222 +++-
 .../apache/gravitino/client/GravitinoVersion.java  |   27 +-
 .../org/apache/gravitino/client/HTTPClient.java    |    2 -
 ...etadataObjectPartitionStatisticsOperations.java |  145 ++
 ...ns.java => MetadataObjectPolicyOperations.java} |   76 +-
 .../client/MetadataObjectStatisticsOperations.java |  111 ++
 .../gravitino/client/ObjectMapperProvider.java     |    1 +
 .../apache/gravitino/client/RelationalTable.java   |  103 +-
 .../apache/gravitino/client/TestDropResponse.java  |   83 ++
 .../gravitino/client/TestGenericModelCatalog.java  |    2 +-
 ...{TestGenericTag.java => TestGenericPolicy.java} |   44 +-
 .../gravitino/client/TestGravitinoMetalake.java    |  420 ++++++
 .../gravitino/client/TestGravitinoVersion.java     |   31 +-
 .../gravitino/client/TestOAuth2TokenProvider.java  |   35 +-
 .../java/org/apache/gravitino/client/TestRole.java |   10 +-
 ...stSupportTags.java => TestSupportPolicies.java} |  326 +++--
 .../client/TestSupportsPartitionStatistics.java    |  289 ++++
 .../gravitino/client/TestSupportsStatistics.java   |  261 ++++
 .../gravitino/client/integration/test/JobIT.java   |  356 +++++
 .../client/integration/test/PolicyIT.java          |  772 +++++++++++
 .../client/integration/test/StatisticIT.java       |  389 ++++++
 .../test/authorization/CatalogAuthorizationIT.java |    7 +-
 .../test/authorization/FilesetAuthorizationIT.java |   27 +-
 .../test/authorization/GroupAuthorizationIT.java   |    5 +-
 .../authorization/MetalakeAuthorizationIT.java     |   63 +-
 .../test/authorization/ModelAuthorizationIT.java   |   61 +-
 .../test/authorization/OwnerAuthorizationIT.java   |   15 +-
 .../authorization/PermissionAuthorizationIT.java   |   13 +-
 .../test/authorization/RoleAuthorizationIT.java    |   15 +-
 .../test/authorization/SchemaAuthorizationIT.java  |   11 +-
 .../test/authorization/TableAuthorizationIT.java   |   40 +-
 .../test/authorization/TopicAuthorizationIT.java   |   11 +-
 .../test/authorization/UserAuthorizationIT.java    |    9 +-
 .../api/{ => expressions/indexes}/__init__.py      |    0
 .../gravitino/api/expressions/indexes/index.py     |   81 ++
 .../gravitino/api/expressions/indexes/indexes.py   |   66 +
 .../client-python/gravitino/api/job/job_handle.py  |   24 +-
 .../gravitino/api/job/job_template.py              |   35 +-
 .../gravitino/api/job/shell_job_template.py        |   10 +
 .../gravitino/api/job/spark_job_template.py        |   10 +
 .../api/types/json_serdes/_helper/serdes_utils.py  |   80 +-
 .../gravitino/client/dto_converters.py             |  112 ++
 .../job_handle.py => client/generic_job_handle.py} |   28 +-
 .../gravitino/client/gravitino_client.py           |  121 +-
 .../gravitino/client/gravitino_client_base.py      |   10 +-
 .../gravitino/client/gravitino_client_config.py    |  130 ++
 .../gravitino/client/gravitino_metalake.py         |  208 ++-
 .../gravitino/client/gravitino_version.py          |    8 +
 clients/client-python/gravitino/constants/error.py |    9 +
 .../gravitino/{api => dto/job}/__init__.py         |    0
 clients/client-python/gravitino/dto/job/job_dto.py |   65 +
 .../gravitino/dto/job/job_template_dto.py          |  130 ++
 .../gravitino/dto/job/shell_job_template_dto.py    |   40 +
 .../gravitino/dto/job/spark_job_template_dto.py    |   69 +
 .../gravitino/dto/rel/distribution_dto.py          |  112 ++
 .../dto/rel/expressions/field_reference_dto.py     |    6 +-
 .../json_serdes/_helper/serdes_utils.py            |   13 +-
 .../{api => dto/rel/partitioning}/__init__.py      |    0
 .../rel/partitioning/bucket_partitioning_dto.py    |   66 +
 .../dto/rel/partitioning/day_partitioning_dto.py   |   25 +-
 .../rel/partitioning/function_partitioning_dto.py  |   66 +
 .../dto/rel/partitioning/hour_partitioning_dto.py  |   25 +-
 .../rel/partitioning/identity_partitioning_dto.py  |   25 +-
 .../dto/rel/partitioning/list_partitioning_dto.py  |   69 +
 .../dto/rel/partitioning/month_partitioning_dto.py |   25 +-
 .../gravitino/dto/rel/partitioning/partitioning.py |  157 +++
 .../dto/rel/partitioning/range_partitioning_dto.py |   65 +
 .../rel/partitioning/truncate_partitioning_dto.py  |   72 +
 .../dto/rel/partitioning/year_partitioning_dto.py  |   25 +-
 .../gravitino/dto/rel/sort_order_dto.py            |   85 ++
 ...talake_create_request.py => job_run_request.py} |   37 +-
 ...request.py => job_template_register_request.py} |   27 +-
 ...credential_response.py => job_list_response.py} |   37 +-
 .../{oauth2_error_response.py => job_response.py}  |   30 +-
 .../dto/responses/job_template_list_response.py    |   71 +
 ...atalog_response.py => job_template_response.py} |   42 +-
 clients/client-python/gravitino/exceptions/base.py |    4 +
 ...talog_error_handler.py => job_error_handler.py} |   32 +-
 .../gravitino/filesystem/gvfs_base_operations.py   |   17 +-
 .../gravitino/filesystem/gvfs_config.py            |    3 +
 .../gravitino/filesystem/gvfs_storage_handler.py   |   49 +-
 .../gravitino/filesystem/gvfs_utils.py             |    4 +
 .../client-python/gravitino/utils/http_client.py   |   10 +-
 clients/client-python/gravitino/utils/serdes.py    |  104 ++
 .../tests/integration/test_supports_jobs.py        |  327 +++++
 .../api => tests/unittests/dto/job}/__init__.py    |    0
 .../dto/job/test_job_template_dto_serde.py         |   95 ++
 .../unittests/dto/rel/test_distribution_dto.py     |  102 ++
 .../unittests/dto/rel/test_field_reference_dto.py  |    2 +-
 .../tests/unittests/dto/rel/test_function_arg.py   |    2 +-
 .../rel/test_non_single_field_partitioning_dto.py  |  296 +++++
 .../tests/unittests/dto/rel/test_partitioning.py   |  109 ++
 .../dto/rel/test_single_field_partitioning_dto.py  |   80 ++
 .../tests/unittests/dto/rel/test_sort_order_dto.py |   68 +
 clients/client-python/tests/unittests/mock_base.py |    4 +-
 .../tests/unittests/rel/test_indexes.py            |   45 +
 .../tests/unittests/test_gravitino_client.py       |   48 +
 .../tests/unittests/test_gravitino_version.py      |   17 +
 .../tests/unittests/test_gvfs_with_local.py        |   20 +
 .../tests/unittests/test_storage_handler.py        |   91 ++
 .../tests/unittests/test_supports_jobs.py          |  298 +++++
 .../GravitinoVirtualFileSystemConfiguration.java   |   14 +
 .../hadoop/GravitinoVirtualFileSystemUtils.java    |   32 +
 .../gravitino/filesystem/hadoop/TestGvfsBase.java  |   56 +
 .../apache/gravitino/audit/InternalClientType.java |    3 +
 .../credential/CredentialPropertyUtils.java        |   44 +-
 .../java/org/apache/gravitino/dto/CatalogDTO.java  |    5 +
 .../gravitino/dto/model/ModelVersionDTO.java       |   37 +-
 .../gravitino/dto/policy/PolicyContentDTO.java     |   13 +-
 .../org/apache/gravitino/dto/policy/PolicyDTO.java |   78 +-
 .../apache/gravitino/dto/rel/PartitionUtils.java   |   10 +-
 .../org/apache/gravitino/dto/rel/TableDTO.java     |    2 +
 .../apache/gravitino/dto/rel/indexes/IndexDTO.java |    4 +-
 .../dto/requests/CatalogCreateRequest.java         |    9 +-
 .../dto/requests/ModelVersionLinkRequest.java      |   47 +-
 .../dto/requests/ModelVersionUpdateRequest.java    |   82 ++
 .../dto/requests/ModelVersionUpdatesRequest.java   |    4 +
 ...st.java => PartitionStatisticsDropRequest.java} |   28 +-
 ....java => PartitionStatisticsUpdateRequest.java} |   24 +-
 ...eRequest.java => PoliciesAssociateRequest.java} |   44 +-
 .../dto/requests/PolicyCreateRequest.java          |   64 +-
 ...pAddRequest.java => StatisticsDropRequest.java} |   39 +-
 ...teRequest.java => StatisticsUpdateRequest.java} |   54 +-
 .../gravitino/dto/responses/DeleteResponse.java    |    6 +-
 .../gravitino/dto/responses/DropResponse.java      |   56 +-
 .../gravitino/dto/responses/ErrorResponse.java     |    4 +-
 ...nResponse.java => ModelVersionUriResponse.java} |   26 +-
 ...e.java => PartitionStatisticsListResponse.java} |   35 +-
 ...icyResponse.java => StatisticListResponse.java} |   32 +-
 .../dto/stats/PartitionStatisticsDTO.java          |   85 ++
 .../dto/stats/PartitionStatisticsDropDTO.java      |   89 ++
 .../dto/stats/PartitionStatisticsUpdateDTO.java    |   91 ++
 .../apache/gravitino/dto/stats/StatisticDTO.java   |  186 +++
 .../apache/gravitino/dto/util/DTOConverters.java   |   61 +-
 .../java/org/apache/gravitino/json/JsonUtils.java  |   96 +-
 .../java/org/apache/gravitino/utils/MapUtils.java  |   52 +-
 .../gravitino/audit/InternalClientTypeTest.java    |   52 +
 .../gravitino/dto/model/TestModelVersionDTO.java   |   37 +-
 .../apache/gravitino/dto/policy/TestPolicyDTO.java |   16 +-
 .../gravitino/dto/rel/TestPartitionUtils.java      |  131 ++
 .../org/apache/gravitino/dto/rel/TestTableDTO.java |   57 +
 .../rel/indexes/TestIndexDTO.java}                 |   35 +-
 .../dto/requests/TestCatalogCreateRequest.java     |   14 +
 .../gravitino/dto/requests/TestDropResponse.java   |   87 ++
 .../requests/TestModelVersionUpdatesRequest.java   |   17 +-
 .../dto/requests/TestPolicyCreateRequest.java      |   41 +-
 .../gravitino/dto/responses/TestResponses.java     |   10 +-
 .../dto/stats/TestPartitionStatisticsDTO.java      |   57 +
 .../gravitino/dto/stats/TestStatisticDTO.java      |  182 +++
 .../org/apache/gravitino/json/TestJsonUtils.java   |   62 +
 .../apache/gravitino/utils/TestJdbcUrlUtils.java   |  128 ++
 .../org/apache/gravitino/utils/TestMapUtils.java   |   46 +-
 conf/log4j2.properties.template                    |    2 +-
 .../main/java/org/apache/gravitino/Configs.java    |    9 +
 .../src/main/java/org/apache/gravitino/Entity.java |    1 +
 .../java/org/apache/gravitino/EntityStore.java     |   26 +
 .../java/org/apache/gravitino/GravitinoEnv.java    |   15 +
 .../org/apache/gravitino/StringIdentifier.java     |    2 +-
 .../gravitino/SupportsRelationOperations.java      |    4 +-
 .../gravitino/audit/v2/CompatibilityUtils.java     |    4 +-
 .../gravitino/catalog/EntityCombinedFileset.java   |    5 +-
 .../org/apache/gravitino/config/ConfigEntry.java   |   20 +-
 .../hook/AccessControlHookDispatcher.java          |    8 +-
 .../apache/gravitino/job/JobExecutorFactory.java   |    2 +-
 .../java/org/apache/gravitino/job/JobManager.java  |   32 +-
 .../gravitino/job/local/LocalProcessBuilder.java   |    2 +-
 .../org/apache/gravitino/lock/LockManager.java     |    3 +-
 .../java/org/apache/gravitino/lock/TreeLock.java   |    4 +-
 .../org/apache/gravitino/meta/PolicyEntity.java    |  115 +-
 .../org/apache/gravitino/meta/StatisticEntity.java |  152 +++
 .../org/apache/gravitino/meta/TableEntity.java     |    2 +-
 .../gravitino/meta/TableStatisticEntity.java}      |   37 +-
 .../apache/gravitino/policy/PolicyDispatcher.java  |   57 +-
 .../org/apache/gravitino/policy/PolicyManager.java |   51 +-
 .../apache/gravitino/stats/StatisticManager.java   |  371 ++++++
 .../MemoryPartitionStatsStorageFactory.java        |  281 ++++
 .../storage/MetadataObjectStatisticsDrop.java      |   72 +
 .../storage/MetadataObjectStatisticsUpdate.java    |   71 +
 .../stats/storage/PartitionStatisticStorage.java   |   96 ++
 .../storage/PartitionStatisticStorageFactory.java  |   19 +-
 .../storage/PersistedPartitionStatistics.java      |   72 +
 .../stats/storage/PersistedStatistic.java          |   82 ++
 .../gravitino/storage/relational/JDBCBackend.java  |   94 +-
 .../storage/relational/RelationalBackend.java      |   24 +
 .../storage/relational/RelationalEntityStore.java  |   14 +
 .../converters/PostgreSQLExceptionConverter.java   |    4 +-
 .../storage/relational/database/H2Database.java    |    4 +
 .../relational/mapper/PolicyMetaMapper.java        |    6 -
 .../mapper/PolicyMetadataObjectRelMapper.java      |    6 -
 .../relational/mapper/StatisticMetaMapper.java     |   72 +
 .../mapper/StatisticSQLProviderFactory.java        |   94 ++
 .../provider/DefaultMapperPackageProvider.java     |   61 +-
 .../mapper/provider/MapperPackageProvider.java     |   14 +-
 .../provider/base/FilesetMetaBaseSQLProvider.java  |    2 +-
 .../provider/base/JobMetaBaseSQLProvider.java      |    2 +-
 .../provider/base/PolicyMetaBaseSQLProvider.java   |   35 +-
 .../PolicyMetadataObjectRelBaseSQLProvider.java    |    8 +-
 .../provider/base/StatisticBaseSQLProvider.java    |  185 +++
 .../postgresql/JobMetaPostgreSQLProvider.java      |    2 +-
 .../postgresql/PolicyMetaPostgreSQLProvider.java   |   22 +-
 .../SecurableObjectPostgreSQLProvider.java         |    4 +-
 .../postgresql/StatisticPostgresSQLProvider.java   |   62 +
 .../postgresql/UserRoleRelPostgreSQLProvider.java  |   12 +-
 .../gravitino/storage/relational/po/PolicyPO.java  |   32 -
 .../storage/relational/po/StatisticPO.java         |  216 +++
 .../relational/service/CatalogMetaService.java     |   11 +-
 .../relational/service/FilesetMetaService.java     |    5 +
 .../storage/relational/service/JobMetaService.java |   40 +-
 .../relational/service/MetalakeMetaService.java    |    9 +
 .../relational/service/ModelMetaService.java       |    5 +
 .../relational/service/PolicyMetaService.java      |   13 -
 .../relational/service/SchemaMetaService.java      |   11 +-
 .../relational/service/StatisticMetaService.java   |  102 ++
 .../relational/service/TableMetaService.java       |    5 +
 .../relational/service/TopicMetaService.java       |    5 +
 .../session/SqlSessionFactoryHelper.java           |    4 +-
 .../storage/relational/utils/POConverters.java     |   45 +-
 .../apache/gravitino/utils/NameIdentifierUtil.java |   42 +
 .../org/apache/gravitino/utils/PrincipalUtils.java |    8 +
 .../org/apache/gravitino/TestStringIdentifier.java |    9 +
 .../gravitino/audit/v2/TestCompatibilityUtils.java |    6 +
 .../catalog/TestEntityCombinedFileset.java         |   78 ++
 .../apache/gravitino/config/TestConfigEntry.java   |   15 +
 .../gravitino/config/TestConfigEntryList.java      |   43 +-
 .../org/apache/gravitino/job/TestJobManager.java   |   21 +-
 .../java/org/apache/gravitino/meta/TestEntity.java |   53 +
 .../apache/gravitino/meta/TestPolicyEntity.java    |   31 +-
 .../apache/gravitino/policy/TestPolicyManager.java |  127 +-
 .../gravitino/stats/TestStatisticManager.java      |  393 ++++++
 .../storage/TestMemoryPartitionStatsStorage.java   |  150 +++
 .../storage/memory/TestMemoryEntityStore.java      |   31 +-
 .../storage/relational/TestJDBCBackend.java        |   96 +-
 ....java => TestPostgreSQLExceptionConverter.java} |   20 +-
 .../relational/service/TestJobMetaService.java     |   11 +-
 .../relational/service/TestPolicyMetaService.java  |   54 +-
 ...eObjects.java => TestStatisticMetaService.java} |  326 ++---
 .../relational/service/TestTagMetaService.java     |    2 +-
 .../storage/relational/utils/TestPOConverters.java |   95 +-
 dev/docker/gravitino/gravitino-dependency.sh       |   22 +-
 .../iceberg-rest-server-dependency.sh              |   10 +-
 docs/apache-hive-catalog.md                        |    3 +-
 docs/fileset-catalog-with-adls.md                  |    4 +-
 docs/fileset-catalog-with-gcs.md                   |    4 +-
 docs/fileset-catalog-with-oss.md                   |    4 +-
 docs/fileset-catalog-with-s3.md                    |    4 +-
 docs/fileset-catalog.md                            |    4 +-
 docs/flink-connector/flink-connector.md            |   11 +
 docs/gravitino-mcp-server.md                       |   43 +-
 ...va-client.md => how-to-use-gravitino-client.md} |   41 +-
 docs/how-to-use-gvfs.md                            |   16 +-
 docs/iceberg-rest-service.md                       |    5 +-
 docs/index.md                                      |    4 +
 docs/lakehouse-iceberg-catalog.md                  |    3 +-
 docs/manage-fileset-metadata-using-gravitino.md    |    4 +-
 docs/manage-jobs-in-gravitino.md                   |  585 ++++++++
 docs/manage-policies-in-gravitino.md               |  468 +++++++
 docs/manage-tags-in-gravitino.md                   |    8 +-
 docs/open-api/jobs.yaml                            |  726 ++++++++++
 docs/open-api/models.yaml                          |  187 ++-
 docs/open-api/openapi.yaml                         |   29 +
 docs/open-api/policies.yaml                        |  852 ++++++++++++
 docs/security/access-control.md                    |    2 +-
 docs/security/authorization-pushdown.md            |    2 +-
 docs/security/credential-vending.md                |   29 +-
 docs/security/how-to-authenticate.md               |   91 +-
 docs/spark-connector/spark-connector.md            |   13 +-
 docs/trino-connector/catalog-mysql.md              |   54 +-
 docs/trino-connector/catalog-postgresql.md         |   10 +
 docs/trino-connector/configuration.md              |    5 +
 .../flink/connector/catalog/BaseCatalog.java       |    2 +-
 .../connector/catalog/GravitinoCatalogManager.java |   16 +-
 .../connector/jdbc/JdbcPropertiesConverter.java    |    6 +
 .../connector/store/GravitinoCatalogStore.java     |   13 +-
 .../store/GravitinoCatalogStoreFactory.java        |   22 +-
 .../store/GravitinoCatalogStoreFactoryOptions.java |    8 +
 .../connector/integration/test/FlinkCommonIT.java  |    2 +-
 .../AbstractJdbcPropertiesConverterTestSuite.java  |   15 +
 .../connector/store/TestGravitinoCatalogStore.java |   97 ++
 .../connector/store/TestGravitinoFlinkConfig.java  |   75 ++
 gradle/libs.versions.toml                          |    6 +-
 .../iceberg/common/ClosableHiveCatalog.java        |    2 +-
 .../iceberg/common/ops/IcebergCatalogWrapper.java  |   13 +-
 iceberg/iceberg-rest-server/build.gradle.kts       |    6 +-
 .../docker-script/init/mysql/init.sql              |  107 ++
 .../lineage/auth/AuthenticationFactory.java        |    2 +-
 mcp-server/.gitignore                              |    3 +
 mcp-server/build.gradle.kts                        |    6 +
 mcp-server/mcp_server/client/__init__.py           |    5 +
 .../{table_operation.py => fileset_operation.py}   |   45 +-
 .../mcp_server/client/gravitino_operation.py       |   76 ++
 mcp-server/mcp_server/client/job_operation.py      |  102 ++
 mcp-server/mcp_server/client/model_operation.py    |  108 ++
 .../mcp_server/client/plain/exception.py           |    6 +-
 ...n.py => plain_rest_client_fileset_operation.py} |   39 +-
 .../plain/plain_rest_client_job_operation.py       |   75 ++
 .../plain/plain_rest_client_model_operation.py     |   69 +
 .../client/plain/plain_rest_client_operation.py    |   93 +-
 .../plain/plain_rest_client_policy_operation.py    |   82 ++
 .../plain/plain_rest_client_statistic_operation.py |   53 +
 .../plain/plain_rest_client_tag_operation.py       |  100 ++
 ...ion.py => plain_rest_client_topic_operation.py} |   28 +-
 mcp-server/mcp_server/client/plain/utils.py        |    6 +-
 mcp-server/mcp_server/client/policy_operation.py   |  125 ++
 .../mcp_server/client/statistic_operation.py       |   72 +
 mcp-server/mcp_server/client/tag_operation.py      |  143 ++
 .../{table_operation.py => topic_operation.py}     |   22 +-
 mcp-server/mcp_server/main.py                      |   10 +-
 mcp-server/mcp_server/server.py                    |    3 +-
 mcp-server/mcp_server/tools/__init__.py            |   16 +
 mcp-server/mcp_server/tools/catalog.py             |   19 +-
 mcp-server/mcp_server/tools/fileset.py             |  145 ++
 mcp-server/mcp_server/tools/job.py                 |  251 ++++
 mcp-server/mcp_server/tools/metadata.py            |   44 +
 mcp-server/mcp_server/tools/model.py               |  232 ++++
 mcp-server/mcp_server/tools/policy.py              |  393 ++++++
 mcp-server/mcp_server/tools/statistic.py           |  147 ++
 mcp-server/mcp_server/tools/table.py               |   38 +-
 mcp-server/mcp_server/tools/tag.py                 |  366 +++++
 mcp-server/mcp_server/tools/topic.py               |  134 ++
 {clients/client-python => mcp-server}/pylintrc     |    0
 mcp-server/pyproject.toml                          |    1 +
 mcp-server/tests/unit/tools/mock_operation.py      |  201 +++
 mcp-server/tests/unit/tools/test_catalog.py        |    5 +
 .../unit/tools/{test_table.py => test_fileset.py}  |   42 +-
 mcp-server/tests/unit/tools/test_job.py            |  102 ++
 mcp-server/tests/unit/tools/test_model.py          |  108 ++
 mcp-server/tests/unit/tools/test_policy.py         |  140 ++
 mcp-server/tests/unit/tools/test_statistic.py      |   72 +
 mcp-server/tests/unit/tools/test_tag.py            |  100 ++
 .../unit/tools/{test_table.py => test_topic.py}    |   26 +-
 mcp-server/uv.lock                                 |   85 +-
 scripts/h2/schema-1.0.0-h2.sql                     |   21 +-
 scripts/h2/upgrade-0.9.0-to-1.0.0-h2.sql           |   23 +-
 scripts/mysql/schema-1.0.0-mysql.sql               |   21 +-
 scripts/mysql/upgrade-0.9.0-to-1.0.0-mysql.sql     |   21 +-
 scripts/postgresql/schema-1.0.0-postgresql.sql     |  100 +-
 .../upgrade-0.9.0-to-1.0.0-postgresql.sql          |   44 +-
 .../server/authentication/JwksTokenValidator.java  |   31 +-
 .../server/authentication/OAuthConfig.java         |   11 +-
 .../server/authorization/MetadataFilterHelper.java |   19 +-
 .../AuthorizationExpressionConverter.java          |    2 +-
 .../authorization/jcasbin/JcasbinAuthorizer.java   |   57 +-
 .../authentication/TestJwksTokenValidator.java     |   25 +-
 .../apache/gravitino/server/GravitinoServer.java   |    2 +
 .../web/filter/GravitinoInterceptionService.java   |   19 +-
 .../server/web/rest/CatalogOperations.java         |    2 +-
 .../server/web/rest/ExceptionHandlers.java         |   74 ++
 .../server/web/rest/FilesetOperations.java         |    2 +-
 .../gravitino/server/web/rest/GroupOperations.java |   19 +
 .../gravitino/server/web/rest/JobOperations.java   |   14 +-
 .../web/rest/MetadataObjectPolicyOperations.java   |  274 ++++
 .../server/web/rest/MetalakeOperations.java        |    3 +-
 .../gravitino/server/web/rest/ModelOperations.java |   93 +-
 .../gravitino/server/web/rest/OperationType.java   |    3 +-
 .../server/web/rest/PartitionOperations.java       |    2 +
 .../server/web/rest/PolicyOperations.java          |   95 +-
 .../gravitino/server/web/rest/RoleOperations.java  |    4 +-
 .../server/web/rest/StatisticOperations.java       |  459 +++++++
 .../gravitino/server/web/rest/TableOperations.java |    2 +-
 .../gravitino/server/web/rest/UserOperations.java  |   19 +
 .../filter/TestGravitinoInterceptionService.java   |    2 +-
 .../server/web/rest/TestFilesetOperations.java     |   15 +
 .../server/web/rest/TestGroupOperations.java       |   24 +
 .../rest/TestMetadataObjectPolicyOperations.java   |  574 ++++++++
 .../server/web/rest/TestModelOperations.java       |  390 +++++-
 .../server/web/rest/TestPolicyOperations.java      |  153 ++-
 .../server/web/rest/TestRoleOperations.java        |   14 +-
 .../server/web/rest/TestStatisticOperations.java   |  850 ++++++++++++
 .../server/web/rest/TestUserOperations.java        |   24 +
 settings.gradle.kts                                |    7 +-
 spark-connector/spark-common/build.gradle.kts      |    3 +-
 .../spark/connector/GravitinoSparkConfig.java      |    1 +
 .../connector/plugin/GravitinoDriverPlugin.java    |   32 +-
 .../spark/connector/utils/SparkPartitionUtils.java |    4 +
 .../spark/connector/TestGravitinoSparkConfig.java} |   33 +-
 .../connector/integration/test/SparkCommonIT.java  |    9 +-
 .../integration/test/hive/SparkHiveCatalogIT.java  |    5 -
 .../test/iceberg/SparkIcebergCatalogIT.java        |    5 -
 .../test/jdbc/SparkJdbcMysqlCatalogIT.java         |    5 -
 .../test/jdbc/SparkJdbcPostgreSqlCatalogIT.java    |    4 +-
 .../test/paimon/SparkPaimonCatalogIT.java          |    5 -
 .../connector/utils/TestSparkPartitionUtils.java   |   17 +
 .../v3.3/spark-runtime/build.gradle.kts            |    2 +-
 spark-connector/v3.3/spark/build.gradle.kts        |    2 +-
 .../test/jdbc/SparkJdbcPostgreSqlCatalogIT33.java  |    2 -
 .../v3.4/spark-runtime/build.gradle.kts            |    2 +-
 spark-connector/v3.4/spark/build.gradle.kts        |    2 +-
 .../test/jdbc/SparkJdbcPostgreSqlCatalogIT34.java  |    2 -
 .../v3.5/spark-runtime/build.gradle.kts            |    2 +-
 spark-connector/v3.5/spark/build.gradle.kts        |    2 +-
 .../test/jdbc/SparkJdbcPostgreSqlCatalogIT35.java  |    2 -
 .../jdbc-mysql/00011_column_properties.sql         |  159 +++
 .../jdbc-mysql/00011_column_properties.txt         |  161 +++
 .../testsets/jdbc-postgresql/00006_datatype.sql    |    8 +
 .../testsets/jdbc-postgresql/00006_datatype.txt    |    8 +
 .../trino-test-tools/download_jar.sh               |    4 +-
 .../gravitino/trino/connector/GravitinoConfig.java |   15 +
 .../connector/catalog/CatalogConnectorManager.java |   11 +-
 .../iceberg/IcebergCatalogPropertyConverter.java   |   20 +
 .../jdbc}/JdbcColumnDefaultValueConverter.java     |   29 +-
 .../catalog/jdbc/mysql/MySQLConnectorAdapter.java  |    5 +-
 .../catalog/jdbc/mysql/MySQLMetadataAdapter.java   |   90 +-
 .../catalog/jdbc/mysql/MySQLPropertyMeta.java      |   45 +-
 .../mysql/MysqlColumnDefaultValueConverter.java    |  105 ++
 .../postgresql/PostgreSQLConnectorAdapter.java     |    6 +-
 .../postgresql/PostgreSQLDataTypeTransformer.java  |    3 +
 .../trino/connector/metadata/GravitinoColumn.java  |   43 +-
 .../trino/connector/metadata/GravitinoTable.java   |    2 +-
 .../trino/connector/TestGravitinoConfig.java       |   28 +
 .../connector/metadata/TestGravitinoCatalog.java   |    9 +
 .../connector/metadata/TestGravitinoColumn.java    |    8 +-
 .../integration/test/web/ui/CatalogsPageTest.java  |    4 +-
 .../test/web/ui/pages/CatalogsPage.java            |   19 +-
 web/web/LICENSE.bin                                |    8 +
 web/web/package.json                               |   12 +-
 web/web/pnpm-lock.yaml                             | 1402 +++++++++++++++++++-
 .../metalake/rightContent/CreateCatalogDialog.js   |   38 +-
 .../metalake/rightContent/LinkVersionDialog.js     |    6 +-
 .../rightContent/tabsContent/TabsContent.js        |   15 +-
 .../tabsContent/filesetView/FilesetView.js         |  200 +++
 .../tabsContent/tableView/TableView.js             |   29 +
 web/web/src/lib/api/filesets/index.js              |   16 +
 web/web/src/lib/auth/providers/factory.test.js     |  205 +++
 web/web/src/lib/auth/providers/oidc.test.js        |  312 +++++
 web/web/src/lib/provider/session.js                |    5 +-
 web/web/src/lib/store/metalakes/index.js           |   37 +
 web/web/src/lib/utils/axios/index.js               |   18 +-
 web/web/src/lib/utils/initial.js                   |    3 -
 .../Effect.java => web/web/src/test/setup.js       |   16 +-
 .../web/vitest.config.js                           |   50 +-
 525 files changed, 30255 insertions(+), 2988 deletions(-)
 create mode 100644 .github/workflows/web-ui-tests.yml
 create mode 100644 
api/src/main/java/org/apache/gravitino/credential/AwsIrsaCredential.java
 create mode 100644 
api/src/main/java/org/apache/gravitino/stats/PartitionStatisticsModification.java
 create mode 100644 
api/src/test/java/org/apache/gravitino/credential/TestSupportsCredentials.java
 copy 
spark-connector/spark-common/src/test/java/org/apache/gravitino/spark/connector/plugin/TestGravitinoDriverPlugin.java
 => 
api/src/test/java/org/apache/gravitino/rel/expressions/TestFunctionExpression.java
 (65%)
 create mode 100644 
authorizations/authorization-common/src/test/java/org/apache/gravitino/authorization/jdbc/TestJdbcAuthorizationProperties.java
 create mode 100644 
bundles/aws/src/main/java/org/apache/gravitino/s3/credential/AwsIrsaCredentialProvider.java
 copy core/src/main/java/org/apache/gravitino/credential/CredentialContext.java 
=> 
catalogs/catalog-jdbc-common/src/main/java/org/apache/gravitino/catalog/jdbc/operation/RequireDatabaseOperation.java
 (68%)
 create mode 100644 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/operation/TestSqliteTableOperations.java
 create mode 100644 
catalogs/catalog-jdbc-mysql/src/test/java/org/apache/gravitino/catalog/mysql/TestMysqlCatalogCapability.java
 create mode 100644 
catalogs/catalog-jdbc-mysql/src/test/java/org/apache/gravitino/catalog/mysql/integration/test/MysqlCatalogCapabilityIT.java
 create mode 100644 
catalogs/catalog-jdbc-postgresql/src/test/java/org/apache/gravitino/catalog/postgresql/TestPostgreSqlCatalogCapability.java
 create mode 100644 
catalogs/catalog-jdbc-postgresql/src/test/java/org/apache/gravitino/catalog/postgresql/integration/test/PostgreSqlCatalogCapabilityIT.java
 copy 
clients/client-java/src/main/java/org/apache/gravitino/client/{GenericTag.java 
=> GenericPolicy.java} (56%)
 create mode 100644 
clients/client-java/src/main/java/org/apache/gravitino/client/MetadataObjectPartitionStatisticsOperations.java
 copy 
clients/client-java/src/main/java/org/apache/gravitino/client/{MetadataObjectTagOperations.java
 => MetadataObjectPolicyOperations.java} (52%)
 create mode 100644 
clients/client-java/src/main/java/org/apache/gravitino/client/MetadataObjectStatisticsOperations.java
 create mode 100644 
clients/client-java/src/test/java/org/apache/gravitino/client/TestDropResponse.java
 copy 
clients/client-java/src/test/java/org/apache/gravitino/client/{TestGenericTag.java
 => TestGenericPolicy.java} (77%)
 copy 
clients/client-java/src/test/java/org/apache/gravitino/client/{TestSupportTags.java
 => TestSupportPolicies.java} (63%)
 create mode 100644 
clients/client-java/src/test/java/org/apache/gravitino/client/TestSupportsPartitionStatistics.java
 create mode 100644 
clients/client-java/src/test/java/org/apache/gravitino/client/TestSupportsStatistics.java
 create mode 100644 
clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/JobIT.java
 create mode 100644 
clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/PolicyIT.java
 create mode 100644 
clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/StatisticIT.java
 copy clients/client-python/gravitino/api/{ => expressions/indexes}/__init__.py 
(100%)
 create mode 100644 
clients/client-python/gravitino/api/expressions/indexes/index.py
 create mode 100644 
clients/client-python/gravitino/api/expressions/indexes/indexes.py
 copy clients/client-python/gravitino/{api/job/job_handle.py => 
client/generic_job_handle.py} (64%)
 create mode 100644 
clients/client-python/gravitino/client/gravitino_client_config.py
 copy clients/client-python/gravitino/{api => dto/job}/__init__.py (100%)
 create mode 100644 clients/client-python/gravitino/dto/job/job_dto.py
 create mode 100644 clients/client-python/gravitino/dto/job/job_template_dto.py
 create mode 100644 
clients/client-python/gravitino/dto/job/shell_job_template_dto.py
 create mode 100644 
clients/client-python/gravitino/dto/job/spark_job_template_dto.py
 create mode 100644 clients/client-python/gravitino/dto/rel/distribution_dto.py
 copy clients/client-python/gravitino/{api => dto/rel/partitioning}/__init__.py 
(100%)
 create mode 100644 
clients/client-python/gravitino/dto/rel/partitioning/bucket_partitioning_dto.py
 copy mcp-server/mcp_server/client/schema_operation.py => 
clients/client-python/gravitino/dto/rel/partitioning/day_partitioning_dto.py 
(60%)
 create mode 100644 
clients/client-python/gravitino/dto/rel/partitioning/function_partitioning_dto.py
 copy mcp-server/mcp_server/client/schema_operation.py => 
clients/client-python/gravitino/dto/rel/partitioning/hour_partitioning_dto.py 
(60%)
 copy mcp-server/mcp_server/client/schema_operation.py => 
clients/client-python/gravitino/dto/rel/partitioning/identity_partitioning_dto.py
 (60%)
 create mode 100644 
clients/client-python/gravitino/dto/rel/partitioning/list_partitioning_dto.py
 copy mcp-server/mcp_server/client/schema_operation.py => 
clients/client-python/gravitino/dto/rel/partitioning/month_partitioning_dto.py 
(60%)
 create mode 100644 
clients/client-python/gravitino/dto/rel/partitioning/partitioning.py
 create mode 100644 
clients/client-python/gravitino/dto/rel/partitioning/range_partitioning_dto.py
 create mode 100644 
clients/client-python/gravitino/dto/rel/partitioning/truncate_partitioning_dto.py
 copy mcp-server/mcp_server/client/schema_operation.py => 
clients/client-python/gravitino/dto/rel/partitioning/year_partitioning_dto.py 
(60%)
 create mode 100644 clients/client-python/gravitino/dto/rel/sort_order_dto.py
 copy clients/client-python/gravitino/dto/requests/{metalake_create_request.py 
=> job_run_request.py} (53%)
 copy clients/client-python/gravitino/dto/requests/{schema_updates_request.py 
=> job_template_register_request.py} (60%)
 copy clients/client-python/gravitino/dto/responses/{credential_response.py => 
job_list_response.py} (62%)
 copy clients/client-python/gravitino/dto/responses/{oauth2_error_response.py 
=> job_response.py} (64%)
 create mode 100644 
clients/client-python/gravitino/dto/responses/job_template_list_response.py
 copy clients/client-python/gravitino/dto/responses/{catalog_response.py => 
job_template_response.py} (50%)
 copy 
clients/client-python/gravitino/exceptions/handlers/{catalog_error_handler.py 
=> job_error_handler.py} (67%)
 create mode 100644 clients/client-python/gravitino/utils/serdes.py
 create mode 100644 
clients/client-python/tests/integration/test_supports_jobs.py
 copy clients/client-python/{gravitino/api => 
tests/unittests/dto/job}/__init__.py (100%)
 create mode 100644 
clients/client-python/tests/unittests/dto/job/test_job_template_dto_serde.py
 create mode 100644 
clients/client-python/tests/unittests/dto/rel/test_distribution_dto.py
 create mode 100644 
clients/client-python/tests/unittests/dto/rel/test_non_single_field_partitioning_dto.py
 create mode 100644 
clients/client-python/tests/unittests/dto/rel/test_partitioning.py
 create mode 100644 
clients/client-python/tests/unittests/dto/rel/test_single_field_partitioning_dto.py
 create mode 100644 
clients/client-python/tests/unittests/dto/rel/test_sort_order_dto.py
 create mode 100644 clients/client-python/tests/unittests/rel/test_indexes.py
 create mode 100644 
clients/client-python/tests/unittests/test_storage_handler.py
 create mode 100644 clients/client-python/tests/unittests/test_supports_jobs.py
 copy 
common/src/main/java/org/apache/gravitino/dto/requests/{ModelUpdatesRequest.java
 => PartitionStatisticsDropRequest.java} (65%)
 copy 
common/src/main/java/org/apache/gravitino/dto/requests/{TopicUpdatesRequest.java
 => PartitionStatisticsUpdateRequest.java} (61%)
 copy 
common/src/main/java/org/apache/gravitino/dto/requests/{TagsAssociateRequest.java
 => PoliciesAssociateRequest.java} (58%)
 copy 
common/src/main/java/org/apache/gravitino/dto/requests/{GroupAddRequest.java => 
StatisticsDropRequest.java} (67%)
 copy 
common/src/main/java/org/apache/gravitino/dto/requests/{TopicCreateRequest.java 
=> StatisticsUpdateRequest.java} (52%)
 copy 
common/src/main/java/org/apache/gravitino/dto/responses/{FileLocationResponse.java
 => ModelVersionUriResponse.java} (70%)
 copy 
common/src/main/java/org/apache/gravitino/dto/responses/{SchemaResponse.java => 
PartitionStatisticsListResponse.java} (63%)
 copy 
common/src/main/java/org/apache/gravitino/dto/responses/{PolicyResponse.java => 
StatisticListResponse.java} (59%)
 create mode 100644 
common/src/main/java/org/apache/gravitino/dto/stats/PartitionStatisticsDTO.java
 create mode 100644 
common/src/main/java/org/apache/gravitino/dto/stats/PartitionStatisticsDropDTO.java
 create mode 100644 
common/src/main/java/org/apache/gravitino/dto/stats/PartitionStatisticsUpdateDTO.java
 create mode 100644 
common/src/main/java/org/apache/gravitino/dto/stats/StatisticDTO.java
 create mode 100644 
common/src/test/java/org/apache/gravitino/audit/InternalClientTypeTest.java
 create mode 100644 
common/src/test/java/org/apache/gravitino/dto/rel/TestPartitionUtils.java
 create mode 100644 
common/src/test/java/org/apache/gravitino/dto/rel/TestTableDTO.java
 copy common/src/test/java/org/apache/gravitino/{utils/TestMapUtils.java => 
dto/rel/indexes/TestIndexDTO.java} (54%)
 create mode 100644 
common/src/test/java/org/apache/gravitino/dto/requests/TestDropResponse.java
 copy 
spark-connector/spark-common/src/test/java/org/apache/gravitino/spark/connector/plugin/TestGravitinoDriverPlugin.java
 => 
common/src/test/java/org/apache/gravitino/dto/requests/TestModelVersionUpdatesRequest.java
 (69%)
 create mode 100644 
common/src/test/java/org/apache/gravitino/dto/stats/TestPartitionStatisticsDTO.java
 create mode 100644 
common/src/test/java/org/apache/gravitino/dto/stats/TestStatisticDTO.java
 create mode 100644 
common/src/test/java/org/apache/gravitino/utils/TestJdbcUrlUtils.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/meta/StatisticEntity.java
 copy core/src/{test/java/org/apache/gravitino/TestModel.java => 
main/java/org/apache/gravitino/meta/TableStatisticEntity.java} (61%)
 create mode 100644 
core/src/main/java/org/apache/gravitino/stats/StatisticManager.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/stats/storage/MemoryPartitionStatsStorageFactory.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/stats/storage/MetadataObjectStatisticsDrop.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/stats/storage/MetadataObjectStatisticsUpdate.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/stats/storage/PartitionStatisticStorage.java
 copy api/src/main/java/org/apache/gravitino/policy/PolicyContent.java => 
core/src/main/java/org/apache/gravitino/stats/storage/PartitionStatisticStorageFactory.java
 (60%)
 create mode 100644 
core/src/main/java/org/apache/gravitino/stats/storage/PersistedPartitionStatistics.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/stats/storage/PersistedStatistic.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/storage/relational/mapper/StatisticMetaMapper.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/storage/relational/mapper/StatisticSQLProviderFactory.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/StatisticBaseSQLProvider.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/StatisticPostgresSQLProvider.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/storage/relational/po/StatisticPO.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/storage/relational/service/StatisticMetaService.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/stats/TestStatisticManager.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/stats/storage/TestMemoryPartitionStatsStorage.java
 copy 
core/src/test/java/org/apache/gravitino/storage/relational/converters/{TestMySQLExceptionConverter.java
 => TestPostgreSQLExceptionConverter.java} (65%)
 copy 
core/src/test/java/org/apache/gravitino/storage/relational/service/{TestSecurableObjects.java
 => TestStatisticMetaService.java} (50%)
 rename docs/{how-to-use-java-client.md => how-to-use-gravitino-client.md} (59%)
 create mode 100644 docs/manage-jobs-in-gravitino.md
 create mode 100644 docs/manage-policies-in-gravitino.md
 create mode 100644 docs/open-api/jobs.yaml
 create mode 100644 docs/open-api/policies.yaml
 create mode 100644 
flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/store/TestGravitinoCatalogStore.java
 create mode 100644 
flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/store/TestGravitinoFlinkConfig.java
 copy mcp-server/mcp_server/client/{table_operation.py => fileset_operation.py} 
(50%)
 create mode 100644 mcp-server/mcp_server/client/job_operation.py
 create mode 100644 mcp-server/mcp_server/client/model_operation.py
 copy clients/client-python/gravitino/constants/doc.py => 
mcp-server/mcp_server/client/plain/exception.py (88%)
 copy mcp-server/mcp_server/client/plain/{plain_rest_client_table_operation.py 
=> plain_rest_client_fileset_operation.py} (52%)
 create mode 100644 
mcp-server/mcp_server/client/plain/plain_rest_client_job_operation.py
 create mode 100644 
mcp-server/mcp_server/client/plain/plain_rest_client_model_operation.py
 create mode 100644 
mcp-server/mcp_server/client/plain/plain_rest_client_policy_operation.py
 create mode 100644 
mcp-server/mcp_server/client/plain/plain_rest_client_statistic_operation.py
 create mode 100644 
mcp-server/mcp_server/client/plain/plain_rest_client_tag_operation.py
 copy mcp-server/mcp_server/client/plain/{plain_rest_client_table_operation.py 
=> plain_rest_client_topic_operation.py} (61%)
 create mode 100644 mcp-server/mcp_server/client/policy_operation.py
 create mode 100644 mcp-server/mcp_server/client/statistic_operation.py
 create mode 100644 mcp-server/mcp_server/client/tag_operation.py
 copy mcp-server/mcp_server/client/{table_operation.py => topic_operation.py} 
(68%)
 create mode 100644 mcp-server/mcp_server/tools/fileset.py
 create mode 100644 mcp-server/mcp_server/tools/job.py
 create mode 100644 mcp-server/mcp_server/tools/metadata.py
 create mode 100644 mcp-server/mcp_server/tools/model.py
 create mode 100644 mcp-server/mcp_server/tools/policy.py
 create mode 100644 mcp-server/mcp_server/tools/statistic.py
 create mode 100644 mcp-server/mcp_server/tools/tag.py
 create mode 100644 mcp-server/mcp_server/tools/topic.py
 copy {clients/client-python => mcp-server}/pylintrc (100%)
 copy mcp-server/tests/unit/tools/{test_table.py => test_fileset.py} (56%)
 create mode 100644 mcp-server/tests/unit/tools/test_job.py
 create mode 100644 mcp-server/tests/unit/tools/test_model.py
 create mode 100644 mcp-server/tests/unit/tools/test_policy.py
 create mode 100644 mcp-server/tests/unit/tools/test_statistic.py
 create mode 100644 mcp-server/tests/unit/tools/test_tag.py
 copy mcp-server/tests/unit/tools/{test_table.py => test_topic.py} (72%)
 create mode 100644 
server/src/main/java/org/apache/gravitino/server/web/rest/MetadataObjectPolicyOperations.java
 create mode 100644 
server/src/main/java/org/apache/gravitino/server/web/rest/StatisticOperations.java
 create mode 100644 
server/src/test/java/org/apache/gravitino/server/web/rest/TestMetadataObjectPolicyOperations.java
 create mode 100644 
server/src/test/java/org/apache/gravitino/server/web/rest/TestStatisticOperations.java
 copy 
spark-connector/{v3.4/spark/src/test/java/org/apache/gravitino/spark/connector/TestSparkTypeConverter34.java
 => 
spark-common/src/test/java/org/apache/gravitino/spark/connector/TestGravitinoSparkConfig.java}
 (50%)
 create mode 100644 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/jdbc-mysql/00011_column_properties.sql
 create mode 100644 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/jdbc-mysql/00011_column_properties.txt
 copy 
{catalogs/catalog-jdbc-common/src/main/java/org/apache/gravitino/catalog/jdbc/converter
 => 
trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/jdbc}/JdbcColumnDefaultValueConverter.java
 (81%)
 create mode 100644 
trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/jdbc/mysql/MysqlColumnDefaultValueConverter.java
 create mode 100644 
web/web/src/app/metalakes/metalake/rightContent/tabsContent/filesetView/FilesetView.js
 create mode 100644 web/web/src/lib/auth/providers/factory.test.js
 create mode 100644 web/web/src/lib/auth/providers/oidc.test.js
 copy 
bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Effect.java
 => web/web/src/test/setup.js (74%)
 copy 
core/src/main/java/org/apache/gravitino/listener/api/event/DropTopicPreEvent.java
 => web/web/vitest.config.js (56%)

Reply via email to