yuqi1129 opened a new pull request, #14510: URL: https://github.com/apache/gravitino/pull/14510
### What changes were proposed in this pull request? Give ColumnEntity its own 300-character name limit and expand table_column_version_info.column_name to VARCHAR(300) in H2/MySQL/PostgreSQL 2.0 install and 1.3-to-2.0 upgrade scripts. Keep other entity names at 128. Document early 2.0 SNAPSHOT expansion and safe rollback. ### Why are the changes needed? Implicit registration of a native table fails for 129–300-character column names accepted by its source catalog. Changing only Java validation would still fail the relational write. Fixes #14500 ### Does this PR introduce _any_ user-facing change? Core can persist top-level column names up to 300 characters, subject to catalog-specific restrictions. Top-level create/add/rename rejects more than 300 before source DDL; this does not add a separate bound to nested fields embedded in type data. H2 counts UTF-16 units while Java counts code points, so supplementary-Unicode names can reach H2 capacity sooner; that pre-existing backend difference is disclosed. Stop and back up the entity store before upgrading. Fresh 2.0 databases and the 1.3-to-2.0 scripts include expansion; earlier 2.0 SNAPSHOT stores require the backend-specific ALTER described in the upgrade guide. Rollback restores the pre-upgrade backup and matching binary, losing subsequent changes. Rename/drop does not remove long historical rows. Mixed-version writers are not supported. ### How was this patch tested? - Complete core unit/H2 lanes and MySQL/PostgreSQL TableMetaService + SQLScripts lanes passed; each Docker lane executed 32 tests without failures. - Added native load/store/reload at 128/129/300, 301 pre-DDL rejection, real relational round-trip and real 1.3 upgrade + long-column insert + upgrade retry/data preservation. - Reverting the Java bound, H2 install capacity and H2 upgrade expansion separately makes the corresponding regressions fail; restored unit/storage/upgrade regressions pass. - Spotless, RAT and fresh-context review passed. No live external catalog test was run; boundary samples use ASCII. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
