gp07-cmd opened a new pull request, #13604:
URL: https://github.com/apache/gravitino/pull/13604

   ### What changes were proposed in this pull request?
   
   This PR fixes repeated metadata updates when loading an unchanged table.
   
   The column default-value comparison now normalizes both representations 
through `DTOConverters.toFunctionArg()` before comparing them. This handles 
cases where the connector returns a `LiteralDTO` while the stored Gravitino 
column contains an equivalent `Literal` expression.
   
   The comparison is applied both when determining whether a column has changed 
and when generating column difference information.
   
   A regression test was added to verify that equivalent default values with 
different representations are treated as equal.
   
   ### Why are the changes needed?
   
   When loading an unchanged table, equivalent default values could be 
represented differently between the connector snapshot and the stored Gravitino 
metadata. Direct object comparison therefore treated them as different.
   
   As a result, repeated `loadTable` calls could unnecessarily update 
table/column metadata and create additional version and change-log entries.
   
   Normalizing the default values before comparison prevents these unnecessary 
metadata updates.
   
   Fixes: #13590
   
   ### Does this PR introduce *any* user-facing change?
   
   No.
   
   There are no API changes or new/removed property keys. The change only 
prevents unnecessary metadata writes when loading unchanged tables.
   
   ### How was this patch tested?
   
   Added a regression test covering equivalent default values represented as 
`LiteralDTO` and `Literal`.
   
   Tested with:
   
   ```bash
   ./gradlew :core:test --tests 
org.apache.gravitino.catalog.TestTableOperationDispatcher
   ```
   
   Result:
   
   ```text
   32 tests completed, 0 failed
   ```
   


-- 
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