Skip to content

Version 6.0.0

Compare
Choose a tag to compare
@Remi-Coulom Remi-Coulom released this 15 Sep 11:09
· 1473 commits to master since this release
  • new Local_Connection class for local serverless concurrent access to a file.

  • SHA-256 is used to compare the client database with the server database at connection time. This prevents pulling into the wrong file. This also allows making offline modifications to a local database, and pushing them later to a remote server.

  • Re-organize file classes:

    • File_Slice is removed. All file classes can be sliced now.
    • Stream_File uses a std::streambuf instead of std::iostream.
    • new Interpreted_File can read joedbi commands directly.
  • Exception-safe transactions: if any exception is thrown by a client while writing, then none of what was written since the previous lock-pull will be pushed to the server. The previous approach, based on a Lock object, was defective and is not available any more.

  • New approach to vector updates that allows testing for write errors (previous version wrote data in a destructor, which does not allow testing for errors).

  • Databases must be explictly checkpointed before destruction. The destructor won't checkpoint any more, because this would risk checkpointing a failed buffer flush, and because write errors cannot be handled properly in destructors.

  • Minor fixes and improvements.