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]

Reply via email to