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

dependabot[bot] pushed a change to branch 
dependabot/pip/clients/client-python/pyarrow-25.0.1
in repository https://gitbox.apache.org/repos/asf/gravitino.git


    omit 6c833debc4 build(deps): bump pyarrow in /clients/client-python
     add 0e2233aa21 [#12594] feat(authz): Add Semantic Model ownership and 
privilege support (#12867)
     add 42ba56320c [#12615] feat(tag): Add tag support for Semantic Models 
(#12870)
     add 8574ed9b90 [#13637] Retry and fall back when fetching libssl1.1 in CI 
(#13639)
     add 5af40fd4d9 [#13573] fix: slow metadata reads caused by NoOpsCache lock 
contention (#13574)
     add 8769b54b86 [#3560] improvement(client-python): Fix too-many-arguments 
and too-many-positional-arguments Pylint rules (#13671)
     add 040e298517 [#3767] refactor(client-python): Share table-driven error 
handler base to reduce duplicate code (#13672)
     add 73f2ddd913 [#12759] docs: add design doc for tag-based access control 
(#12757)
     add 2d63db89d9 [#13678] fix(core): make a cancelled local job end as 
CANCELLED (#13679)
     add dcdf5503e3 [#13637] Make release re-runs safe after a partial failure 
(#13638)
     add 3207d8f5f9 [#13685] fix(gvfs): Support Basic authentication in Java 
client (#13688)
     add cf725eeeb3 [#13637] docs: fix checksum algorithm in 
how-to-sign-releases (#13643)
     add 576d7d8084 [MINOR] docs: fix skill frontmatter position and document 
vote + GitHub release stages (#13640)
     add 6d4058d81e [#13545] docs: design tag-based Iceberg read restrictions 
(#13546)
     add 65f44cd106 [#11195] feat(maintenance): Integrate orphan cleanup 
policies with the optimizer (#13531)
     add a0c3e63503 [#13686] fix(iceberg-rest): Preserve 
WebApplicationException HTTP status (#13687)
     add 3d2bd431bb [#12516] fix(scripts): make 1.3 to 2.0 upgrades retryable 
(#13689)
     add 2c18230c18 [#10270] test(core): Guard @Param("roleId") binding on 
RoleMetaMapper.softDeleteRoleMetaByRoleId (#13666)
     add 62240804b7 [#13697] improvement(trino-connector): Load catalogs with a 
single detailed listing on refresh (#13698)
     add d429c341b5 [#13680] fix: accept PascalCase ExistOk as a Lance create 
mode (#13681)
     add 98281f7269 [#13160] fix(postgresql): Preserve unsupported constrained 
NUMERIC types (#13163)
     add db0dbdedf7 [#13582] improvement(core): Make JDBC idle connection 
retention configurable (#13620)
     add 34272ba4fa [#13692] feat(policy): define read restriction policy 
(#13693)
     add b15b420b6c [#13592] fix(jdbc): Use driver validation for catalog 
connection pools (#13600)
     add 51fb2d29c7 [#13581] improvement(core): Drain change-log backlog 
without waiting the poll interval after a full batch (#13619)
     add 371ac41870 [#13555][#13566][#13567][#13587] feat(core): Let job 
executors decide how to handle job resources through JobContext (#13563)
     add e96a2fb902 [#13605] fix(authz): Reload role policies cleared between 
checks of one authorization request (#13606)
     add 7ff63ddbfd [#13614] improvement(spark-connector): Upgrade Kyuubi Spark 
Hive connector to 1.12.0 to support dynamic partition pruning (#13615)
     add d71f7121db [#13580] fix(core): Avoid deadlock between cache eviction 
and segment locks (#13702)
     add 79527d7669 [#10166] fix(server): reject null request bodies in bulk 
role and run-job operations (#13670)
     add 2ebf08fa2a [#13540] feat(semantic-model): Add Ossie import and export 
(#13571)
     add 10d51bd966 [#12594][followup] fix(authz): Clarify semantic model 
privilege naming and filtering (#13718)
     add 912302110a [#13557] fix(core): Invalidate the authorizer name-id 
mapping on model, tag, policy and job template rename or delete (#13558)
     add 278102990e [#13547] fix(mysql): Handle decimal precision beyond 
Gravitino limit (#13548)
     add c5ac5b0cbd [#12595] feat(core): Add event listener support for 
Semantic Model operations (#13458)
     add ddbc9a20c7 [MINOR] refactor(server): Share Iceberg REST service URI 
resolution (#13738)
     add 4718fc54db [#13480] improvement(core): add a connector SPI to resolve 
physical table names (#13481)
     add 0237d79b73 [#13726] feat(policy): Support Iceberg rewrite strategy and 
sort order (#13727)
     add 3a449c59d2 [#13490] feat(clickhouse): support quarter/year start 
partition transforms (#13492)
     add b63f010793 [#13736] fix(python-client): make close idempotent (#13741)
     add 9014793d4c [#13591] fix(jdbc): Avoid nested connection borrows in JDBC 
catalog operations (#13729)
     add 0782dd9a0e [#13694] fix(authorization): Normalize metadata ID cache 
keys (#13699)
     add f887d0dc5f [MINOR] docs(client-python): document explicit client 
cleanup (#13745)
     add 3b92859318 [#13521] fix(core): delete legacy table versions by row on 
PostgreSQL, not by table id (#13526)
     add c17fc03b01 [#13447] fix(core): re-insert updated columns at their 
current index in bundled alters (#13448)
     add 14b0e7d818 [#13338] fix(lance): Preserve Lance blob columns as 
readable external types (#13390)
     add f8acb110ff [#13376] feat(clickhouse): preserve legacy Annoy and 
USearch index metadata (#13432)
     add e28a72c5f0 [MINOR] docs: state that supportedObjectTypes is not 
enforced in the OpenAPI spec (#13758)
     add c732bfa5de [#12594] feat(server): Authorize Semantic Model REST and 
validate sources (#13512)
     add 27eed7ecba [#12609] docs(open-api): Add Semantic Model REST API 
(#12627)
     add 8bd56bd493 [#13177] fix(core): Add statistic CAS and live-target 
checks (#13487)
     add 7a4f230f3e [#12903] fix(trino-connector): Keep MySQL time/timestamp 
precision in the Trino connector (#12906)
     add aa0fd7245e [MINOR] test(server): Fix stale Ossie import assertion 
(#13772)
     add b9a8632eae [#13224] fix(api): roll back registered model when 
registerModel version linking fails (#13225)
     add 383c96a7aa [#12614] feat(client-python): Add Semantic Model catalog 
operations (#12860)
     add a853a14544 [#12594] fix(server): Check semantic source capabilities 
before lookup (#13763)
     add afb28398d6 [#13488] docs: Add Table Maintenance Service design (#13386)
     add b837e07a93 [#13731] improvement(core): Remove TreeLock from partition, 
tag, policy, owner, model and table statistic operations (#13737)
     add 878240b75d [MINOR] fix(fileset): validate sub-path resolution (#13721)
     add 4f11ac17b8 [#13761] feat(tms): plugins/tms skeleton, DDL, and DAOs 
(#13762)
     add 40aab9d43a [#13765] feat(policy): Add TMS policy content fields and 
REST round-trip (#13766)
     add 2d4796baad [#13767] improve(core,jdbc): verify JDBC catalog backend 
reachable at create (#13769)
     add cb0accec80 [#12614] feat(python): Support Ossie Semantic Model import 
and export (#13795)
     add 0817563e8b [#13808] fix(client-python): Complete Semantic Model 
authorization mappings (#13793)
     add de25ce3bd8 [#13781] fix(client): Encode spaces as %20 in REST path 
segments (#13784)
     add 9223348fc8 [#13809] fix(core): Clarify catalog drop errors for 
unreachable backends (#13810)
     add 48572b5eb7 [#13613] feat(k8s-job-executor): Add the k8s job executor 
module with its configurations and Kubernetes connection (part 1/3) (#13724)
     add 1edfaf5399 [MINOR] docs(trino-connector): Clarify IRC access without a 
forwarded token (#13785)
     add f3bd25d546 [#12610] feat(client): Add Semantic Model Java client 
(#12628)
     add 880032f6af [#13782] fix(trino-connector): Report authorization and 
validation refusals as user errors (#13787)
     add 61addf63ed [#13775] feat(mcp-server): Add Semantic Model tools (#13804)
     add bd301d1bb3 [#13719] feat(policy): add restricted Rego parser for read 
restrictions (#13478)
     add e5b3528a26 [#13783] fix(trino-connector): Report querying a Gravitino 
view as not supported (#13788)
     add 51a316e320 [#13613] feat(k8s-job-executor): Build the SparkApplication 
of a Spark job and map its state to the job status (part 2/3) (#13725)
     add f58ea84310 [#13773] feat(tms): Add scheduler pools and soft-slot 
occupancy claim (#13774)
     add 294dbf8ff9 [#12614] feat(client-python): Support Semantic Model tags 
and owners (#13794)
     add b354e8fcbe [#13786] feat(core): Add Semantic Model import/export 
events (#13791)
     add 46cbef5bdd [#13748] fix(auth): Isolate request-specific role 
membership (#13747)
     add ff256c0ea5 [#13739] feat(flink-connector): Support Apache Flink 2.2 
(#13740)
     add 105fe71472 [#13516] improvement(ci): Split core tests into explicit 
database lanes (#13517)
     add 189ba4dfcd [#13777] feat(tms): In-job S0 gates, OccupancyGate, and 
REST Feature lifecycle (#13841)
     add a00fc7dd10 [#13854] fix(jdbc): register the catalog's JDBC driver 
before the create-time probe looks it up (#13855)
     add abac270b35 [#11196] feat(maintenance): Collect manifest statistics in 
single-writer table cycles (#13717)
     add 19d88d7bad [#13776] improvement(core): Report entity-store lock-wait 
timeouts as conflicts (#13792)
     add dc4b20e957 [#13510] feat(api): add AccessControlContent policy type 
(#13511)
     add 361b1e6565 [#13613] feat(k8s-job-executor): Add the k8s job executor 
to run Spark jobs on Kubernetes (part 3/3) (#13700)
     add 95ce9f5a23 [#13859] fix(authz): expose inaccessible object tag and 
policy associations (#13863)
     add e4b8b14221 [#13840] docs: Add Semantic Model user documentation 
(#13842)
     add 654106b5ca [#13735] fix(client-python): isolate per-request headers 
(#13743)
     add 28fd283135 [#13893] fix(cache): Recover late change logs and fence 
cache publication (#13831)
     add 3ec114aa28 [#13568] feat(iceberg): Add experimental Iceberg REST 
auxiliary service (#13569)
     add 830a19d86a [#11925] feat(trino-connector): Support views in Trino 
connector (#11926)
     add 9cc9084c14 [#13857] fix(server): Mask secrets in --updater-options and 
--spark-conf job arguments (#13858)
     add 8c2d91cebb [#13510] feat(common): add AccessControlContentDTO (#13901)
     add 9c9ad50e72 [#13510][followup] fix(api): permit USE_SEMANTIC_MODEL in 
AccessControlContent (#13905)
     add 6f9f226c6b [#13870] fix(iceberg-rest): Load real tables named like 
metadata tables in nested namespaces (#13874)
     add 62a948972d [#13923] fix(starrocks): reject unsupported indexes when 
creating tables (#13924)
     add d8fb60ba33 [#13895] fix(iceberg): report missing views after native 
rename (#13896)
     add 6968f0b0ba [#13916] fix(jdbc): reject unsupported StarRocks and 
OceanBase purge (#13917)
     add 55cb0a3c77 [#6505] improvement(test): Reuse core database fixtures by 
test class (#13518)
     add 2e00a23e49 [#13616] feat(k8s-job-executor): Register the k8s job 
executor, ship it and run built-in jobs on it (#13892)
     add b8fa0f6352 [#13933] fix(spark-connector): Reuse Basic credentials for 
routed Iceberg REST catalogs (#13935)
     add f742f1100a [#13931] fix(lance): preserve externally owned registered 
datasets (#13932)
     add 8d1b4c14be [MINOR] fix(postgresql): drop constraint-backed indexes 
correctly (#13922)
     add d7e8b22ca5 [#13925] improvement(idp-basic): Require currentPassword 
for self password change (#13926)
     add 522fede897 [#13939] fix(spark-connector): List and load only Spark 
Java functions (#13940)
     add 409d1c4013 [#13943] fix(oceanbase): Escape table and column comments 
(#13944)
     add 026a660350 [#13927] fix(credential): handle AWS IRSA fallback and ADLS 
paths (#13928)
     add c4a9a856a2 [#13918] fix(doris): Reject adding auto-increment columns 
(#13919)
     add f5060c2359 [#13936] fix(server): expose metrics only on main server 
(#13938)
     add 2b41cab63f [MINOR] fix(server): Default JDBC drivers in catalog REST 
APIs (#13942)
     add 7555479b9d [#13617] feat(k8s-job-executor): Pass the environment 
variables of a job template to the Spark driver and executors (#13948)
     add 0f92ce4367 [#12616] feat(web-v2): Add Semantic Model support to the 
Gravitino Web UI (#12900)
     add f5128429b5 [#13969] fix(jdbc): Escape Doris and StarRocks partition 
values (#13970)
     add fdb03ed448 [#13964] fix(idp-basic): Make service-admin bootstrap 
idempotent under races (#13965)
     add 25bfe375f1 [#13971] fix(auth): preserve UnauthorizedException from 
PrincipalMapper in JWKS validation (#13972)
     add 3ce91977a2 [#13945] fix(jdbc): Honor pool wait settings and validate 
MySQL table properties (#13946)
     add 5a45beb1c7 [#13967] fix(spark-connector): Reuse token and reject 
Kerberos for routed Iceberg REST catalogs (#13968)
     add aa549f92f9 [#14026] fix(catalog-jdbc): Keep auto-increment when 
updating column default value (#14027)
     add c3843d68ee [#13999] fix(starrocks): Apply nullability and default 
value when adding columns (#14004)
     add f8cbcdd3f4 [#13980] fix(iceberg): Authorize table metrics reports 
(#13981)
     add 60cd039154 [#14017] fix(core): Return 
JobTemplateAlreadyExistsException when renaming a job template to an existing 
name (#14018)
     add 5fb4a0fd4e [#13515] improvement(test): Speed up the core MySQL and 
PostgreSQL test lanes with disposable database data (#13899)
     add 997a61ef0b [#13978] fix(catalog-jdbc): Keep column default value when 
updating column type (#13979)
     add 7cad7718d0 [#14029] fix(core): Expose inferred credential-providers in 
catalog properties (#14030)
     add 02954c331b [#14014] fix(core): keep job status polling and staging 
cleanup running after a failure (#14016)
     add 9f8197917b [#13845] fix(server): Support authorized existence probing 
for view loads (#13846)
     add b748d734a5 [#14050] fix(jdbc): report non-empty schema drops 
consistently (#14051)
     add 4e900e8f18 [#13973][#13974] fix(catalog-jdbc): Escape column default 
literals and table properties (#13975)
     add bbb73f1a65 [#13977] fix(credential): Scope and validate cloud 
credentials (#13987)
     add f559909447 [#14031] fix(flink-connector): Validate credential 
providers for Iceberg non-REST backends (#14032)
     add b4097f31b2 [#14048] fix(catalog-jdbc): Clear comment when updating 
with null (#14053)
     add 3a445d8899 [#14062][#14063] fix(starrocks): Quote rename column names 
and skip empty alter clauses (#14064)
     add 2c7c308d9c [#14073] fix(catalog-jdbc): Quote reference column when 
updating column position (#14075)
     add 23c489d761 [#14046] fix(core): Settle a local job whose cancellation 
its owner never answers (#14047)
     add 5c8c1d99fe [#14039] fix(core): Return consistent conflicts for 
metadata renames (#14040)
     add af3a0f4c56 [#14125] improvement(trino-connector): Clarify that Iceberg 
REST routing requires OAuth2 (#14126)
     add 16af3f188f [#14021] fix(server): Honor X-Forwarded-For only from 
trusted proxies (#14024)
     add 641c58f4c0 [#12544] feat(ci): run pull request tests with contributor 
fork resources (#13049)
     add 8b2b30dbd2 [#14151] improvement(ci): Stop Fork CI on the first failed 
job and report results faster (#14152)
     add aa1efc1129 [#14189] improvement(ci): Stop requiring Fork CI and ASF 
Allowlist Check (#14190)
     add 1d73fb1b79 [#14022] fix(core): Honor the declared mode of event 
listeners registered in code (#14023)
     add 993ed4038a [#14056] fix(catalog-jdbc): Allow changing nullable column 
without default to NOT NULL (#14057)
     add 2fe1b28f68 [#14123] feat(fileset): Support managed and external type 
conversion (#14124)
     add d4d95ebfe5 [#14066] fix(starrocks): Map index types when loading 
StarRocks tables (#14067)
     add 3d4a0ce6f3 [#14127] fix(lineage): apply total queue capacity across 
sinks (#14128)
     add 25c3fb1289 [MINOR] fix(ci): keep Fork CI and allowlist statuses 
visible (#14192)
     add 10ba57615a [#14069] fix(core): Reject token credential providers on 
catalogs without path-based credentials (#14080)
     add c816482b8d [#14119] fix(fileset): Preserve metadata on cascade cleanup 
failure (#14120)
     add bda25bd5c1 [#12211] feat(client-python): split optional storage 
dependencies (#13750)
     add 6696ea2446 build(deps): bump pyarrow in /clients/client-python

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   (6c833debc4)
            \
             N -- N -- N   
refs/heads/dependabot/pip/clients/client-python/pyarrow-25.0.1 (6696ea2446)

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:
 .asf.yaml                                          |    3 +
 .github/actions/checkout-and-sync/action.yml       |  139 ++
 .github/scripts/allowlist-pr.cjs                   |   98 +
 .github/scripts/fail-fast.cjs                      |   90 +
 .github/scripts/fork-ci-status.cjs                 |  197 +++
 .github/scripts/publish-ci-status.cjs              |   39 +
 .github/scripts/resolve-fork-ci.cjs                |  103 ++
 .github/scripts/retire-fork-ci.cjs                 |   68 +
 .github/scripts/tests/fork-ci.test.cjs             | 1206 +++++++++++++
 .github/scripts/tests/retire-fork-ci.test.cjs      |   99 ++
 .github/scripts/update-fork-ci.cjs                 |  255 +++
 .../access-control-integration-test-action.yml     |   29 +
 .../workflows/access-control-integration-test.yml  |   45 +-
 .github/workflows/asf-allowlist-check.yml          |   38 +-
 .github/workflows/asf-allowlist-trusted.yml        |   73 +
 .github/workflows/auto-cherry-pick.yml             |    3 +
 .../workflows/backend-integration-test-action.yml  |   44 +-
 .github/workflows/backend-integration-test.yml     |   71 +-
 .github/workflows/build.yml                        |  290 ++-
 .github/workflows/chart-test.yaml                  |   61 +-
 .github/workflows/conflict-marker-check.yml        |    3 +-
 .github/workflows/contrib-catalog-test.yml         |   63 +-
 .github/workflows/cron-integration-test.yml        |    6 +-
 .../workflows/flink-integration-test-action.yml    |   33 +-
 .github/workflows/flink-integration-test.yml       |   61 +-
 .github/workflows/fork-ci-status-update.yml        |  123 ++
 .github/workflows/fork-ci-status.yml               |   28 +
 .github/workflows/fork-ci.yml                      |  322 ++++
 .github/workflows/frontend-integration-test.yml    |   51 +-
 .../iceberg-rest-trino-integration-test-action.yml |   39 +-
 .../iceberg-rest-trino-integration-test.yml        |   45 +-
 .github/workflows/idp-basic-test-action.yml        |   29 +
 .github/workflows/idp-basic-test.yml               |   45 +-
 .../workflows/lance-compatibility-matrix-test.yml  |    3 +
 .../maintenance-integration-test-action.yml        |   29 +
 .github/workflows/maintenance-integration-test.yml |   61 +-
 .github/workflows/mcp-integration-test-action.yml  |   29 +
 .github/workflows/mcp-integration-test.yml         |   45 +-
 .../workflows/python-integration-test-action.yml   |   29 +
 .github/workflows/python-integration-test.yml      |   45 +-
 .../workflows/spark-integration-test-action.yml    |   29 +
 .github/workflows/spark-integration-test.yml       |   66 +-
 .../workflows/trino-integration-test-action.yml    |   31 +
 .github/workflows/trino-integration-test.yml       |   45 +-
 .../workflows/trino-multi-version-test-action.yml  |    2 +
 .github/workflows/web-ui-tests.yml                 |   73 +-
 CONTRIBUTING.md                                    |   50 +-
 LICENSE.bin                                        |    8 +
 NOTICE.bin                                         |   10 +-
 agent-skills/gravitino-release/SKILL.md            |   75 +-
 agent-skills/trino-test/SKILL.md                   |   16 +-
 .../org/apache/gravitino/SupportsCatalogs.java     |    3 +-
 .../org/apache/gravitino/SupportsMetalakes.java    |    3 +-
 .../apache/gravitino/authorization/Privilege.java  |    8 +-
 .../apache/gravitino/authorization/Privileges.java |  122 +-
 .../gravitino/authorization/SecurableObjects.java  |   16 +
 .../org/apache/gravitino/file/FilesetCatalog.java  |   15 +-
 .../org/apache/gravitino/file/FilesetChange.java   |   61 +-
 .../java/org/apache/gravitino/job/JobHandle.java   |    2 +-
 .../org/apache/gravitino/job/ShellJobTemplate.java |    5 +
 .../org/apache/gravitino/job/SupportsJobs.java     |    5 +-
 .../org/apache/gravitino/model/ModelCatalog.java   |   36 +-
 .../gravitino/policy/AccessControlContent.java     |  198 +++
 .../apache/gravitino/policy/ColumnMaskContent.java |   91 +
 .../policy/IcebergDataCompactionContent.java       |   85 +-
 .../policy/IcebergOrphanFileRemovalContent.java    |  163 ++
 .../policy/IcebergRewriteManifestsContent.java     |   90 +
 .../policy/IcebergSnapshotExpirationContent.java   |   90 +
 .../java/org/apache/gravitino/policy/Policy.java   |   28 +-
 .../apache/gravitino/policy/PolicyContents.java    |  130 ++
 .../org/apache/gravitino/policy/PolicyList.java    |   61 +
 .../apache/gravitino/policy/PolicyOperations.java  |    3 +-
 .../gravitino/policy/ReadRestrictionContent.java   |   52 +
 .../apache/gravitino/policy/RowFilterContent.java  |   91 +
 .../apache/gravitino/policy/SupportsPolicies.java  |   27 +
 .../apache/gravitino/rel/SupportsPartitions.java   |   10 +-
 .../org/apache/gravitino/rel/TableCatalog.java     |    3 +-
 .../org/apache/gravitino/rel/indexes/Index.java    |   15 +-
 .../apache/gravitino/semantic/AIContextObject.java |   52 +-
 .../apache/gravitino/semantic/CustomExtension.java |    6 +
 .../apache/gravitino/semantic/OssieDocument.java   |   96 +
 .../org/apache/gravitino/semantic/OssieFormat.java |   14 +-
 .../apache/gravitino/semantic/OssieVersion.java    |   15 +-
 .../apache/gravitino/semantic/SemanticModel.java   |   34 +
 .../gravitino/semantic/SemanticModelCatalog.java   |   49 +
 .../apache/gravitino/stats/SupportsStatistics.java |   16 +
 .../org/apache/gravitino/tag/SupportsTags.java     |   32 +-
 .../java/org/apache/gravitino/tag/TagList.java     |   61 +
 .../authorization/TestSecurableObjects.java        |   83 +
 .../apache/gravitino/file/TestFilesetChange.java   |   18 +
 .../apache/gravitino/model/TestModelCatalog.java   |  228 +++
 .../TestIcebergOrphanFileRemovalContent.java       |   97 +
 .../gravitino/policy/TestPolicyBuiltInType.java    |   44 +
 .../gravitino/policy/TestPolicyContents.java       |  215 +++
 .../policy/TestReadRestrictionContent.java         |   97 +
 .../gravitino/semantic/TestOssieDocument.java      |   67 +
 .../semantic/TestSemanticModelCatalog.java         |   13 +
 .../semantic/TestSemanticModelSupportingTypes.java |   31 +-
 build.gradle.kts                                   |   24 +-
 .../oss/credential/OSSTokenGenerator.java          |   42 +-
 .../oss/credential/TestOSSTokenGenerator.java      |   45 +
 .../s3/credential/AwsIrsaCredentialGenerator.java  |   78 +-
 .../gravitino/s3/credential/S3TokenGenerator.java  |    3 +-
 .../credential/TestAwsIrsaCredentialGenerator.java |   83 +-
 .../abs/credential/ADLSTokenGenerator.java         |  126 +-
 .../abs/credential/TestADLSTokenGenerator.java     |  227 +++
 .../catalog/clickhouse/ClickHouseConstants.java    |   21 +
 .../operations/ClickHouseDatabaseOperations.java   |    7 +-
 .../operations/ClickHouseTableOperations.java      |  280 ++-
 .../operations/ClickHouseTableSqlUtils.java        |   25 +
 .../integration/test/CatalogClickHouseIT.java      |  235 ++-
 .../operations/TestClickHouseDatabaseDrop.java     |   78 +
 .../operations/TestClickHouseTableOperations.java  |   80 +-
 ...stClickHouseTableOperationsConnectionUsage.java |   67 +
 .../TestClickHouseTableOperationsPartitioning.java |   38 +-
 .../TestClickHouseTableOperationsUnit.java         |  501 +++++-
 .../HologresColumnDefaultValueConverter.java       |   15 +-
 .../operation/HologresTableOperations.java         |    4 +-
 .../TestHologresColumnDefaultValueConverter.java   |   27 +
 .../operation/TestHologresTableOperations.java     |   12 +
 .../operation/OceanBaseTableOperations.java        |   76 +-
 .../integration/test/CatalogOceanBaseIT.java       |    6 +-
 .../operation/TestOceanBaseTableOperations.java    |  239 ++-
 ...estOceanBaseTableOperationsConnectionUsage.java |   80 +
 .../TestOceanBaseTableOperationsSqlGeneration.java |  139 ++
 .../catalog/fileset/FilesetCatalogOperations.java  |  331 ++--
 .../fileset/TestFilesetCatalogCredential.java      |   10 +
 .../fileset/TestFilesetCatalogOperations.java      |  921 ++++++++++
 .../apache/gravitino/catalog/glue/GlueCatalog.java |    5 +
 .../apache/gravitino/catalog/hive/HiveCatalog.java |    5 +
 .../catalog/hive/HiveViewCatalogOperations.java    |  128 +-
 .../gravitino/catalog/hive/TestHiveCatalog.java    |   25 +
 .../catalog/hive/TestHiveCatalogOperations.java    |  487 ++++-
 catalogs/catalog-jdbc-common/build.gradle.kts      |    1 +
 .../apache/gravitino/catalog/jdbc/JdbcCatalog.java |   51 +
 .../catalog/jdbc/JdbcCatalogOperations.java        |  193 +-
 .../jdbc/JdbcCatalogPropertiesMetadata.java        |   35 +-
 .../gravitino/catalog/jdbc/config/JdbcConfig.java  |   85 +
 .../converter/JdbcColumnDefaultValueConverter.java |   37 +-
 .../jdbc/operation/JdbcDatabaseOperations.java     |   16 +-
 .../jdbc/operation/JdbcTableOperations.java        |  214 ++-
 .../catalog/jdbc/operation/TableOperation.java     |   25 +
 .../catalog/jdbc/utils/DataSourceUtils.java        |   36 +-
 .../catalog/jdbc/utils/JdbcConnectionTimeouts.java |  303 ++++
 .../catalog/jdbc/TestJdbcCatalogCredential.java    |    4 +
 .../catalog/jdbc/TestJdbcCatalogOperations.java    |  123 ++
 .../jdbc/TestJdbcCatalogOperationsProbe.java       |  327 ++++
 .../jdbc/TestJdbcCatalogPropertiesMetadata.java    |  215 +++
 .../catalog/jdbc/config/TestJdbcConfig.java        |   17 +
 .../TestJdbcColumnDefaultValueConverter.java       |   45 +
 .../jdbc/operation/TestJdbcDatabaseDrop.java       |   70 +
 .../TestJdbcOperationsConnectionUsage.java         |  480 +++++
 .../jdbc/operation/TestJdbcTableOperations.java    |   65 +
 .../jdbc/utils/ConnectionCountingDataSource.java   |  168 ++
 .../jdbc/utils/TestDataSourceValidation.java       |  193 ++
 .../catalog/jdbc/utils/TestJdbcConfig.java         |   43 +
 .../jdbc/utils/TestJdbcConnectionTimeouts.java     |  326 ++++
 .../DorisColumnDefaultValueConverter.java          |   38 +
 .../doris/operation/DorisDatabaseOperations.java   |   23 +-
 .../doris/operation/DorisTableOperations.java      |  134 +-
 .../gravitino/catalog/doris/utils/DorisUtils.java  |   25 +-
 .../TestDorisColumnDefaultValueConverter.java      |   12 +
 .../doris/integration/test/CatalogDoris2xIT.java   |   44 +
 .../doris/integration/test/CatalogDoris3xIT.java   |   45 +
 .../doris/integration/test/CatalogDoris4xIT.java   |   45 +
 .../doris/operation/TestDorisDatabaseDrop.java     |   69 +
 .../operation/TestDorisDatabaseOperations.java     |   19 +
 .../TestDorisDatabasePropertiesOperations.java     |   96 +
 .../operation/TestDorisPartitionSqlGeneration.java |  115 ++
 .../doris/operation/TestDorisTableOperations.java  |  129 ++
 .../TestDorisTableOperationsSqlGeneration.java     |  276 ++-
 .../TestDorisTablePartitionOperations.java         |   87 +
 .../catalog/doris/utils/TestDorisUtils.java        |   84 +
 catalogs/catalog-jdbc-mysql/build.gradle.kts       |    1 +
 .../mysql/MysqlTablePropertiesMetadata.java        |   34 +-
 .../mysql/converter/MysqlTypeConverter.java        |   21 +-
 .../mysql/operation/MysqlTableOperations.java      |  186 +-
 .../catalog/mysql/TestMysqlDataSource.java         |  144 ++
 .../mysql/TestMysqlTablePropertiesMetadata.java    |  222 +++
 .../mysql/converter/TestMysqlTypeConverter.java    |   12 +
 .../mysql/integration/test/CatalogMysqlIT.java     |  106 ++
 .../mysql/operation/TestMysqlTableOperations.java  |  293 ++-
 .../TestMysqlTableOperationsSqlGeneration.java     |  160 ++
 catalogs/catalog-jdbc-postgresql/build.gradle.kts  |    1 +
 .../PostgreSqlColumnDefaultValueConverter.java     |   15 +-
 .../converter/PostgreSqlTypeConverter.java         |   15 +-
 .../operation/PostgreSqlTableOperations.java       |   62 +-
 .../postgresql/TestPostgreSqlDataSource.java       |  126 ++
 .../TestPostgreSqlColumnDefaultValueConverter.java |   65 +
 .../converter/TestPostgreSqlTypeConverter.java     |   15 +
 .../integration/test/CatalogPostgreSqlIT.java      |   85 +-
 .../operation/TestPostgreSqlTableOperations.java   |  162 +-
 ...TestPostgreSqlTableOperationsSqlGeneration.java |   49 +
 catalogs/catalog-jdbc-starrocks/build.gradle.kts   |    1 +
 .../operations/StarRocksDatabaseOperations.java    |    6 +-
 .../operations/StarRocksTableOperations.java       |  123 +-
 .../catalog/starrocks/utils/StarRocksUtils.java    |   31 +-
 .../integration/test/CatalogStarRocksIT.java       |   28 +
 .../TestStarRocksPartitionSqlGeneration.java       |  117 ++
 .../operation/TestStarRocksTableOperations.java    |  191 ++
 .../TestStarRocksTableOperationsSqlGeneration.java |  299 +++-
 .../TestStarRocksTablePartitionOperations.java     |   87 +
 .../operations/TestStarRocksDatabaseDrop.java      |   69 +
 .../starrocks/utils/TestStarRocksUtils.java        |   95 +
 .../gravitino/catalog/kafka/KafkaCatalog.java      |    5 +
 .../catalog/kafka/TestKafkaCatalogOperations.java  |   14 +
 .../catalog/lakehouse/generic/GenericCatalog.java  |    5 +
 .../generic/GenericCatalogOperations.java          |    5 +-
 .../lakehouse/lance/LanceTableOperations.java      |   72 +-
 .../generic/TestGenericCatalogOperations.java      |  150 ++
 .../lakehouse/lance/TestLanceTableOperations.java  |  359 ++++
 .../catalog/lakehouse/hudi/HudiCatalog.java        |    5 +
 .../iceberg/IcebergViewCatalogOperations.java      |   65 +-
 .../lakehouse/iceberg/TestIcebergCatalog.java      |   11 +
 .../iceberg/TestIcebergViewCatalogOperations.java  |  166 ++
 .../catalog/lakehouse/paimon/PaimonCatalog.java    |    5 +
 catalogs/catalog-model/build.gradle.kts            |    1 +
 .../gravitino/catalog/model/ModelCatalogImpl.java  |    5 +
 .../catalog/model/ModelCatalogOperations.java      |   15 +-
 .../catalog/model/TestModelCatalogOperations.java  |  120 +-
 clients/client-java/build.gradle.kts               |    1 +
 .../apache/gravitino/client/BaseSchemaCatalog.java |   22 +
 .../org/apache/gravitino/client/DTOConverters.java |   40 +
 .../org/apache/gravitino/client/ErrorHandlers.java |   79 +
 .../apache/gravitino/client/FilesetCatalog.java    |   11 +-
 .../org/apache/gravitino/client/GenericColumn.java |   11 +
 .../apache/gravitino/client/GenericFileset.java    |   22 +
 .../apache/gravitino/client/GenericFunction.java   |   11 +
 .../org/apache/gravitino/client/GenericModel.java  |   22 +
 .../org/apache/gravitino/client/GenericSchema.java |   22 +
 .../gravitino/client/GenericSemanticModel.java     |  226 +++
 .../org/apache/gravitino/client/GenericTopic.java  |   22 +
 .../org/apache/gravitino/client/GenericView.java   |   11 +
 .../client/GravitinoClientConfiguration.java       |   15 +
 .../org/apache/gravitino/client/HTTPClient.java    |   71 +-
 .../client/MetadataObjectPolicyOperations.java     |   31 +-
 .../client/MetadataObjectTagOperations.java        |   32 +-
 .../org/apache/gravitino/client/RESTClient.java    |   41 +
 .../apache/gravitino/client/RelationalCatalog.java |   68 +-
 .../apache/gravitino/client/RelationalTable.java   |   22 +
 .../client/SemanticModelCatalogOperations.java     |  266 +++
 .../gravitino/client/TestFilesetCatalog.java       |   25 +
 .../gravitino/client/TestGenericSemanticModel.java |  140 ++
 .../client/TestGravitinoClientConfiguration.java   |   23 +
 .../apache/gravitino/client/TestHTTPClient.java    |   96 +
 .../gravitino/client/TestRelationalCatalog.java    |   24 +
 .../gravitino/client/TestSemanticModelCatalog.java |  692 ++++++++
 .../gravitino/client/TestSupportPolicies.java      |  107 +-
 .../apache/gravitino/client/TestSupportTags.java   |  102 +-
 .../gravitino/client/integration/test/JobIT.java   |    9 +
 .../client/integration/test/SemanticModelIT.java   | 1358 ++++++++++++++
 .../test/authorization/FilesetAuthorizationIT.java |   50 +
 .../test/authorization/PolicyAuthorizationIT.java  |   89 +
 .../TagOperationsAuthorizationIT.java              |   61 +
 clients/client-python/MANIFEST.in                  |    6 +
 clients/client-python/gravitino/__init__.py        |   29 +-
 .../gravitino/api/authorization/privileges.py      |  107 +-
 .../api/authorization/securable_objects.py         |   24 +
 .../gravitino/api/file/fileset_change.py           |   51 +-
 .../client-python/gravitino/api/job/job_handle.py  |    4 +-
 .../client-python/gravitino/api/metadata_object.py |    3 +
 .../gravitino/api/metadata_objects.py              |    4 +-
 .../gravitino/api/rel/indexes/index.py             |   17 +
 .../gravitino/api/semantic/ai_context_object.py    |   39 +-
 .../gravitino/api/semantic/semantic_model.py       |   15 +
 .../api/semantic/semantic_model_catalog.py         |   57 +-
 .../gravitino/api/stats/supports_statistics.py     |   14 +
 .../client-python/gravitino/api/tag/__init__.py    |    2 +
 .../gravitino/api/tag/supports_tags.py             |   17 +
 .../gravitino/api/tag/{__init__.py => tag_list.py} |   24 +-
 .../gravitino/client/base_schema_catalog.py        |    7 +
 .../gravitino/client/fileset_catalog.py            |    2 +
 .../gravitino/client/generic_column.py             |    7 +
 .../gravitino/client/generic_fileset.py            |    9 +-
 .../gravitino/client/generic_function.py           |    9 +
 .../gravitino/client/generic_model.py              |    8 +-
 .../gravitino/client/generic_schema.py             |    7 +
 .../gravitino/client/generic_semantic_model.py     |  127 ++
 .../client-python/gravitino/client/generic_view.py |    7 +
 .../client/metadata_object_tag_operations.py       |   30 +-
 .../gravitino/client/relational_catalog.py         |   19 +
 .../gravitino/client/relational_table.py           |    7 +
 .../client/semantic_model_catalog_operations.py    |  310 ++++
 .../dto/rel/indexes/json_serdes/index_serdes.py    |    9 +-
 .../dto/requests/fileset_update_request.py         |   20 +
 .../dto/requests/semantic_model_create_request.py  |   69 +
 .../dto/requests/semantic_model_update_request.py  |  144 ++
 .../dto/requests/semantic_model_updates_request.py |   43 +
 .../dto/responses/semantic_model_response.py       |   56 +
 .../gravitino/dto/responses/tag_response.py        |   13 +-
 .../exceptions/handlers/catalog_error_handler.py   |   59 +-
 .../handlers/credential_error_handler.py           |   26 +-
 .../exceptions/handlers/fileset_error_handler.py   |   40 +-
 .../exceptions/handlers/function_error_handler.py  |   51 +-
 .../exceptions/handlers/group_error_handler.py     |   49 +-
 .../exceptions/handlers/job_error_handler.py       |   64 +-
 .../exceptions/handlers/metalake_error_handler.py  |   32 +-
 .../exceptions/handlers/model_error_handler.py     |   79 +-
 .../exceptions/handlers/owner_error_handler.py     |   40 +-
 .../exceptions/handlers/partition_error_handler.py |   61 +-
 .../handlers/permission_error_handler.py           |   65 +-
 .../exceptions/handlers/rest_error_handler.py      |   29 +
 .../exceptions/handlers/role_error_handler.py      |   67 +-
 .../exceptions/handlers/schema_error_handler.py    |   45 +-
 .../exceptions/handlers/secret_error_handler.py    |   23 +-
 ..._handler.py => semantic_model_error_handler.py} |   58 +-
 .../handlers/statistics_error_handler.py           |   67 +-
 .../exceptions/handlers/table_error_handler.py     |   62 +-
 .../exceptions/handlers/tag_error_handler.py       |   54 +-
 .../exceptions/handlers/user_error_handler.py      |   50 +-
 .../exceptions/handlers/view_error_handler.py      |   62 +-
 .../gravitino/filesystem/gvfs_storage_handler.py   |   36 +-
 .../client-python/gravitino/utils/http_client.py   |   30 +-
 clients/client-python/pylintrc                     |    8 +-
 .../{MANIFEST.in => requirements-azure.txt}        |   10 +-
 clients/client-python/requirements-dev.txt         |    8 +
 .../{MANIFEST.in => requirements-gcs.txt}          |   10 +-
 .../{MANIFEST.in => requirements-gvfs.txt}         |   13 +-
 .../{MANIFEST.in => requirements-hdfs.txt}         |   10 +-
 .../{MANIFEST.in => requirements-oss.txt}          |   10 +-
 .../{MANIFEST.in => requirements-s3.txt}           |   10 +-
 clients/client-python/requirements.txt             |   14 +-
 clients/client-python/setup.py                     |   58 +-
 .../tests/integration/test_fileset_catalog.py      |   26 +
 .../test_semantic_model_authorization.py           |  266 +++
 .../tests/integration/test_semantic_model_ossie.py |  300 ++++
 .../test_semantic_model_tags_and_owner.py          |  319 ++++
 .../test_semantic_model_supporting_types.py        |   13 +-
 .../unittests/auth/test_oauth2_token_provider.py   |   23 +
 .../unittests/authorization/test_privileges.py     |   12 +
 .../test_semantic_model_authorization.py           |  169 ++
 .../tests/unittests/dto/rel/test_index_serdes.py   |   78 +
 .../unittests/dto/test_semantic_model_rest.py      |  137 ++
 clients/client-python/tests/unittests/mock_base.py |    4 +-
 ...t_client_import_without_storage_dependencies.py |  103 ++
 .../unittests/test_code_mapping_error_handler.py   |  324 ++++
 .../tests/unittests/test_error_handler.py          |  104 ++
 .../tests/unittests/test_fileset_type_change.py    |   71 +
 .../tests/unittests/test_gravitino_client.py       |   17 +
 .../tests/unittests/test_http_client_close.py      |   58 +
 .../tests/unittests/test_http_client_headers.py    |  174 ++
 .../tests/unittests/test_http_client_raw_body.py   |   64 +
 .../tests/unittests/test_metadata_objects.py       |    2 +-
 .../tests/unittests/test_package_metadata.py       |  173 ++
 .../tests/unittests/test_semantic_model_catalog.py |  386 ++++
 .../tests/unittests/test_semantic_model_ossie.py   |  250 +++
 .../test_semantic_model_tags_and_owner.py          |  208 +++
 .../tests/unittests/test_storage_handler.py        |   97 +-
 .../client-python/tests/unittests/test_tag_api.py  |   54 +-
 .../GravitinoVirtualFileSystemConfiguration.java   |   17 +-
 .../hadoop/GravitinoVirtualFileSystemUtils.java    |   25 +
 .../filesystem/hadoop/TestBasicClient.java         |  152 ++
 .../credential/CredentialProviderDelegator.java    |    2 +
 .../gravitino/credential/RoleSessionNameUtils.java |   51 +
 .../java/org/apache/gravitino/dto/job/JobDTO.java  |    4 +-
 .../gravitino/dto/policy/PolicyContentDTO.java     |  344 ++++
 .../org/apache/gravitino/dto/policy/PolicyDTO.java |   20 +-
 .../dto/requests/FilesetUpdateRequest.java         |   33 +
 .../dto/requests/PolicyCreateRequest.java          |   20 +-
 .../dto/requests/PolicyUpdateRequest.java          |   20 +-
 ....java => MetadataObjectPolicyListResponse.java} |   51 +-
 ...nse.java => MetadataObjectTagListResponse.java} |   46 +-
 .../gravitino/dto/responses/NameListResponse.java  |    2 +
 .../dto/responses/PolicyListResponse.java          |    2 +
 ...stResponse.java => PolicyNameListResponse.java} |   47 +-
 .../gravitino/dto/responses/TagListResponse.java   |    2 +
 ...gListResponse.java => TagNameListResponse.java} |   47 +-
 .../apache/gravitino/dto/util/DTOConverters.java   |   77 +
 .../java/org/apache/gravitino/rest/RESTUtils.java  |   24 +-
 .../org/apache/gravitino/utils/FileFetcher.java    |    7 +-
 .../credential/TestRoleSessionNameUtils.java       |   53 +
 .../dto/policy/TestOrphanFileRemovalPolicyDTO.java |  122 ++
 .../gravitino/dto/policy/TestPolicyContentDTO.java |   58 +
 .../apache/gravitino/dto/policy/TestPolicyDTO.java |   68 +
 .../dto/policy/TestReadRestrictionPolicyDTO.java   |  214 +++
 ...iteManifestsAndSnapshotExpirationPolicyDTO.java |   68 +
 .../dto/requests/TestFilesetUpdatesRequest.java    |   45 +
 .../gravitino/dto/responses/TestResponses.java     |   78 +
 .../gravitino/dto/util/TestDTOConverters.java      |   28 +
 .../org/apache/gravitino/json/TestJsonUtils.java   |   14 +
 .../org/apache/gravitino/rest/TestRESTUtils.java   |   10 +-
 .../apache/gravitino/utils/TestFileFetcher.java    |   19 +
 conf/gravitino.conf.template                       |    5 +
 core/build.gradle.kts                              |  114 ++
 .../cache/it/AbstractEntityStorageBenchmark.java   |   16 +
 .../main/java/org/apache/gravitino/Configs.java    |   64 +-
 .../java/org/apache/gravitino/EntityStore.java     |   21 +
 .../java/org/apache/gravitino/GravitinoEnv.java    |   62 +-
 .../java/org/apache/gravitino/audit/AuditLog.java  |   49 +
 .../gravitino/audit/v2/CompatibilityUtils.java     |    7 +
 .../authorization/AuthorizationRequestContext.java |  193 ++
 .../authorization/AuthorizationUtils.java          |   93 +-
 .../authorization/FutureGrantManager.java          |   15 +-
 .../gravitino/authorization/OwnerManager.java      |   95 +-
 .../gravitino/authorization/PermissionManager.java |   81 +-
 .../apache/gravitino/cache/BaseEntityCache.java    |   31 +-
 .../gravitino/cache/CaffeineEntityCache.java       |   84 +-
 .../org/apache/gravitino/cache/NoOpsCache.java     |   15 +-
 .../gravitino/cache/SupportsEntityStoreCache.java  |    6 +
 .../gravitino/catalog/CapabilityHelpers.java       |   44 +
 .../catalog/CatalogChangeLogListener.java          |   55 +-
 .../apache/gravitino/catalog/CatalogManager.java   |  220 ++-
 .../apache/gravitino/catalog/FilesetFileOps.java   |    6 +
 .../gravitino/catalog/JdbcDriverProperties.java    |   94 +
 .../gravitino/catalog/ManagedTableOperations.java  |   30 +-
 .../catalog/ModelOperationDispatcher.java          |  227 +--
 .../catalog/PartitionOperationDispatcher.java      |   49 +-
 .../catalog/SchemaOperationDispatcher.java         |    6 +
 .../gravitino/catalog/SemanticModelDispatcher.java |  160 +-
 .../catalog/SemanticModelNormalizeDispatcher.java  |   17 +
 .../catalog/SemanticModelOperationDispatcher.java  |   52 +-
 .../gravitino/catalog/SemanticModelValidator.java  |   21 +-
 .../catalog/TableNormalizeDispatcher.java          |   16 +-
 .../catalog/TableOperationDispatcher.java          |    3 +
 .../catalog/TopicOperationDispatcher.java          |    6 +
 .../gravitino/catalog/ViewOperationDispatcher.java |    6 +
 .../apache/gravitino/connector/BaseCatalog.java    |   76 +-
 .../connector/HiddenPropertyMaskUtils.java         |  133 ++
 .../connector/SupportsTableNameResolution.java     |   80 +
 .../apache/gravitino/connector/job/JobContext.java |   98 +
 .../gravitino/connector/job/JobExecutor.java       |   42 +-
 .../gravitino/connector/job/JobResourceUtils.java  |  234 +++
 .../gravitino/credential/CredentialUtils.java      |   14 +
 .../apache/gravitino/hook/JobHookDispatcher.java   |   22 +-
 .../apache/gravitino/hook/ModelHookDispatcher.java |   15 +-
 .../gravitino/hook/PolicyHookDispatcher.java       |   17 +-
 .../hook/SemanticModelHookDispatcher.java          |  147 ++
 .../apache/gravitino/hook/TagHookDispatcher.java   |   17 +-
 .../apache/gravitino/hook/ViewHookDispatcher.java  |    8 +-
 .../job/BuiltInJobTemplateEventListener.java       |  177 +-
 .../apache/gravitino/job/JobExecutorFactory.java   |   99 +-
 .../java/org/apache/gravitino/job/JobManager.java  |  304 +++-
 .../gravitino/job/JobOperationDispatcher.java      |    5 +-
 .../gravitino/job/JobRuntimeTemplateMaskUtils.java |  214 +++
 .../apache/gravitino/job/JobTemplateResolver.java  |   73 +-
 .../gravitino/job/local/LocalJobExecutor.java      |  125 +-
 .../job/local/LocalJobExecutorConfigs.java         |    9 +
 .../gravitino/job/local/LocalProcessBuilder.java   |   30 +-
 .../gravitino/job/local/ShellProcessBuilder.java   |   16 +-
 .../gravitino/job/local/SparkProcessBuilder.java   |    5 +-
 .../gravitino/listener/AsyncQueueListener.java     |   48 +-
 .../org/apache/gravitino/listener/EventBus.java    |   18 +-
 .../gravitino/listener/EventListenerManager.java   |  109 +-
 .../gravitino/listener/JobEventDispatcher.java     |   10 +-
 .../listener/SemanticModelEventDispatcher.java     |  221 +++
 .../listener/api/event/OperationType.java          |   11 +
 .../event/semantic/AlterSemanticModelEvent.java    |   74 +
 .../semantic/AlterSemanticModelFailureEvent.java   |   64 +
 .../event/semantic/AlterSemanticModelPreEvent.java |   62 +
 .../event/semantic/CreateSemanticModelEvent.java   |   58 +
 .../semantic/CreateSemanticModelFailureEvent.java  |   62 +
 .../semantic/CreateSemanticModelPreEvent.java      |   58 +
 .../api/event/semantic/DropSemanticModelEvent.java |   56 +
 .../semantic/DropSemanticModelFailureEvent.java    |   46 +
 .../event/semantic/DropSemanticModelPreEvent.java} |   49 +-
 .../event/semantic/ExportSemanticModelEvent.java   |   57 +
 .../semantic/ExportSemanticModelFailureEvent.java  |   61 +
 .../semantic/ExportSemanticModelPreEvent.java      |   60 +
 .../event/semantic/ImportSemanticModelEvent.java   |   74 +
 .../semantic/ImportSemanticModelFailureEvent.java  |   73 +
 .../semantic/ImportSemanticModelPreEvent.java      |   72 +
 .../api/event/semantic/ListSemanticModelEvent.java |   70 +
 .../semantic/ListSemanticModelFailureEvent.java    |   57 +
 .../event/semantic/ListSemanticModelPreEvent.java  |   56 +
 .../api/event/semantic/LoadSemanticModelEvent.java |   58 +
 .../semantic/LoadSemanticModelFailureEvent.java    |   46 +
 .../event/semantic/LoadSemanticModelPreEvent.java} |   49 +-
 .../api/event/semantic/SemanticModelEvent.java     |   45 +
 .../event/semantic/SemanticModelFailureEvent.java  |   32 +-
 .../api/event/semantic/SemanticModelPreEvent.java  |   31 +-
 .../api/event/server/HttpRequestEvent.java         |   13 +-
 .../api/event/server/HttpRequestFailureEvent.java  |    5 +-
 .../gravitino/listener/api/info/JobInfo.java       |   24 +-
 .../listener/api/info/SemanticModelInfo.java       |  124 ++
 .../java/org/apache/gravitino/meta/JobEntity.java  |    6 +-
 .../apache/gravitino/metalake/MetalakeManager.java |   13 +-
 .../source/EntityChangeLogMetricsSource.java       |   18 +
 .../org/apache/gravitino/policy/PolicyManager.java |  289 ++-
 .../gravitino/policy/rego/CanonicalExpression.java |   49 +
 .../org/apache/gravitino/policy/rego/Column.java   |   65 +
 .../apache/gravitino/policy/rego/Comparison.java   |  119 ++
 .../gravitino/policy/rego/ComparisonOperator.java  |   71 +
 .../gravitino/policy/rego/ExpressionValidator.java |  146 ++
 .../gravitino/policy/rego/GroupMembership.java     |   65 +
 .../org/apache/gravitino/policy/rego/Literal.java  |  120 ++
 .../apache/gravitino/policy/rego/LiteralArray.java |   83 +
 .../rego/LiteralType.java}                         |   17 +-
 .../gravitino/policy/rego/LogicalExpression.java   |  112 ++
 .../rego/LogicalOperator.java}                     |   21 +-
 .../java/org/apache/gravitino/policy/rego/Not.java |   67 +
 .../rego/RestrictedRegoExpressionParserFacade.java |  105 ++
 .../gravitino/policy/rego/RestrictedRegoLexer.java |  322 ++++
 .../policy/rego/RestrictedRegoLimits.java          |   24 +-
 .../policy/rego/RestrictedRegoProgram.java         |  410 +++++
 .../policy/rego/RestrictedRegoSourceParser.java    |  358 ++++
 .../policy/rego/RestrictedRegoSourceValidator.java |  113 ++
 .../apache/gravitino/policy/rego/SessionUser.java} |   34 +-
 .../gravitino/semantic/OssieDocumentConverter.java |  994 +++++++++++
 .../semantic/SemanticModelPropertiesMetadata.java  |   64 +
 .../apache/gravitino/stats/StatisticManager.java   |   41 +-
 .../relational/EntityCacheChangeLogListener.java   |   10 +-
 .../relational/EntityChangeLogListener.java        |   25 +-
 .../storage/relational/EntityChangeLogPoller.java  |  480 ++++-
 .../storage/relational/EntityChangeLogWriter.java  |   51 +
 .../gravitino/storage/relational/JDBCBackend.java  |  102 +-
 .../storage/relational/RelationalBackend.java      |   21 +
 .../storage/relational/RelationalEntityStore.java  |  192 +-
 .../relational/mapper/EntityChangeLogMapper.java   |   21 +
 .../mapper/EntityChangeLogSQLProviderFactory.java  |   21 +
 .../mapper/OwnerMetaSQLProviderFactory.java        |    4 +
 .../relational/mapper/SemanticModelMetaMapper.java |   16 +
 .../relational/mapper/StatisticMetaMapper.java     |   44 +-
 .../mapper/StatisticSQLProviderFactory.java        |   44 +-
 .../base/EntityChangeLogBaseSQLProvider.java       |   42 +-
 .../provider/base/StatisticBaseSQLProvider.java    |  104 +-
 .../EntityChangeLogPostgreSQLProvider.java         |    6 +
 .../postgresql/StatisticPostgresSQLProvider.java   |   31 -
 .../postgresql/TableVersionPostgreSQLProvider.java |    5 +-
 .../relational/service/JobTemplateMetaService.java |   16 +-
 .../relational/service/LiveEndpointService.java    |    4 +-
 .../relational/service/MetadataObjectService.java  |   32 +
 .../relational/service/ModelMetaService.java       |   41 +-
 .../service/ModelVersionMetaService.java           |  212 ++-
 .../OrphanedMetadataObjectRelationService.java     |    4 +
 .../relational/service/SchemaMetaService.java      |   50 +-
 .../service/SemanticModelMetaService.java          |   50 +-
 .../relational/service/StatisticMetaService.java   |  325 +++-
 .../storage/relational/service/TagMetaService.java |   40 +-
 .../session/SqlSessionFactoryHelper.java           |   12 +-
 .../storage/relational/utils/ExceptionUtils.java   |  186 ++
 .../java/org/apache/gravitino/tag/TagManager.java  |  558 +++---
 .../apache/gravitino/utils/EntityClassMapper.java  |    6 +
 .../apache/gravitino/utils/MetadataObjectUtil.java |    7 +
 .../org/apache/gravitino/utils/RenameUtils.java    |   51 +
 .../org/apache/gravitino/utils/RequestContext.java |    7 +-
 .../java/org/apache/gravitino/TestCatalog.java     |   22 +
 .../test/java/org/apache/gravitino/TestConfig.java |   14 +
 .../TestGravitinoEnvMetadataComponents.java        |   23 +-
 .../apache/gravitino/TestGravitinoEnvShutdown.java |  104 ++
 .../apache/gravitino/audit/DummyAuditWriter.java   |    7 +-
 .../apache/gravitino/audit/TestAuditManager.java   |   28 +
 .../org/apache/gravitino/audit/TestOperation.java  |  101 ++
 .../gravitino/audit/v2/TestCompatibilityUtils.java |    7 +
 .../authorization/TestAccessControlManager.java    |   14 +
 .../TestAccessControlManagerForPermissions.java    |   88 +
 .../TestAuthorizationRequestContext.java           |  274 +++
 .../authorization/TestAuthorizationUtils.java      |   99 ++
 .../authorization/TestFutureGrantManager.java      |   90 +
 .../gravitino/authorization/TestOwnerManager.java  |   89 +-
 .../gravitino/cache/TestBaseEntityCache.java       |   14 +-
 .../cache/TestCaffeineEntityCacheEviction.java     |  336 ++++
 .../cache/TestEntityCachePublicationRace.java      |  272 +++
 .../org/apache/gravitino/cache/TestNoOpsCache.java |  132 ++
 .../catalog/TestCatalogChangeLogListener.java      |   59 +-
 .../gravitino/catalog/TestCatalogManager.java      |  569 +++++-
 .../catalog/TestCatalogMutationMarkerRace.java     |   70 +
 .../gravitino/catalog/TestCatalogWrapperLease.java |   22 +-
 .../catalog/TestJdbcDriverProperties.java          |   99 ++
 .../catalog/TestManagedTableOperations.java        |   48 +
 .../catalog/TestModelOperationDispatcher.java      |   94 +-
 .../catalog/TestPartitionOperationDispatcher.java  |   45 +
 .../catalog/TestSchemaOperationDispatcher.java     |   40 +
 .../catalog/TestSemanticModelDispatcher.java       |   97 +
 .../TestSemanticModelNormalizeDispatcher.java      |   61 +
 .../TestSemanticModelOperationDispatcher.java      |  255 ++-
 .../catalog/TestSemanticModelValidator.java        |   45 +
 .../catalog/TestTableNormalizeDispatcher.java      |  174 ++
 .../catalog/TestTableOperationDispatcher.java      |   31 +
 .../catalog/TestTopicOperationDispatcher.java      |   43 +
 .../catalog/TestViewOperationDispatcher.java       |   50 +
 .../gravitino/catalog/TreeLockTestSupport.java     |   18 +-
 .../TestBaseCatalogCredentialProviders.java        |  203 +++
 .../gravitino/connector/TestCatalogOperations.java |   19 +
 .../connector/TestHiddenPropertyMaskUtils.java     |   43 +
 .../connector/job/TestJobExecutionInfo.java        |    2 +-
 .../gravitino/connector/job/TestJobExecutor.java   |  125 ++
 .../connector/job/TestJobResourceUtils.java        |  403 +++++
 .../gravitino/hook/TestFilesetHookDispatcher.java  |   15 +
 .../gravitino/hook/TestJobHookDispatcher.java      |   71 +
 .../gravitino/hook/TestModelHookDispatcher.java    |   70 +
 .../gravitino/hook/TestPolicyHookDispatcher.java   |   71 +
 .../hook/TestSemanticModelHookDispatcher.java      |  302 ++++
 .../gravitino/hook/TestTagHookDispatcher.java      |   66 +
 .../gravitino/hook/TestViewHookDispatcher.java     |   23 +
 .../job/TestBuiltInJobTemplateEventListener.java   |  184 +-
 .../gravitino/job/TestJobExecutorFactory.java      |  209 ++-
 .../org/apache/gravitino/job/TestJobManager.java   |  612 ++++++-
 .../gravitino/job/TestJobManagerMultiNode.java     |   47 +-
 .../job/TestJobRuntimeTemplateMaskUtils.java       |  264 +++
 .../gravitino/job/TestJobTemplateResolver.java     |  346 +---
 .../gravitino/job/local/TestLocalJobExecutor.java  |  311 +++-
 .../gravitino/listener/TestAsyncQueueListener.java |  120 ++
 .../listener/TestEventListenerManager.java         |  206 +++
 .../listener/api/event/TestJobEventDispatcher.java |   54 +
 .../listener/api/event/TestSemanticModelEvent.java |  553 ++++++
 .../event/TestSemanticModelImportExportEvent.java  |  415 +++++
 .../gravitino/listener/api/info/TestJobInfo.java   |   49 +
 .../apache/gravitino/meta/TestPolicyEntity.java    |   37 +
 .../gravitino/metalake/TestMetalakeManager.java    |    3 +
 .../apache/gravitino/policy/TestPolicyManager.java |  249 ++-
 .../policy/rego/RestrictedRegoTestUtils.java       |  117 ++
 .../apache/gravitino/policy/rego/TestColumn.java   |   18 +-
 .../gravitino/policy/rego/TestComparison.java      |   54 +
 .../policy/rego/TestComparisonOperator.java        |   17 +-
 .../gravitino/policy/rego/TestGroupMembership.java |   19 +-
 .../apache/gravitino/policy/rego/TestLiteral.java  |   48 +
 .../gravitino/policy/rego/TestLiteralArray.java    |   55 +
 .../policy/rego/TestLogicalExpression.java         |   65 +
 .../org/apache/gravitino/policy/rego/TestNot.java  |   26 +-
 .../TestRestrictedRegoExpressionParserFacade.java  |  126 ++
 .../policy/rego/TestRestrictedRegoGoldenFile.java  |  176 ++
 .../policy/rego/TestRestrictedRegoLexer.java       |   81 +
 .../policy/rego/TestRestrictedRegoProgram.java     |  113 ++
 .../rego/TestRestrictedRegoSourceParser.java       |  256 +++
 .../rego/TestRestrictedRegoSourceValidator.java    |  164 ++
 .../gravitino/policy/rego/TestSessionUser.java     |   17 +-
 .../semantic/TestOssieDocumentConverter.java       |  876 +++++++++
 .../TestSemanticModelPropertiesMetadata.java       |   46 +
 .../gravitino/stats/TestStatisticManager.java      |   92 +
 .../TestJdbcPartitionStatisticStorageIT.java       |    7 +-
 .../storage/AbstractEntityStorageTest.java         |   50 +-
 .../gravitino/storage/TestBackendTestSelector.java |   84 +
 .../apache/gravitino/storage/TestSQLScripts.java   |  342 ++++
 .../storage/relational/BackendTestExtension.java   |  312 +++-
 .../storage/relational/BackendTestSelector.java    |   71 +
 .../gravitino/storage/relational/CoreBackend.java  |   86 +
 .../storage/relational/DatabaseFixture.java        |   33 +-
 .../storage/relational/DatabaseResetter.java       |  146 ++
 .../storage/relational/ResetStrategy.java          |   43 +
 .../relational/TestBackendTestExtension.java       |  434 +++++
 .../relational/TestCacheCommitOrdering.java        |  119 ++
 .../storage/relational/TestCoreLaneMembership.java |  107 ++
 .../TestEntityCacheCrossNodeInvalidation.java      |   61 +-
 .../relational/TestEntityChangeLogPoller.java      |  888 +++++++++-
 .../storage/relational/TestJDBCBackend.java        |   72 +-
 .../relational/TestRelationalEntityStore.java      |   19 +
 ...elationalEntityStoreBackendLockWaitTimeout.java |  171 ++
 ...TestRelationalEntityStoreHierarchicalCache.java |   13 +
 .../TestRelationalEntityStoreLockWaitTimeout.java  |  522 ++++++
 .../storage/relational/TestRenameConflicts.java    |  311 ++++
 .../storage/relational/TestResetStrategy.java      |   95 +
 .../relational/TestSemanticModelJDBCBackend.java   |  137 ++
 .../relational/mapper/TestRoleMetaMapper.java      |   50 +
 .../mapper/provider/base/TestAuthMappers.java      |    2 +
 .../provider/base/TestEntityChangeLogMapper.java   |   43 +
 .../provider/base/TestUserRoleRelMapper.java       |    2 +
 .../relational/service/TestJobMetaService.java     |   48 -
 .../service/TestJobMetaServiceValidation.java      |   78 +
 .../service/TestJobTemplateMetaService.java        |   85 +
 .../service/TestModelVersionMetaService.java       |  198 ++-
 .../TestOrphanedMetadataObjectRelationService.java |   59 +
 .../relational/service/TestSchemaMetaService.java  |  167 ++
 .../service/TestStatisticConcurrentWrites.java     |  277 +++
 .../service/TestStatisticMetaService.java          |  790 ++++++++-
 .../relational/service/TestTableMetaService.java   |   73 +
 .../relational/service/TestTagMetaService.java     |   49 +-
 .../storage/relational/session/TestSqlSession.java |   64 +
 .../relational/utils/TestExceptionUtils.java       |  204 +++
 .../org/apache/gravitino/tag/TestTagManager.java   |  212 ++-
 .../org/apache/gravitino/utils/RaceTestUtils.java  |   85 +
 .../gravitino/utils/TestMetadataObjectUtil.java    |   18 +
 .../apache/gravitino/utils/TestRenameUtils.java    |   63 +
 .../test/resources/restricted-rego-v1-cases.golden |   91 +
 .../test/resources/restricted-rego-v1-cases.txt    |   35 +
 .../gravitino-entity-cache-multinode-design.md     |    2 +-
 design-docs/gravitino-local-authentication.md      |   32 +-
 design-docs/gravitino-semantic-model-design.md     |    4 +-
 design-docs/table-maintenance-service-design.md    |  572 ++++++
 design-docs/tag-based-access-control.md            |  844 +++++++++
 ...tag-based-read-restrictions-for-iceberg-rest.md |  725 ++++++++
 .../resources/gravitino-iceberg-rest-server.conf   |    3 +-
 .../gravitino-iceberg-rest-server/values.yaml      |    2 +
 .../resources/gravitino-lance-rest-server.conf     |    1 +
 dev/charts/gravitino-lance-rest-server/values.yaml |    2 +
 .../gravitino/resources/config/gravitino.conf      |    3 +
 dev/charts/gravitino/tests/configmap_test.yaml     |   19 +
 dev/charts/gravitino/values.yaml                   |    5 +
 dev/docker/flink-connectors/Dockerfile             |   11 +-
 dev/docker/flink-connectors/README.md              |    7 +-
 dev/docker/flink-connectors/copy-connector.sh      |   10 +-
 .../flink-connectors-dependency.sh                 |    9 +-
 dev/docker/iceberg-rest-server/rewrite_config.py   |    1 +
 dev/docker/lance-rest-server/rewrite_config.py     |    3 +-
 dev/performance/jdbc_idle_retention.py             |  195 ++
 dev/performance/test_jdbc_idle_retention.py        |   77 +
 dev/release/publish-docker.sh                      |    4 +-
 dev/release/release-build.sh                       |    2 +
 docs/development/custom-job-executor.md            |   37 +
 docs/fileset-catalog-with-adls.md                  |    2 +-
 docs/fileset-catalog-with-gcs.md                   |    2 +-
 docs/fileset-catalog-with-oss.md                   |    2 +-
 docs/fileset-catalog-with-s3.md                    |    2 +-
 docs/filesets.md                                   |   22 +-
 docs/flink-connector/flink-catalog-iceberg.md      |   10 +
 docs/flink-connector/flink-catalog-jdbc.md         |    8 +-
 docs/flink-connector/flink-catalog-paimon.md       |   16 +-
 docs/flink-connector/flink-connector.md            |    3 +-
 docs/gravitino-mcp-server.md                       |   53 +
 docs/gravitino-server-config.md                    |  151 +-
 docs/how-to-sign-releases.md                       |   14 +-
 docs/how-to-test.md                                |   43 +
 docs/how-to-upgrade.md                             |    5 +
 docs/how-to-use-gravitino-client.md                |   19 +-
 docs/how-to-use-gvfs.md                            |   38 +-
 docs/how-to-use-python-client.md                   |   35 +-
 docs/how-to-use-relational-backend-storage.md      |   21 +
 docs/iceberg-compaction-policy.md                  |   34 +-
 docs/iceberg-rest-service.md                       |   33 +-
 docs/index.md                                      |    3 +
 docs/jdbc-catalog-connection-validation.md         |  107 ++
 docs/jdbc-clickhouse-catalog.md                    |   36 +-
 docs/jdbc-doris-catalog.md                         |   24 +-
 docs/jdbc-hologres-catalog.md                      |   23 +-
 docs/jdbc-mysql-catalog.md                         |   48 +-
 docs/jdbc-oceanbase-catalog.md                     |   29 +-
 docs/jdbc-postgresql-catalog.md                    |   38 +-
 docs/jdbc-starrocks-catalog.md                     |   39 +-
 docs/lakehouse-generic-lance-table.md              |   54 +-
 docs/lance-rest-service.md                         |   28 +-
 docs/lineage/gravitino-server-lineage.md           |    6 +
 docs/manage-fileset-metadata-using-gravitino.md    |   53 +
 docs/manage-jobs-in-gravitino.md                   |   74 +-
 docs/manage-policies-in-gravitino.md               |   35 +-
 ...nage-semantic-model-metadata-using-gravitino.md |  596 +++++++
 docs/manage-statistics-in-gravitino.md             |   18 +
 docs/manage-tags-in-gravitino.md                   |   50 +-
 docs/metrics.md                                    |   75 +-
 docs/migration-guide.md                            |   17 +
 docs/open-api/filesets.yaml                        |   61 +-
 docs/open-api/idp/idp.yaml                         |  148 +-
 docs/open-api/idp/openapi.yaml                     |    6 +
 docs/open-api/indexes.yaml                         |    2 +
 docs/open-api/jobs.yaml                            |   30 +-
 docs/open-api/models.yaml                          |    9 +
 docs/open-api/openapi.yaml                         |   21 +
 docs/open-api/policies.yaml                        |  544 +++++-
 docs/open-api/roles.yaml                           |    5 +
 docs/open-api/semantic-models.yaml                 | 1598 +++++++++++++++++
 docs/open-api/statistics.yaml                      |    4 +-
 docs/open-api/tags.yaml                            |   53 +-
 docs/policies.md                                   |  141 +-
 docs/security/access-control.md                    |   21 +-
 docs/security/credential-vending.md                |   34 +-
 docs/security/local-users-and-groups.md            |   46 +-
 docs/semantic-models.md                            |  102 ++
 docs/spark-connector/spark-catalog-hive.md         |   18 +
 docs/spark-connector/spark-catalog-iceberg.md      |    6 +
 .../optimizer-cli-reference.md                     |  108 +-
 .../optimizer-configuration.md                     |   64 +-
 docs/table-maintenance-service/optimizer.md        |   13 +-
 docs/tags.md                                       |   27 +-
 docs/trino-connector/authentication.md             |   17 +-
 docs/trino-connector/catalog-mysql.md              |   14 +
 docs/trino-connector/installation.md               |    5 +
 docs/trino-connector/sql-support.md                |   32 +
 .../connector/iceberg/GravitinoIcebergCatalog.java |   93 +-
 .../iceberg/IcebergPropertiesConstants.java        |    9 +
 .../connector/jdbc/JdbcPropertiesConverter.java    |   21 +
 .../iceberg/TestGravitinoIcebergCatalog.java       |  159 ++
 .../iceberg/TestGravitinoIcebergCatalogOpen.java   |  133 ++
 .../connector/integration/test/FlinkCommonIT.java  |   35 +-
 .../test/jdbc/FlinkJdbcMysqlCatalogIT.java         |   32 +
 .../AbstractJdbcPropertiesConverterTestSuite.java  |   21 +
 .../flink/connector/utils/TestTypeUtils.java       |    7 +
 .../v2.1/flink-runtime/build.gradle.kts            |    5 +-
 .../flink/runtime/TestRuntimeJarDependencies.java  |   37 +-
 flink-connector/v2.1/flink/build.gradle.kts        |    7 +-
 .../{v2.1 => v2.2}/flink-runtime/build.gradle.kts  |    9 +-
 .../flink/runtime/TestRuntimeJarDependencies.java  |   37 +-
 .../{v2.1 => v2.2}/flink/build.gradle.kts          |   25 +-
 .../GravitinoIcebergCatalogFactoryFlink22.java}    |   45 +-
 .../iceberg/GravitinoIcebergCatalogFlink22.java    |  105 ++
 .../jdbc/GravitinoJdbcCatalogFlink22.java          |   64 +
 .../GravitinoMysqlJdbcCatalogFactoryFlink22.java   |   41 +
 ...GravitinoPostgresJdbcCatalogFactoryFlink22.java |   42 +
 .../GravitinoPaimonCatalogFactoryFlink22.java}     |   39 +-
 .../paimon/GravitinoPaimonCatalogFlink22.java      |   52 +
 .../connector/utils/CatalogCompatFlink22.java      |   64 +
 .../org.apache.flink.table.factories.Factory       |   29 +
 .../connector/catalog/TestBaseCatalogFlink22.java  |   15 +-
 .../hive/TestFlinkGenericTableUtilFlink22.java     |   15 +-
 .../hive/TestGravitinoHiveCatalogFlink22.java      |   15 +-
 .../TestGravitinoIcebergCatalogFlink22.java        |   84 +
 .../test/catalog/GravitinoCatalogManagerIT22.java  |    6 +-
 .../test/iceberg/FlinkIcebergHiveCatalogIT22.java  |    6 +-
 .../test/iceberg/FlinkIcebergJdbcCatalogIT22.java  |   21 +-
 .../test/iceberg/FlinkIcebergRestCatalogIT22.java  |    6 +-
 .../test/jdbc/FlinkJdbcMysqlCatalogIT22.java       |   53 +
 .../test/paimon/FlinkPaimonHiveBackendIT22.java    |    6 +-
 .../test/paimon/FlinkPaimonJdbcBackendIT22.java    |    6 +-
 .../FlinkPaimonLocalFileSystemBackendIT22.java     |    6 +-
 .../jdbc/TestGravitinoJdbcCatalogFlink22.java      |   15 +-
 .../paimon/TestGravitinoPaimonCatalogFlink22.java  |   15 +-
 .../connector/utils/TestCatalogCompatFlink22.java  |   80 +
 gradle/libs.versions.toml                          |   28 +-
 .../gravitino/iceberg/common/IcebergConfig.java    |   10 +
 .../iceberg/common/ops/IcebergCatalogWrapper.java  |   42 +-
 .../common/ops/TestIcebergCatalogWrapper.java      |   59 +
 .../build.gradle.kts                               |   93 +
 iceberg/iceberg-rest-server/build.gradle.kts       |  106 +-
 .../org/apache/gravitino/iceberg/RESTService.java  |   80 +-
 .../iceberg/service/IcebergExceptionMapper.java    |   28 +-
 .../service/rest/IcebergTableOperations.java       |   40 +-
 .../listener/api/event/IcebergRequestContext.java  |   28 +-
 ...bergMetadataAuthorizationMethodInterceptor.java |   12 +
 .../server/web/filter/LoadTableAuthzHandler.java   |   47 +-
 .../apache/gravitino/iceberg/TestRESTService.java  |   60 +-
 .../integration/test/IcebergAuthorizationIT.java   |    9 +-
 .../test/IcebergExperimentalAuthorizationIT.java   |  107 ++
 .../test/IcebergTableAuthorizationIT.java          |   13 +-
 .../test/util/IcebergRESTServerManager.java        |    3 +-
 .../service/TestIcebergExceptionMapper.java        |   24 +
 .../AbstractIcebergCleanupJobStoreBackendTest.java |    3 +-
 .../service/cleanup/TestIcebergCleanupManager.java |    2 +-
 .../TestIcebergTableEventDispatcher.java           |    2 +-
 .../iceberg/service/rest/IcebergRestTestUtil.java  |    2 +-
 .../iceberg/service/rest/TestIcebergConfig.java    |   19 +
 .../rest/TestIcebergNamespaceOperations.java       |    5 +-
 .../service/rest/TestIcebergTableOperations.java   |   49 +
 .../api/event/TestIcebergRequestContext.java       |   40 +-
 ...bergMetadataAuthorizationMethodInterceptor.java |   27 +
 .../web/filter/TestLoadTableAuthzHandler.java      |  219 +++
 integration-test-common/build.gradle.kts           |    7 +
 .../docker-script/init/mysql/init.sql              |   21 +
 .../integration/test/container/BaseContainer.java  |   46 +-
 .../integration/test/container/ContainerSuite.java |   25 +-
 .../test/container/DatabaseContainer.java          |  164 ++
 .../integration/test/container/MySQLContainer.java |  130 +-
 .../test/container/PostgreSQLContainer.java        |  105 +-
 .../test/util/CloseContainerExtension.java         |   15 +-
 .../integration/test/util/TestDatabaseName.java    |    3 +
 .../resources/mysql-conf/default/gravitino.cnf     |   17 +-
 .../resources/mysql-conf/disposable/gravitino.cnf  |   23 +-
 .../gravitino/lance/common/config/LanceConfig.java |   10 +
 .../lance/common/ops/gravitino/CommonUtil.java     |   21 +-
 .../gravitino/GravitinoLanceTableOperations.java   |    5 +-
 .../lance/common/ops/gravitino/LanceBlobTypes.java |  260 +++
 .../ops/gravitino/LanceDataTypeConverter.java      |   56 +-
 .../lance/common/utils/LancePropertiesUtils.java   |   37 +
 .../common/ops/gravitino/TestLanceBlobTypes.java   |  292 +++
 .../ops/gravitino/TestLanceDataTypeConverter.java  |  298 ++++
 .../common/utils/TestLancePropertiesUtils.java     |   36 +
 .../apache/gravitino/lance/LanceRESTService.java   |   73 +-
 .../gravitino/lance/TestLanceRESTService.java      |   60 +-
 .../gravitino/TestGravitinoLanceModeParsing.java   |   20 +-
 .../TestGravitinoLanceTableOperations.java         |   33 +
 .../apache/gravitino/lineage/LineageConfig.java    |   12 +-
 .../gravitino/lineage/sink/LineageSinkManager.java |   22 +-
 .../gravitino/lineage/TestLineageConfig.java       |   38 +-
 .../lineage/sink/TestLineageSinkManager.java       |  109 +-
 maintenance/jobs/build.gradle.kts                  |    2 +-
 .../jobs/BuiltInJobTemplateProvider.java           |    2 +
 .../jobs/iceberg/IcebergRemoveOrphanFilesJob.java  |   44 +-
 .../iceberg/IcebergUpdateManifestStatsJob.java     |  306 ++++
 .../jobs/TestBuiltInJobTemplateProvider.java       |    8 +-
 .../TestIcebergRemoveOrphanFilesJobWithSpark.java  |   43 +
 .../iceberg/TestIcebergUpdateManifestStatsJob.java |  198 +++
 .../TestIcebergUpdateManifestStatsJobMain.java     |   91 +
 ...TestIcebergUpdateManifestStatsJobWithSpark.java |  383 ++++
 .../common/IcebergManifestStatistics.java          |  129 ++
 .../common/util/GravitinoClientUtils.java          |    8 +
 .../common/util/OrphanFileLocationUtils.java       |   79 +
 .../common/TestIcebergManifestStatistics.java      |   86 +
 .../common/util/TestGravitinoAuthSettings.java     |   17 +
 maintenance/optimizer/build.gradle.kts             |    3 +
 .../handler/BaseExpressionStrategyHandler.java     |    5 +-
 .../handler/compaction/CompactionJobContext.java   |    8 +
 .../compaction/CompactionStrategyHandler.java      |   22 +
 .../OrphanFileRemovalJobContext.java}              |   62 +-
 .../OrphanFileRemovalStrategyHandler.java}         |   31 +-
 .../job/GravitinoCompactionJobAdapter.java         |   13 +-
 .../recommender/job/GravitinoJobSubmitter.java     |    5 +-
 .../job/GravitinoOrphanFileRemovalJobAdapter.java  |  104 ++
 .../optimizer/integration/test/RecommenderIT.java  |  169 ++
 .../compaction/TestCompactionStrategyHandler.java  |    2 +
 .../TestGravitinoPolicyCompactionStrategy.java     |   55 +
 .../job/TestBuiltinIcebergRewriteDataFiles.java    |    2 +
 .../job/TestGravitinoCompactionJobAdapter.java     |   19 +-
 .../recommender/job/TestGravitinoJobSubmitter.java |    9 +
 .../TestGravitinoOrphanFileRemovalJobAdapter.java  |  159 ++
 .../statistics/TestGravitinoStatisticsUpdater.java |   26 +
 .../mcp_server/client/gravitino_operation.py       |    6 +
 .../client/plain/plain_rest_client_operation.py    |   10 +
 .../plain_rest_client_semantic_model_operation.py  |  106 ++
 mcp-server/mcp_server/client/plain/utils.py        |    8 +-
 .../mcp_server/client/semantic_model_operation.py  |   69 +
 mcp-server/mcp_server/tools/__init__.py            |    3 +
 mcp-server/mcp_server/tools/semantic_model.py      |  160 ++
 mcp-server/tests/unit/client/test_url_encoding.py  |   58 +
 mcp-server/tests/unit/tools/mock_operation.py      |   44 +
 mcp-server/tests/unit/tools/test_semantic_model.py |  424 +++++
 .../apache/gravitino/idp/IdpUserGroupManager.java  |   39 +-
 .../idp/basic/IdpCredentialValidator.java          |   14 +-
 ...UserRequest.java => ChangePasswordRequest.java} |   49 +-
 ...rRequest.java => UpdateUserEnabledRequest.java} |   44 +-
 .../org/apache/gravitino/idp/web/IdpRESTUtils.java |   11 +
 .../idp/web/rest/IdpAuthorizationFilter.java       |   28 +-
 .../gravitino/idp/web/rest/IdpUserOperations.java  |   91 +-
 .../gravitino/idp/TestIdpUserGroupManager.java     |   70 +-
 .../dto/requests/TestChangePasswordRequest.java    |   79 +
 .../dto/requests/TestUpdateUserEnabledRequest.java |   49 +
 .../idp/dto/requests/TestUpdateUserRequest.java    |   83 -
 .../idp/integration/test/IdpRESTApiIT.java         |   51 +-
 .../idp/web/rest/TestIdpAuthorizationFilter.java   |    6 +
 .../gravitino/idp/web/rest/TestIdpOperations.java  |   53 +-
 plugins/k8s-job-executor/build.gradle.kts          |  137 ++
 .../apache/gravitino/job/k8s/K8sClientUtils.java   |  288 +++
 .../gravitino/job/k8s/K8sJobExecutionId.java       |  132 ++
 .../apache/gravitino/job/k8s/K8sJobExecutor.java   |  620 +++++++
 .../gravitino/job/k8s/K8sJobExecutorConfigs.java   |  561 ++++++
 .../gravitino/job/k8s/K8sJobResourceUtils.java     |  147 ++
 .../gravitino/job/k8s/K8sKubeconfigUtils.java      |  115 ++
 .../gravitino/job/k8s/NamespacedResourceCache.java |  183 ++
 .../org/apache/gravitino/job/k8s/PodLogUtils.java  |  121 ++
 .../job/k8s/spark/SparkApplicationStatusUtils.java |  553 ++++++
 .../job/k8s/spark/SparkApplicationUtils.java       |  307 ++++
 .../job/k8s/TestK8sJobExecutorShadedJar.java       |  222 +++
 .../gravitino/job/k8s/TestK8sClientUtils.java      |  451 +++++
 .../gravitino/job/k8s/TestK8sJobExecutionId.java   |   76 +
 .../gravitino/job/k8s/TestK8sJobExecutor.java      | 1205 +++++++++++++
 .../job/k8s/TestK8sJobExecutorConfigs.java         |  205 +++
 .../gravitino/job/k8s/TestK8sJobResourceUtils.java |  135 ++
 .../job/k8s/TestNamespacedResourceCache.java       |  248 +++
 .../apache/gravitino/job/k8s/TestPodLogUtils.java  |  101 ++
 .../k8s/spark/TestSparkApplicationStatusUtils.java |  850 +++++++++
 .../job/k8s/spark/TestSparkApplicationUtils.java   |  620 +++++++
 .../catalog-model => plugins/tms}/build.gradle.kts |   76 +-
 .../maintenance/TableMaintenanceConfig.java        |  263 +++
 .../maintenance/injob/InJobGateOutcome.java        |   99 ++
 .../maintenance/injob/InJobRecommender.java        |   27 +-
 .../maintenance/injob/RecommendDecision.java       |   19 +-
 .../gravitino/maintenance/injob/SnapshotHead.java  |   17 +-
 .../injob/TableMaintenanceInJobPipeline.java       |  105 ++
 .../injob/TableMaintenanceInJobSampler.java        |  105 ++
 .../maintenance/occupancy/OccupancyGate.java       |  183 ++
 .../scheduler/TableMaintenanceSchedulerPools.java  |  152 ++
 .../mapper/TableMaintenanceActionMapper.java       |  107 ++
 .../TableMaintenanceActionSQLProviderFactory.java  |  191 ++
 .../storage/mapper/TableSnapshotMetricsMapper.java |   41 +
 .../TableSnapshotMetricsSQLProviderFactory.java    |   80 +
 .../mapper/provider/TmsMapperPackageProvider.java  |   39 +-
 .../TableMaintenanceActionBaseSQLProvider.java     |  234 +++
 .../base/TableSnapshotMetricsBaseSQLProvider.java  |   56 +
 .../h2/TableMaintenanceActionH2Provider.java       |   38 +-
 .../h2/TableSnapshotMetricsH2Provider.java         |    8 +-
 .../TableMaintenanceActionPostgreSQLProvider.java  |   20 +-
 .../TableSnapshotMetricsPostgreSQLProvider.java    |    8 +-
 .../storage/po/TableMaintenanceActionPO.java       |   59 +-
 .../storage/po/TableSnapshotMetricsPO.java         |   57 +-
 .../storage/service/OccupancyClaim.java            |   82 +
 .../service/TableMaintenanceActionMetaService.java |  370 ++++
 .../service/TableSnapshotMetricsMetaService.java   |  115 ++
 .../rest/feature/TableMaintenanceRESTFeature.java  |  130 ++
 ...elational.mapper.provider.MapperPackageProvider |   10 +-
 .../injob/TestTableMaintenanceInJobPipeline.java   |   99 ++
 .../injob/TestTableMaintenanceInJobSampler.java    |  107 ++
 .../maintenance/occupancy/TestOccupancyGate.java   |  223 +++
 .../TestTableMaintenanceSchedulerPools.java        |   55 +
 .../storage/TableMaintenanceActionTestUtils.java   |   58 +
 .../mapper/TestTmsMapperPackageProvider.java       |   51 +
 .../h2/TestTableMaintenanceActionH2Provider.java   |   74 +
 .../TestTableMaintenanceActionMetaService.java     |  103 ++
 .../TestTableSnapshotMetricsMetaService.java       |   46 +
 .../feature/TestTableMaintenanceRESTFeature.java   |   22 +-
 scripts/h2/schema-2.0.0-h2.sql                     |   81 +
 scripts/h2/upgrade-1.3.0-to-2.0.0-h2.sql           |  109 +-
 scripts/mysql/schema-2.0.0-mysql.sql               |   81 +
 scripts/mysql/upgrade-1.3.0-to-2.0.0-mysql.sql     |  589 ++++++-
 scripts/postgresql/schema-2.0.0-postgresql.sql     |  131 ++
 .../upgrade-1.3.0-to-2.0.0-postgresql.sql          |  135 +-
 .../server/authentication/JwksTokenValidator.java  |    2 +
 .../server/authorization/MetadataIdConverter.java  |  121 +-
 .../annotations/AuthorizationRequest.java          |    2 +
 .../AuthorizationExpressionConstants.java          |   47 +
 .../AuthorizationExpressionConverter.java          |   24 +-
 .../jcasbin/JcasbinAuthorizationCacheKeys.java     |    1 +
 .../jcasbin/JcasbinAuthorizationLookups.java       |  132 +-
 .../authorization/jcasbin/JcasbinAuthorizer.java   |  687 +++++---
 .../jcasbin/JcasbinChangeListener.java             |   39 +-
 .../jcasbin/JcasbinLoadedRolesCache.java           |    7 +-
 .../server/web/ClientAddressResolver.java          |  320 ++++
 .../gravitino/server/web/HttpAuditFilter.java      |   41 +-
 .../apache/gravitino/server/web/JettyServer.java   |   41 +-
 .../gravitino/server/web/JettyServerConfig.java    |   78 +-
 .../gravitino/server/web/RequestContextFilter.java |   42 +-
 .../org/apache/gravitino/server/web/Utils.java     |  161 ++
 ...BaseMetadataAuthorizationMethodInterceptor.java |   23 +-
 .../src/main/resources/jcasbin_model.conf          |   32 +-
 .../authentication/TestJwksTokenValidator.java     |   55 +
 .../server/authorization/TestJcasbinModel.java     |  236 ++-
 .../authorization/TestMetadataIdConverter.java     |  117 ++
 .../jcasbin/TestJcasbinAuthorizationCacheKeys.java |   27 +
 .../jcasbin/TestJcasbinAuthorizationLookups.java   |   63 +-
 .../jcasbin/TestJcasbinAuthorizer.java             | 1864 ++++++++++++++++++--
 .../jcasbin/TestJcasbinChangePoller.java           |   51 +-
 .../TestJcasbinMetadataIdCacheNormalization.java   |  611 +++++++
 .../jcasbin/TestJcasbinModelCacheInvalidation.java |  161 ++
 .../server/web/TestClientAddressResolver.java      |  338 ++++
 .../gravitino/server/web/TestHttpAuditFilter.java  |   48 +-
 .../gravitino/server/web/TestJettyServer.java      |  131 ++
 .../server/web/TestJettyServerConfig.java          |   82 +
 .../server/web/TestRequestContextFilter.java       |   46 +-
 .../org/apache/gravitino/server/web/TestUtils.java |  155 ++
 ...BaseMetadataAuthorizationMethodInterceptor.java |   31 +-
 .../src/test/resources/jcasbin_policy.txt          |    6 -
 .../apache/gravitino/server/GravitinoServer.java   |   26 +-
 .../web/filter/GravitinoInterceptionService.java   |   28 +
 .../authorization/AuthorizeExecutorFactory.java    |    2 +
 .../LoadTableAuthorizationExecutor.java            |    6 +-
 .../LoadViewAuthorizationExecutor.java             |   78 +
 .../gravitino/server/web/rest/BulkOperations.java  |   16 +
 .../server/web/rest/CatalogOperations.java         |    4 +-
 .../server/web/rest/ExceptionHandlers.java         |    4 +-
 .../web/rest/IcebergRESTServiceOperations.java     |  149 +-
 .../gravitino/server/web/rest/JobOperations.java   |   20 +-
 .../web/rest/MetadataObjectPolicyOperations.java   |   11 +-
 .../web/rest/MetadataObjectTagOperations.java      |   37 +-
 .../server/web/rest/MetalakeOperations.java        |   14 +-
 .../server/web/rest/SemanticModelOperations.java   |  272 ++-
 .../web/rest/SemanticModelSourceValidator.java     |  228 +++
 .../gravitino/server/web/rest/ViewOperations.java  |    8 +-
 .../gravitino/server/TestGravitinoServer.java      |   18 +
 .../filter/TestGravitinoInterceptionService.java   |  393 ++++-
 .../TestLoadTableAuthorizationExecutor.java        |   33 +-
 .../TestLoadViewAuthorizationExecutor.java         |  169 ++
 .../server/web/rest/TestBulkOperations.java        |   22 +
 .../server/web/rest/TestCatalogOperations.java     |   49 +
 .../server/web/rest/TestExceptionHandlers.java     |   17 +
 .../server/web/rest/TestFilesetOperations.java     |  109 +-
 .../server/web/rest/TestJobOperations.java         |   87 +
 .../TestMetadataObjectCredentialOperations.java    |   24 +
 .../rest/TestMetadataObjectPolicyOperations.java   |   19 +-
 .../web/rest/TestMetadataObjectTagOperations.java  |   94 +-
 .../server/web/rest/TestMetalakeOperations.java    |   24 +
 .../server/web/rest/TestModelOperations.java       |   22 +
 .../server/web/rest/TestPolicyOperations.java      |   22 +
 .../server/web/rest/TestSchemaOperations.java      |   21 +
 .../web/rest/TestSemanticModelOperations.java      |  888 +++++++++-
 .../web/rest/TestSemanticModelSourceValidator.java |  362 ++++
 .../server/web/rest/TestStatisticOperations.java   |   47 +
 .../server/web/rest/TestTableOperations.java       |   48 +
 ...stMetadataObjectTagAuthorizationExpression.java |   69 +
 .../TestSemanticModelAuthorizationExpression.java  |  191 ++
 settings.gradle.kts                                |   10 +-
 .../spark/connector/catalog/BaseCatalog.java       |   24 +-
 .../connector/iceberg/IcebergRestOAuthConfig.java  |   55 +-
 .../connector/jdbc/JdbcPropertiesConverter.java    |    6 +-
 .../catalog/TestBaseCatalogFunctions.java          |  183 ++
 .../iceberg/TestIcebergRestOAuthConfig.java        |  131 ++
 .../integration/test/hive/SparkHiveCatalogIT.java  |   98 +
 .../jdbc/TestJdbcPropertiesConverter.java          |   19 +
 .../connector/jdbc/TestSparkJdbcTypeConverter.java |    7 +
 .../connector/integration/test/TrinoQueryIT.java   |   28 +-
 .../trino-ci-testset/testsets/hive/00019_view.sql  |   59 +
 .../trino-ci-testset/testsets/hive/00019_view.txt  |   83 +
 .../testsets/hive/catalog_hive_cleanup.sql         |    3 +-
 .../testsets/hive/catalog_hive_prepare.sql         |    6 +
 .../testsets/jdbc-mysql/00005_create_catalog.txt   |    2 +-
 .../testsets/jdbc-mysql/00006_datatype.txt         |   14 +-
 .../testsets/jdbc-mysql/00008_alter_catalog.txt    |    8 +-
 .../jdbc-mysql/00011_column_properties.txt         |   14 +-
 .../jdbc-mysql/00016_datetime_precision.sql        |   41 +
 .../jdbc-mysql/00016_datetime_precision.txt        |   54 +
 .../testsets/lakehouse-iceberg/00014_view.sql      |   22 +
 .../testsets/lakehouse-iceberg/00014_view.txt      |   40 +
 .../trino-ci-testset/testsets/trino-452-446.patch  |   37 +-
 .../trino/connector/GravitinoMetadata440.java      |   10 +
 .../trino/connector/GravitinoConnector446.java     |    7 +
 .../trino/connector/GravitinoMetadata446.java      |   11 +
 .../trino/connector/GravitinoConnector452.java     |    7 +
 .../trino/connector/GravitinoMetadata452.java      |   18 +
 .../trino/connector/GravitinoConnector469.java     |    7 +
 .../trino/connector/GravitinoMetadata469.java      |   18 +
 .../trino/connector/GravitinoConnector478.java     |    7 +
 .../trino/connector/GravitinoMetadata478.java      |   18 +
 .../gravitino/trino/connector/GravitinoConfig.java |    9 +-
 .../trino/connector/GravitinoConnector.java        |   41 +-
 .../trino/connector/GravitinoErrorCode.java        |   98 +-
 .../trino/connector/GravitinoMetadata.java         |   89 +-
 .../connector/catalog/CatalogConnectorAdapter.java |    7 +
 .../connector/catalog/CatalogConnectorContext.java |    9 +
 .../connector/catalog/CatalogConnectorManager.java |   24 +-
 .../catalog/CatalogConnectorMetadata.java          |  456 ++++-
 .../catalog/CatalogConnectorMetadataAdapter.java   |  149 ++
 .../jdbc/mysql/MySQLDataTypeTransformer.java       |   63 +-
 .../trino/connector/metadata/GravitinoView.java    |  204 +++
 .../AlterCatalogStoredProcedure.java               |    7 +-
 .../CreateCatalogStoredProcedure.java              |   16 +-
 .../DropCatalogStoredProcedure.java                |   10 +-
 .../connector/util/GeneralDataTypeTransformer.java |   53 +-
 .../trino/connector/util/json/JsonCodec.java       |   29 +
 .../trino/connector/TestGravitinoConfig.java       |    5 +-
 .../trino/connector/TestGravitinoConnector.java    |    5 +-
 .../TestGravitinoConnectorForwardUser.java         |   24 +
 .../trino/connector/TestGravitinoErrorCode.java    |  167 ++
 .../TestGravitinoMetadataGetSupportedType.java     |   66 +
 .../TestGravitinoMetadataGetTableHandle.java       |  105 ++
 .../trino/connector/TestGravitinoMetadataView.java |  196 ++
 .../catalog/TestCatalogConnectorManager.java       |   72 +-
 .../TestCatalogConnectorMetadataAdapterView.java   |  257 +++
 .../TestCatalogConnectorMetadataErrors.java        |  229 +++
 .../TestCatalogConnectorMetadataFunction.java      |    7 +-
 .../catalog/TestCatalogConnectorMetadataView.java  |  629 +++++++
 .../jdbc/mysql/TestMySQLDataTypeTransformer.java   |  131 ++
 .../TestPostgreSQLDataTypeTransformer.java         |    8 +
 .../TestAlterCatalogStoredProcedure.java           |   26 +
 .../TestCreateCatalogStoredProcedure.java          |   85 +
 .../TestDropCatalogStoredProcedure.java            |   29 +-
 .../connector/util/TestDataTypeTransformer.java    |   36 +
 .../integration/test/web/ui/MetalakePageTest.java  |    4 +-
 web-v2/web/package.json                            |    1 +
 web-v2/web/pnpm-lock.yaml                          |    7 +-
 web-v2/web/src/app/catalogs/TreeComponent.js       |   14 +-
 .../src/app/catalogs/catalogTreeLoading.test.jsx   |  114 ++
 web-v2/web/src/app/catalogs/page.js                |  199 ++-
 ...ModelDialog.js => CreateSemanticModelDialog.js} |  167 +-
 .../CreateSemanticModelDialog.test.jsx             |  209 +++
 .../rightContent/ImportSemanticModelDialog.js      |  247 +++
 .../ImportSemanticModelDialog.test.jsx             |  211 +++
 .../catalogs/rightContent/RegisterModelDialog.js   |    4 +-
 .../src/app/catalogs/rightContent/RightContent.js  |   18 +-
 .../catalogs/rightContent/RightContent.test.jsx    |   65 +
 .../rightContent/SemanticMetadataEditor.js         |  403 +++++
 .../entitiesContent/ModelDetailsPage.js            |    1 +
 .../entitiesContent/SchemaDetailsPage.js           |  171 +-
 .../entitiesContent/SchemaDetailsPage.test.jsx     |  126 ++
 .../entitiesContent/SchemaSemanticModels.test.jsx  |  132 ++
 .../entitiesContent/SemanticMetadataSection.js     |   58 +
 .../entitiesContent/SemanticModelAIContext.js      |  107 ++
 .../entitiesContent/SemanticModelDetailsPage.js    |  846 +++++++++
 .../SemanticModelDetailsPage.module.css            |   84 +
 .../SemanticModelDetailsPage.test.jsx              | 1108 ++++++++++++
 .../entitiesContent/SemanticModelExport.js         |   72 +
 .../entitiesContent/SemanticModelExpression.js     |   95 +
 .../entitiesContent/SemanticModelExtensions.js     |   60 +
 .../app/catalogs/semanticModelNavigation.test.jsx  |  232 +++
 web-v2/web/src/components/PolicyTag.js             |    2 +-
 web-v2/web/src/components/PolicyTag.test.jsx       |   93 +
 web-v2/web/src/lib/api/semanticModels/index.js     |   94 +
 .../src/lib/store/metalakes/catalogDetails.test.js |  131 ++
 web-v2/web/src/lib/store/metalakes/index.js        |  661 +++++--
 .../metalakes/semanticModelConcurrency.test.js     |  279 +++
 .../src/lib/store/metalakes/semanticModels.test.js |  345 ++++
 .../web/src/lib/utils/catalogEntity.js             |   36 +-
 .../web/src/lib/utils/formatVendorJson.js          |   39 +-
 web-v2/web/src/lib/utils/formatVendorJson.test.js  |   47 +
 web-v2/web/src/lib/utils/ossiePreview.js           |   55 +
 web-v2/web/src/lib/utils/ossiePreview.test.js      |   68 +
 web-v2/web/src/lib/utils/semanticMetadata.js       |  117 ++
 web-v2/web/src/lib/utils/semanticMetadata.test.js  |  227 +++
 web-v2/web/src/lib/utils/semanticModel.js          |  393 +++++
 web-v2/web/src/lib/utils/semanticModel.test.js     |  486 +++++
 web-v2/web/vitest.config.js                        |    3 +
 1153 files changed, 103075 insertions(+), 7877 deletions(-)
 create mode 100644 .github/actions/checkout-and-sync/action.yml
 create mode 100644 .github/scripts/allowlist-pr.cjs
 create mode 100644 .github/scripts/fail-fast.cjs
 create mode 100644 .github/scripts/fork-ci-status.cjs
 create mode 100644 .github/scripts/publish-ci-status.cjs
 create mode 100644 .github/scripts/resolve-fork-ci.cjs
 create mode 100644 .github/scripts/retire-fork-ci.cjs
 create mode 100644 .github/scripts/tests/fork-ci.test.cjs
 create mode 100644 .github/scripts/tests/retire-fork-ci.test.cjs
 create mode 100644 .github/scripts/update-fork-ci.cjs
 create mode 100644 .github/workflows/asf-allowlist-trusted.yml
 create mode 100644 .github/workflows/fork-ci-status-update.yml
 create mode 100644 .github/workflows/fork-ci-status.yml
 create mode 100644 .github/workflows/fork-ci.yml
 create mode 100644 
api/src/main/java/org/apache/gravitino/policy/AccessControlContent.java
 create mode 100644 
api/src/main/java/org/apache/gravitino/policy/ColumnMaskContent.java
 create mode 100644 
api/src/main/java/org/apache/gravitino/policy/IcebergOrphanFileRemovalContent.java
 create mode 100644 
api/src/main/java/org/apache/gravitino/policy/IcebergRewriteManifestsContent.java
 create mode 100644 
api/src/main/java/org/apache/gravitino/policy/IcebergSnapshotExpirationContent.java
 create mode 100644 
api/src/main/java/org/apache/gravitino/policy/PolicyList.java
 create mode 100644 
api/src/main/java/org/apache/gravitino/policy/ReadRestrictionContent.java
 create mode 100644 
api/src/main/java/org/apache/gravitino/policy/RowFilterContent.java
 create mode 100644 
api/src/main/java/org/apache/gravitino/semantic/OssieDocument.java
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
api/src/main/java/org/apache/gravitino/semantic/OssieFormat.java (74%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
api/src/main/java/org/apache/gravitino/semantic/OssieVersion.java (71%)
 create mode 100644 api/src/main/java/org/apache/gravitino/tag/TagList.java
 create mode 100644 
api/src/test/java/org/apache/gravitino/model/TestModelCatalog.java
 create mode 100644 
api/src/test/java/org/apache/gravitino/policy/TestIcebergOrphanFileRemovalContent.java
 create mode 100644 
api/src/test/java/org/apache/gravitino/policy/TestReadRestrictionContent.java
 create mode 100644 
api/src/test/java/org/apache/gravitino/semantic/TestOssieDocument.java
 create mode 100644 
bundles/aliyun/src/test/java/org/apache/gravitino/oss/credential/TestOSSTokenGenerator.java
 create mode 100644 
bundles/azure/src/test/java/org/apache/gravitino/abs/credential/TestADLSTokenGenerator.java
 create mode 100644 
catalogs-contrib/catalog-jdbc-clickhouse/src/test/java/org/apache/gravitino/catalog/clickhouse/operations/TestClickHouseDatabaseDrop.java
 create mode 100644 
catalogs-contrib/catalog-jdbc-clickhouse/src/test/java/org/apache/gravitino/catalog/clickhouse/operations/TestClickHouseTableOperationsConnectionUsage.java
 create mode 100644 
catalogs-contrib/catalog-jdbc-oceanbase/src/test/java/org/apache/gravitino/catalog/oceanbase/operation/TestOceanBaseTableOperationsConnectionUsage.java
 create mode 100644 
catalogs/catalog-jdbc-common/src/main/java/org/apache/gravitino/catalog/jdbc/utils/JdbcConnectionTimeouts.java
 create mode 100644 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/TestJdbcCatalogOperationsProbe.java
 create mode 100644 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/operation/TestJdbcDatabaseDrop.java
 create mode 100644 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/operation/TestJdbcOperationsConnectionUsage.java
 create mode 100644 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/utils/ConnectionCountingDataSource.java
 create mode 100644 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/utils/TestDataSourceValidation.java
 create mode 100644 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/utils/TestJdbcConnectionTimeouts.java
 create mode 100644 
catalogs/catalog-jdbc-doris/src/test/java/org/apache/gravitino/catalog/doris/operation/TestDorisDatabaseDrop.java
 create mode 100644 
catalogs/catalog-jdbc-doris/src/test/java/org/apache/gravitino/catalog/doris/operation/TestDorisDatabasePropertiesOperations.java
 create mode 100644 
catalogs/catalog-jdbc-doris/src/test/java/org/apache/gravitino/catalog/doris/operation/TestDorisPartitionSqlGeneration.java
 create mode 100644 
catalogs/catalog-jdbc-mysql/src/test/java/org/apache/gravitino/catalog/mysql/TestMysqlDataSource.java
 create mode 100644 
catalogs/catalog-jdbc-mysql/src/test/java/org/apache/gravitino/catalog/mysql/TestMysqlTablePropertiesMetadata.java
 create mode 100644 
catalogs/catalog-jdbc-postgresql/src/test/java/org/apache/gravitino/catalog/postgresql/TestPostgreSqlDataSource.java
 create mode 100644 
catalogs/catalog-jdbc-postgresql/src/test/java/org/apache/gravitino/catalog/postgresql/converter/TestPostgreSqlColumnDefaultValueConverter.java
 create mode 100644 
catalogs/catalog-jdbc-starrocks/src/test/java/org/apache/gravitino/catalog/starrocks/operation/TestStarRocksPartitionSqlGeneration.java
 create mode 100644 
catalogs/catalog-jdbc-starrocks/src/test/java/org/apache/gravitino/catalog/starrocks/operations/TestStarRocksDatabaseDrop.java
 create mode 100644 
clients/client-java/src/main/java/org/apache/gravitino/client/GenericSemanticModel.java
 create mode 100644 
clients/client-java/src/main/java/org/apache/gravitino/client/SemanticModelCatalogOperations.java
 create mode 100644 
clients/client-java/src/test/java/org/apache/gravitino/client/TestGenericSemanticModel.java
 create mode 100644 
clients/client-java/src/test/java/org/apache/gravitino/client/TestSemanticModelCatalog.java
 create mode 100644 
clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/SemanticModelIT.java
 copy clients/client-python/gravitino/api/tag/{__init__.py => tag_list.py} (56%)
 create mode 100644 
clients/client-python/gravitino/client/generic_semantic_model.py
 create mode 100644 
clients/client-python/gravitino/client/semantic_model_catalog_operations.py
 create mode 100644 
clients/client-python/gravitino/dto/requests/semantic_model_create_request.py
 create mode 100644 
clients/client-python/gravitino/dto/requests/semantic_model_update_request.py
 create mode 100644 
clients/client-python/gravitino/dto/requests/semantic_model_updates_request.py
 create mode 100644 
clients/client-python/gravitino/dto/responses/semantic_model_response.py
 copy 
clients/client-python/gravitino/exceptions/handlers/{view_error_handler.py => 
semantic_model_error_handler.py} (52%)
 copy clients/client-python/{MANIFEST.in => requirements-azure.txt} (81%)
 copy clients/client-python/{MANIFEST.in => requirements-gcs.txt} (81%)
 copy clients/client-python/{MANIFEST.in => requirements-gvfs.txt} (81%)
 copy clients/client-python/{MANIFEST.in => requirements-hdfs.txt} (81%)
 copy clients/client-python/{MANIFEST.in => requirements-oss.txt} (81%)
 copy clients/client-python/{MANIFEST.in => requirements-s3.txt} (81%)
 create mode 100644 
clients/client-python/tests/integration/test_semantic_model_authorization.py
 create mode 100644 
clients/client-python/tests/integration/test_semantic_model_ossie.py
 create mode 100644 
clients/client-python/tests/integration/test_semantic_model_tags_and_owner.py
 create mode 100644 
clients/client-python/tests/unittests/authorization/test_semantic_model_authorization.py
 create mode 100644 
clients/client-python/tests/unittests/dto/test_semantic_model_rest.py
 create mode 100644 
clients/client-python/tests/unittests/test_client_import_without_storage_dependencies.py
 create mode 100644 
clients/client-python/tests/unittests/test_code_mapping_error_handler.py
 create mode 100644 
clients/client-python/tests/unittests/test_fileset_type_change.py
 create mode 100644 
clients/client-python/tests/unittests/test_http_client_close.py
 create mode 100644 
clients/client-python/tests/unittests/test_http_client_headers.py
 create mode 100644 
clients/client-python/tests/unittests/test_http_client_raw_body.py
 create mode 100644 
clients/client-python/tests/unittests/test_package_metadata.py
 create mode 100644 
clients/client-python/tests/unittests/test_semantic_model_catalog.py
 create mode 100644 
clients/client-python/tests/unittests/test_semantic_model_ossie.py
 create mode 100644 
clients/client-python/tests/unittests/test_semantic_model_tags_and_owner.py
 create mode 100644 
clients/filesystem-hadoop3/src/test/java/org/apache/gravitino/filesystem/hadoop/TestBasicClient.java
 create mode 100644 
common/src/main/java/org/apache/gravitino/credential/RoleSessionNameUtils.java
 copy 
common/src/main/java/org/apache/gravitino/dto/responses/{PolicyListResponse.java
 => MetadataObjectPolicyListResponse.java} (50%)
 copy 
common/src/main/java/org/apache/gravitino/dto/responses/{TagListResponse.java 
=> MetadataObjectTagListResponse.java} (54%)
 copy 
common/src/main/java/org/apache/gravitino/dto/responses/{TagListResponse.java 
=> PolicyNameListResponse.java} (53%)
 copy 
common/src/main/java/org/apache/gravitino/dto/responses/{TagListResponse.java 
=> TagNameListResponse.java} (54%)
 create mode 100644 
common/src/test/java/org/apache/gravitino/credential/TestRoleSessionNameUtils.java
 create mode 100644 
common/src/test/java/org/apache/gravitino/dto/policy/TestOrphanFileRemovalPolicyDTO.java
 create mode 100644 
common/src/test/java/org/apache/gravitino/dto/policy/TestReadRestrictionPolicyDTO.java
 create mode 100644 
common/src/test/java/org/apache/gravitino/dto/policy/TestRewriteManifestsAndSnapshotExpirationPolicyDTO.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/catalog/JdbcDriverProperties.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/connector/SupportsTableNameResolution.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/connector/job/JobContext.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/connector/job/JobResourceUtils.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/hook/SemanticModelHookDispatcher.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/job/JobRuntimeTemplateMaskUtils.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/SemanticModelEventDispatcher.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/AlterSemanticModelEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/AlterSemanticModelFailureEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/AlterSemanticModelPreEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/CreateSemanticModelEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/CreateSemanticModelFailureEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/CreateSemanticModelPreEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/DropSemanticModelEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/DropSemanticModelFailureEvent.java
 copy core/src/{test/java/org/apache/gravitino/audit/DummyAuditWriter.java => 
main/java/org/apache/gravitino/listener/api/event/semantic/DropSemanticModelPreEvent.java}
 (51%)
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ExportSemanticModelEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ExportSemanticModelFailureEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ExportSemanticModelPreEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ImportSemanticModelEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ImportSemanticModelFailureEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ImportSemanticModelPreEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ListSemanticModelEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ListSemanticModelFailureEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ListSemanticModelPreEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/LoadSemanticModelEvent.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/LoadSemanticModelFailureEvent.java
 copy core/src/{test/java/org/apache/gravitino/audit/DummyAuditWriter.java => 
main/java/org/apache/gravitino/listener/api/event/semantic/LoadSemanticModelPreEvent.java}
 (51%)
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/SemanticModelEvent.java
 copy api/src/main/java/org/apache/gravitino/policy/SupportsPolicies.java => 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/SemanticModelFailureEvent.java
 (50%)
 copy api/src/main/java/org/apache/gravitino/policy/SupportsPolicies.java => 
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/SemanticModelPreEvent.java
 (54%)
 create mode 100644 
core/src/main/java/org/apache/gravitino/listener/api/info/SemanticModelInfo.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/CanonicalExpression.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/Column.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/Comparison.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/ComparisonOperator.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/ExpressionValidator.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/GroupMembership.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/Literal.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/LiteralArray.java
 copy 
core/src/main/java/org/apache/gravitino/{catalog/SemanticModelDispatcher.java 
=> policy/rego/LiteralType.java} (73%)
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/LogicalExpression.java
 copy 
core/src/main/java/org/apache/gravitino/{catalog/SemanticModelDispatcher.java 
=> policy/rego/LogicalOperator.java} (67%)
 create mode 100644 core/src/main/java/org/apache/gravitino/policy/rego/Not.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoExpressionParserFacade.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoLexer.java
 copy 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
 => 
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoLimits.java 
(61%)
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoProgram.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoSourceParser.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoSourceValidator.java
 copy core/src/{test/java/org/apache/gravitino/audit/DummyAuditWriter.java => 
main/java/org/apache/gravitino/policy/rego/SessionUser.java} (59%)
 create mode 100644 
core/src/main/java/org/apache/gravitino/semantic/OssieDocumentConverter.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/semantic/SemanticModelPropertiesMetadata.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/storage/relational/EntityChangeLogWriter.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/utils/RenameUtils.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/TestGravitinoEnvShutdown.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/cache/TestCaffeineEntityCacheEviction.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/cache/TestEntityCachePublicationRace.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/cache/TestNoOpsCache.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/catalog/TestCatalogMutationMarkerRace.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/catalog/TestJdbcDriverProperties.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/catalog/TestSemanticModelDispatcher.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/connector/TestBaseCatalogCredentialProviders.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/connector/job/TestJobExecutor.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/connector/job/TestJobResourceUtils.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/hook/TestSemanticModelHookDispatcher.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/job/TestJobRuntimeTemplateMaskUtils.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/listener/api/event/TestSemanticModelEvent.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/listener/api/event/TestSemanticModelImportExportEvent.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/policy/rego/RestrictedRegoTestUtils.java
 copy 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
 => core/src/test/java/org/apache/gravitino/policy/rego/TestColumn.java (64%)
 create mode 100644 
core/src/test/java/org/apache/gravitino/policy/rego/TestComparison.java
 copy 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
 => 
core/src/test/java/org/apache/gravitino/policy/rego/TestComparisonOperator.java 
(66%)
 copy 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
 => 
core/src/test/java/org/apache/gravitino/policy/rego/TestGroupMembership.java 
(60%)
 create mode 100644 
core/src/test/java/org/apache/gravitino/policy/rego/TestLiteral.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/policy/rego/TestLiteralArray.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/policy/rego/TestLogicalExpression.java
 copy 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
 => core/src/test/java/org/apache/gravitino/policy/rego/TestNot.java (57%)
 create mode 100644 
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoExpressionParserFacade.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoGoldenFile.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoLexer.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoProgram.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoSourceParser.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoSourceValidator.java
 copy 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
 => core/src/test/java/org/apache/gravitino/policy/rego/TestSessionUser.java 
(68%)
 create mode 100644 
core/src/test/java/org/apache/gravitino/semantic/TestOssieDocumentConverter.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/semantic/TestSemanticModelPropertiesMetadata.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/TestBackendTestSelector.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/BackendTestSelector.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/CoreBackend.java
 copy 
server-common/src/main/java/org/apache/gravitino/server/authorization/annotations/AuthorizationRequest.java
 => 
core/src/test/java/org/apache/gravitino/storage/relational/DatabaseFixture.java 
(56%)
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/DatabaseResetter.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/ResetStrategy.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/TestBackendTestExtension.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/TestCacheCommitOrdering.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/TestCoreLaneMembership.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/TestRelationalEntityStoreBackendLockWaitTimeout.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/TestRelationalEntityStoreLockWaitTimeout.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/TestRenameConflicts.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/TestResetStrategy.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/mapper/TestRoleMetaMapper.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/service/TestJobMetaServiceValidation.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/service/TestStatisticConcurrentWrites.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/utils/RaceTestUtils.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/utils/TestRenameUtils.java
 create mode 100644 core/src/test/resources/restricted-rego-v1-cases.golden
 create mode 100644 core/src/test/resources/restricted-rego-v1-cases.txt
 create mode 100644 design-docs/table-maintenance-service-design.md
 create mode 100644 design-docs/tag-based-access-control.md
 create mode 100644 design-docs/tag-based-read-restrictions-for-iceberg-rest.md
 create mode 100644 dev/performance/jdbc_idle_retention.py
 create mode 100644 dev/performance/test_jdbc_idle_retention.py
 create mode 100644 docs/jdbc-catalog-connection-validation.md
 create mode 100644 docs/manage-semantic-model-metadata-using-gravitino.md
 create mode 100644 docs/open-api/semantic-models.yaml
 create mode 100644 docs/semantic-models.md
 create mode 100644 
flink-connector/flink-common/src/test/java/org/apache/gravitino/flink/connector/iceberg/TestGravitinoIcebergCatalogOpen.java
 copy flink-connector/{v2.1 => v2.2}/flink-runtime/build.gradle.kts (90%)
 copy flink-connector/{v2.1 => 
v2.2}/flink-runtime/src/test/java/org/apache/gravitino/flink/runtime/TestRuntimeJarDependencies.java
 (69%)
 copy flink-connector/{v2.1 => v2.2}/flink/build.gradle.kts (94%)
 copy 
flink-connector/{flink-common/src/test/java/org/apache/gravitino/flink/connector/iceberg/TestGravitinoIcebergCatalog.java
 => 
v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/iceberg/GravitinoIcebergCatalogFactoryFlink22.java}
 (50%)
 create mode 100644 
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/iceberg/GravitinoIcebergCatalogFlink22.java
 create mode 100644 
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/jdbc/GravitinoJdbcCatalogFlink22.java
 create mode 100644 
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/jdbc/mysql/GravitinoMysqlJdbcCatalogFactoryFlink22.java
 create mode 100644 
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/jdbc/postgresql/GravitinoPostgresJdbcCatalogFactoryFlink22.java
 copy 
flink-connector/{flink-common/src/test/java/org/apache/gravitino/flink/connector/iceberg/TestGravitinoIcebergCatalog.java
 => 
v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/paimon/GravitinoPaimonCatalogFactoryFlink22.java}
 (52%)
 create mode 100644 
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/paimon/GravitinoPaimonCatalogFlink22.java
 create mode 100644 
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/utils/CatalogCompatFlink22.java
 create mode 100644 
flink-connector/v2.2/flink/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/catalog/TestBaseCatalogFlink22.java
 (69%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/hive/TestFlinkGenericTableUtilFlink22.java
 (68%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/hive/TestGravitinoHiveCatalogFlink22.java
 (68%)
 create mode 100644 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/iceberg/TestGravitinoIcebergCatalogFlink22.java
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/catalog/GravitinoCatalogManagerIT22.java
 (76%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/iceberg/FlinkIcebergHiveCatalogIT22.java
 (76%)
 copy 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
 => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/iceberg/FlinkIcebergJdbcCatalogIT22.java
 (54%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/iceberg/FlinkIcebergRestCatalogIT22.java
 (76%)
 create mode 100644 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/jdbc/FlinkJdbcMysqlCatalogIT22.java
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/paimon/FlinkPaimonHiveBackendIT22.java
 (76%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/paimon/FlinkPaimonJdbcBackendIT22.java
 (76%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/paimon/FlinkPaimonLocalFileSystemBackendIT22.java
 (76%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/jdbc/TestGravitinoJdbcCatalogFlink22.java
 (68%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/paimon/TestGravitinoPaimonCatalogFlink22.java
 (68%)
 create mode 100644 
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/utils/TestCatalogCompatFlink22.java
 create mode 100644 iceberg/iceberg-rest-server-experiment/build.gradle.kts
 create mode 100644 
iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/integration/test/IcebergExperimentalAuthorizationIT.java
 create mode 100644 
iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/server/web/filter/TestLoadTableAuthzHandler.java
 create mode 100644 
integration-test-common/src/test/java/org/apache/gravitino/integration/test/container/DatabaseContainer.java
 copy clients/client-python/MANIFEST.in => 
integration-test-common/src/test/resources/mysql-conf/default/gravitino.cnf 
(68%)
 copy clients/client-python/MANIFEST.in => 
integration-test-common/src/test/resources/mysql-conf/disposable/gravitino.cnf 
(56%)
 create mode 100644 
lance/lance-common/src/main/java/org/apache/gravitino/lance/common/ops/gravitino/LanceBlobTypes.java
 create mode 100644 
lance/lance-common/src/test/java/org/apache/gravitino/lance/common/ops/gravitino/TestLanceBlobTypes.java
 create mode 100644 
maintenance/jobs/src/main/java/org/apache/gravitino/maintenance/jobs/iceberg/IcebergUpdateManifestStatsJob.java
 create mode 100644 
maintenance/jobs/src/test/java/org/apache/gravitino/maintenance/jobs/iceberg/TestIcebergUpdateManifestStatsJob.java
 create mode 100644 
maintenance/jobs/src/test/java/org/apache/gravitino/maintenance/jobs/iceberg/TestIcebergUpdateManifestStatsJobMain.java
 create mode 100644 
maintenance/jobs/src/test/java/org/apache/gravitino/maintenance/jobs/iceberg/TestIcebergUpdateManifestStatsJobWithSpark.java
 create mode 100644 
maintenance/optimizer-api/src/main/java/org/apache/gravitino/maintenance/optimizer/common/IcebergManifestStatistics.java
 create mode 100644 
maintenance/optimizer-api/src/main/java/org/apache/gravitino/maintenance/optimizer/common/util/OrphanFileLocationUtils.java
 create mode 100644 
maintenance/optimizer-api/src/test/java/org/apache/gravitino/maintenance/optimizer/common/TestIcebergManifestStatistics.java
 copy 
maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/handler/{compaction/CompactionJobContext.java
 => orphan/OrphanFileRemovalJobContext.java} (53%)
 copy 
maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/handler/{compaction/CompactionStrategyHandler.java
 => orphan/OrphanFileRemovalStrategyHandler.java} (70%)
 create mode 100644 
maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/job/GravitinoOrphanFileRemovalJobAdapter.java
 create mode 100644 
maintenance/optimizer/src/test/java/org/apache/gravitino/maintenance/optimizer/recommender/job/TestGravitinoOrphanFileRemovalJobAdapter.java
 create mode 100644 
mcp-server/mcp_server/client/plain/plain_rest_client_semantic_model_operation.py
 create mode 100644 mcp-server/mcp_server/client/semantic_model_operation.py
 create mode 100644 mcp-server/mcp_server/tools/semantic_model.py
 create mode 100644 mcp-server/tests/unit/tools/test_semantic_model.py
 copy 
plugins/idp-basic/src/main/java/org/apache/gravitino/idp/dto/requests/{UpdateUserRequest.java
 => ChangePasswordRequest.java} (55%)
 rename 
plugins/idp-basic/src/main/java/org/apache/gravitino/idp/dto/requests/{UpdateUserRequest.java
 => UpdateUserEnabledRequest.java} (54%)
 create mode 100644 
plugins/idp-basic/src/test/java/org/apache/gravitino/idp/dto/requests/TestChangePasswordRequest.java
 create mode 100644 
plugins/idp-basic/src/test/java/org/apache/gravitino/idp/dto/requests/TestUpdateUserEnabledRequest.java
 delete mode 100644 
plugins/idp-basic/src/test/java/org/apache/gravitino/idp/dto/requests/TestUpdateUserRequest.java
 create mode 100644 plugins/k8s-job-executor/build.gradle.kts
 create mode 100644 
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/K8sClientUtils.java
 create mode 100644 
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/K8sJobExecutionId.java
 create mode 100644 
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/K8sJobExecutor.java
 create mode 100644 
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/K8sJobExecutorConfigs.java
 create mode 100644 
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/K8sJobResourceUtils.java
 create mode 100644 
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/K8sKubeconfigUtils.java
 create mode 100644 
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/NamespacedResourceCache.java
 create mode 100644 
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/PodLogUtils.java
 create mode 100644 
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/spark/SparkApplicationStatusUtils.java
 create mode 100644 
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/spark/SparkApplicationUtils.java
 create mode 100644 
plugins/k8s-job-executor/src/shadedJarTest/java/org/apache/gravitino/job/k8s/TestK8sJobExecutorShadedJar.java
 create mode 100644 
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/TestK8sClientUtils.java
 create mode 100644 
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/TestK8sJobExecutionId.java
 create mode 100644 
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/TestK8sJobExecutor.java
 create mode 100644 
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/TestK8sJobExecutorConfigs.java
 create mode 100644 
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/TestK8sJobResourceUtils.java
 create mode 100644 
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/TestNamespacedResourceCache.java
 create mode 100644 
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/TestPodLogUtils.java
 create mode 100644 
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/spark/TestSparkApplicationStatusUtils.java
 create mode 100644 
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/spark/TestSparkApplicationUtils.java
 copy {catalogs/catalog-model => plugins/tms}/build.gradle.kts (55%)
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/TableMaintenanceConfig.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/injob/InJobGateOutcome.java
 copy api/src/main/java/org/apache/gravitino/policy/SupportsPolicies.java => 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/injob/InJobRecommender.java
 (55%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/injob/RecommendDecision.java
 (64%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/injob/SnapshotHead.java
 (68%)
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/injob/TableMaintenanceInJobPipeline.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/injob/TableMaintenanceInJobSampler.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/occupancy/OccupancyGate.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/scheduler/TableMaintenanceSchedulerPools.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableMaintenanceActionMapper.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableMaintenanceActionSQLProviderFactory.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableSnapshotMetricsMapper.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableSnapshotMetricsSQLProviderFactory.java
 copy core/src/test/java/org/apache/gravitino/audit/DummyAuditWriter.java => 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/TmsMapperPackageProvider.java
 (55%)
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/base/TableMaintenanceActionBaseSQLProvider.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/base/TableSnapshotMetricsBaseSQLProvider.java
 copy core/src/test/java/org/apache/gravitino/audit/DummyAuditWriter.java => 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/h2/TableMaintenanceActionH2Provider.java
 (52%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/h2/TableSnapshotMetricsH2Provider.java
 (71%)
 copy 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
 => 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/postgresql/TableMaintenanceActionPostgreSQLProvider.java
 (60%)
 copy 
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java => 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/postgresql/TableSnapshotMetricsPostgreSQLProvider.java
 (69%)
 copy core/src/test/java/org/apache/gravitino/audit/DummyAuditWriter.java => 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/po/TableMaintenanceActionPO.java
 (51%)
 copy core/src/test/java/org/apache/gravitino/audit/DummyAuditWriter.java => 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/po/TableSnapshotMetricsPO.java
 (53%)
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/service/OccupancyClaim.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/service/TableMaintenanceActionMetaService.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/service/TableSnapshotMetricsMetaService.java
 create mode 100644 
plugins/tms/src/main/java/org/apache/gravitino/maintenance/web/rest/feature/TableMaintenanceRESTFeature.java
 copy clients/client-python/MANIFEST.in => 
plugins/tms/src/main/resources/META-INF/services/org.apache.gravitino.storage.relational.mapper.provider.MapperPackageProvider
 (81%)
 create mode 100644 
plugins/tms/src/test/java/org/apache/gravitino/maintenance/injob/TestTableMaintenanceInJobPipeline.java
 create mode 100644 
plugins/tms/src/test/java/org/apache/gravitino/maintenance/injob/TestTableMaintenanceInJobSampler.java
 create mode 100644 
plugins/tms/src/test/java/org/apache/gravitino/maintenance/occupancy/TestOccupancyGate.java
 create mode 100644 
plugins/tms/src/test/java/org/apache/gravitino/maintenance/scheduler/TestTableMaintenanceSchedulerPools.java
 create mode 100644 
plugins/tms/src/test/java/org/apache/gravitino/maintenance/storage/TableMaintenanceActionTestUtils.java
 create mode 100644 
plugins/tms/src/test/java/org/apache/gravitino/maintenance/storage/mapper/TestTmsMapperPackageProvider.java
 create mode 100644 
plugins/tms/src/test/java/org/apache/gravitino/maintenance/storage/mapper/provider/h2/TestTableMaintenanceActionH2Provider.java
 create mode 100644 
plugins/tms/src/test/java/org/apache/gravitino/maintenance/storage/service/TestTableMaintenanceActionMetaService.java
 create mode 100644 
plugins/tms/src/test/java/org/apache/gravitino/maintenance/storage/service/TestTableSnapshotMetricsMetaService.java
 copy 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
 => 
plugins/tms/src/test/java/org/apache/gravitino/maintenance/web/rest/feature/TestTableMaintenanceRESTFeature.java
 (52%)
 create mode 100644 
server-common/src/main/java/org/apache/gravitino/server/web/ClientAddressResolver.java
 create mode 100644 
server-common/src/test/java/org/apache/gravitino/server/authorization/jcasbin/TestJcasbinMetadataIdCacheNormalization.java
 create mode 100644 
server-common/src/test/java/org/apache/gravitino/server/authorization/jcasbin/TestJcasbinModelCacheInvalidation.java
 create mode 100644 
server-common/src/test/java/org/apache/gravitino/server/web/TestClientAddressResolver.java
 create mode 100644 
server/src/main/java/org/apache/gravitino/server/web/filter/authorization/LoadViewAuthorizationExecutor.java
 create mode 100644 
server/src/main/java/org/apache/gravitino/server/web/rest/SemanticModelSourceValidator.java
 create mode 100644 
server/src/test/java/org/apache/gravitino/server/web/filter/authorization/TestLoadViewAuthorizationExecutor.java
 create mode 100644 
server/src/test/java/org/apache/gravitino/server/web/rest/TestSemanticModelSourceValidator.java
 create mode 100644 
server/src/test/java/org/apache/gravitino/server/web/rest/authorization/TestMetadataObjectTagAuthorizationExpression.java
 create mode 100644 
server/src/test/java/org/apache/gravitino/server/web/rest/authorization/TestSemanticModelAuthorizationExpression.java
 create mode 100644 
spark-connector/spark-common/src/test/java/org/apache/gravitino/spark/connector/catalog/TestBaseCatalogFunctions.java
 create mode 100644 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/hive/00019_view.sql
 create mode 100644 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/hive/00019_view.txt
 create mode 100644 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/jdbc-mysql/00016_datetime_precision.sql
 create mode 100644 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/jdbc-mysql/00016_datetime_precision.txt
 create mode 100644 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/00014_view.sql
 create mode 100644 
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/lakehouse-iceberg/00014_view.txt
 create mode 100644 
trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/metadata/GravitinoView.java
 create mode 100644 
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/TestGravitinoErrorCode.java
 create mode 100644 
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/TestGravitinoMetadataGetSupportedType.java
 create mode 100644 
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/TestGravitinoMetadataGetTableHandle.java
 create mode 100644 
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/TestGravitinoMetadataView.java
 create mode 100644 
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/TestCatalogConnectorMetadataAdapterView.java
 create mode 100644 
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/TestCatalogConnectorMetadataErrors.java
 create mode 100644 
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/TestCatalogConnectorMetadataView.java
 create mode 100644 web-v2/web/src/app/catalogs/catalogTreeLoading.test.jsx
 copy web-v2/web/src/app/catalogs/rightContent/{RegisterModelDialog.js => 
CreateSemanticModelDialog.js} (50%)
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/CreateSemanticModelDialog.test.jsx
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/ImportSemanticModelDialog.js
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/ImportSemanticModelDialog.test.jsx
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/RightContent.test.jsx
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/SemanticMetadataEditor.js
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/entitiesContent/SchemaDetailsPage.test.jsx
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/entitiesContent/SchemaSemanticModels.test.jsx
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/entitiesContent/SemanticMetadataSection.js
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/entitiesContent/SemanticModelAIContext.js
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/entitiesContent/SemanticModelDetailsPage.js
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/entitiesContent/SemanticModelDetailsPage.module.css
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/entitiesContent/SemanticModelDetailsPage.test.jsx
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/entitiesContent/SemanticModelExport.js
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/entitiesContent/SemanticModelExpression.js
 create mode 100644 
web-v2/web/src/app/catalogs/rightContent/entitiesContent/SemanticModelExtensions.js
 create mode 100644 web-v2/web/src/app/catalogs/semanticModelNavigation.test.jsx
 create mode 100644 web-v2/web/src/components/PolicyTag.test.jsx
 create mode 100644 web-v2/web/src/lib/api/semanticModels/index.js
 create mode 100644 web-v2/web/src/lib/store/metalakes/catalogDetails.test.js
 create mode 100644 
web-v2/web/src/lib/store/metalakes/semanticModelConcurrency.test.js
 create mode 100644 web-v2/web/src/lib/store/metalakes/semanticModels.test.js
 copy 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
 => web-v2/web/src/lib/utils/catalogEntity.js (61%)
 copy 
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
 => web-v2/web/src/lib/utils/formatVendorJson.js (50%)
 create mode 100644 web-v2/web/src/lib/utils/formatVendorJson.test.js
 create mode 100644 web-v2/web/src/lib/utils/ossiePreview.js
 create mode 100644 web-v2/web/src/lib/utils/ossiePreview.test.js
 create mode 100644 web-v2/web/src/lib/utils/semanticMetadata.js
 create mode 100644 web-v2/web/src/lib/utils/semanticMetadata.test.js
 create mode 100644 web-v2/web/src/lib/utils/semanticModel.js
 create mode 100644 web-v2/web/src/lib/utils/semanticModel.test.js

Reply via email to