Age | Commit message (Collapse) | Author |
|
* Meson and CMake builds take build option for system SQLite or embedded.
* Unit tests no longer have direct SQLite dependency.
|
|
* Added a test of reference DB files.
* Test crate and track creation across all supported versions.
* Support for all schema versions seen by EP and SC5000 players.
|
|
The `ext/` directory structure is intended for any external dependencies
that are stored in the source tree.
|
|
|
|
Made hidden visiblity the default when using g++.
Removed defunct tests from `schema_test` and renamed
`enginelibrary_test`, which is more accurate (schema creation and
verification is already handled in `database_test`).
Successful Windows VS2019 compilation
|
|
Removed in-tree SQLite3 amalgamation in favour of system dependency.
Updated meson and CMake build scripts accordingly.
|
|
A default-constructed `transaction_guard` is empty. That is, it
represents no transaction. If a `transaction_guard` isn't empty, then
you can
* perform a COMMIT via `transaction_guard::commit()` or
* perform a ROLLBACK via `transaction_guard::rollback()` or
* perform a ROLLBACK implicitly by destructing the `transaction_guard`.
In any of those cases, the `transaction_guard` becomes empty (even if
the operation fails by throwing an exception). Of those, only
`transaction_guard::commit()` can throw an exception. Performing a
rollback does always succeed.
|
|
|
|
NOTE: The pimpl is polymorphic. This way, the user facing objects
can still be passed by value.
|
|
The API methods now operate directly on the database. Therefore, the
classes don't have a `save()` method anymore.
Also, the distinction between tracks and their performance data has
been hidden from the API user. That is, the performance data attributes
are now accessible directly through the `track` API.
This is WORK IN PROGRESS. See the TODOs.
|
|
|
|
|