FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
sqlite_store.hpp File Reference

The SQLite storage backend ([storage] backend = "sqlite"), the one FastMM ships. More...

#include "fastmm/store/backend.hpp"
#include "fastmm/store/reader.hpp"
#include <memory>

Go to the source code of this file.

Namespaces

namespace  fastmm
 
namespace  fastmm::store
 

Functions

std::unique_ptr< Backend > fastmm::store::make_sqlite_backend ()
 
std::unique_ptr< Reader > fastmm::store::make_sqlite_reader ()
 
std::string fastmm::store::sqlite_path (const BackendOptions &opts)
 Where the backend puts its file: [storage] path, else "\<default_dir\>/\<engine_name\>.db".
 

Variables

constexpr int fastmm::store::kSqliteSchemaVersion = 9
 Bumped whenever the schema changes; sqlite_schema.cpp holds one migration step per version.
 

Detailed Description

The SQLite storage backend ([storage] backend = "sqlite"), the one FastMM ships.

One file, WAL, one row per fill, order, position snapshot and kill event, plus a per-day PnL roll-up kept as records arrive. The schema and the durability it gives are in docs/reference/storage.md; the SQL itself is src/store/sqlite_schema.cpp.

SQLite is bundled (cmake/Dependencies.cmake pins the amalgamation) rather than taken from the host: FastMM vendors its dependencies through CPM (ADR-0005), the WAL and UPSERT behaviour the store relies on is version-dependent, and a trading host should not need a -dev package.