db: add `TableRotateEncryption` for encrypting secret columns in a table
Created by: unknwon
WARNING
This code is not tested, may not even work, and lack of paginated support for not blocking the entire table with progressive encrypting.
For paginated queries, we would want each paginate query to be in its own transaction, otherwise we're still blocking the entire table from serving requests. i.e.:
for <has next> {
err := dbutil.Transaction(...
if err != nil {
return err
}
// Advance the cursor
}
Part of #13853 (closed)