ср, 6 окт. 2021 г. в 22:01, Adriano dos Santos Fernandes <adrian...@gmail.com>: > > On 06/10/2021 15:43, Roman Simakov wrote: > > > >>> RDB$POINTER_PAGE - INTEGER > >>> RDB$ROOT_PAGE - INTEGER > >> > >> What these are for? > > > > These fields are necessary for reliable implementation of moving data > > pages to another tablespace. You'll be able to understand their > > meaning in code. > > > > How are data moved? > > Under transaction control? > > In background (and interruptible) like db crypt?
it's a dfw operation with EX database lock. I hope to relax this limitation later. So there are no concurrent changes. 1) copy all data pages 2) switch RDB$POINTER_PAGE and RDB$ROOT_PAGE transactionally 3) Rebuild RDB$PAGES 4) clear old data pages (as post-dfw operation) It can be interrupted but not resumed. I'm afraid it starts from the beginning. I guess it's better to discuss in a context of PR. -- Roman Simakov Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel