jackylee-ch opened a new pull request, #1023:
URL: https://github.com/apache/paimon-rust/pull/1023

   Tags can be created and deleted through `CALL` procedures but not renamed, 
while Java exposes `RenameTagProcedure`. Today the only way to rename a tag is 
`delete_tag` + `create_tag`, which resets the tag's creation time — surfaced by 
the `$tags` system table as `create_time` — and, for a retained tag, drops its 
retention. Renaming a promoted or mistyped tag therefore silently rewrites its 
metadata.
   
   This adds `TagManager::rename`, which moves the raw tag file (copy then 
delete, since object stores and the in-memory backend have no native rename) so 
the snapshot pointer, `tagCreateTime`, and `tagTimeRetained` are preserved 
exactly, and wires it as `CALL sys.rename_tag(table => '...', tag => '...', 
target_tag => '...')`. It errors when the source tag is missing or the target 
name already exists.
   
   Tested: a renamed retained tag keeps its snapshot and metadata while the old 
name disappears, and the missing-source and existing-target cases are rejected.
   


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