3.6 Append, Update, and Live Files

Writer::append opens an existing data set and appends complete pages. Writer::appendToLastPage opens the final page for incremental column extension. updatePage publishes the currently available row count, and sync flushes and requests durable synchronization.

For compatible uncompressed row-major binary files, last-page updates are made in place. Compressed or column-major data requires an adjacent-file atomic rewrite. UpdateStrategy::InPlaceOnly rejects an incompatible file instead of falling back, while AtomicRewrite explicitly requests the rewrite strategy.

Reader::readNewRows is a nonblocking operation for following an updateable final page. It returns an optional PageDelta containing the one-based page number, first new row, and a page containing only newly observed rows. This operation is limited to uncompressed binary files with an updateable final page.

Path-backed readers and writers support disconnect and reconnect. The current offset is preserved, and reconnect verifies that the path still names the same file. Readers default to LockMode::None; path writers default to LockMode::Exclusive. Shared and exclusive locking is advisory and therefore requires cooperating applications.