JingsongLi commented on PR #942:
URL: https://github.com/apache/paimon-rust/pull/942#issuecomment-5831567120

   Requirement fit: SUPPORTED; the SQL procedure provides a real end-to-end 
branch operation. However, **P1: reject path separators in branch names before 
exposing rename via SQL.** `BranchManager::validate_branch_name` accepts 
`foo/bar`. I reproduced this on the PR head: create branches `b2` and `foo`, 
then run `CALL sys.rename_branch(table => 'test_db.t1', from_branch => 'b2', 
to_branch => 'foo/bar')`. The call succeeds, the old branch is gone, but 
`SELECT * FROM t1$branches WHERE branch_name = 'foo/bar'` returns zero rows: 
the directory was moved under `branch-foo/bar` and is no longer listed as a 
branch. This can silently hide a branch and its data from normal discovery. 
Please reject `/` (and `..` path components) at the shared branch-name 
validation boundary, and add a SQL regression asserting the call fails and the 
original branch remains visible. The existing normal rename integration test 
passes; all 14 CI checks are green, but they do not cover this case. I ran the 
reproduc
 er in a disposable local test directory and restored it afterward.


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