|
FIX 4.0 Demo 1.0
|
SQLite 存储实现 More...
#include <sqlite_store.hpp>


Public Member Functions | |
| SqliteStore (const std::string &dbPath) | |
| 构造函数 | |
| ~SqliteStore () override | |
| SqliteStore (const SqliteStore &)=delete | |
| SqliteStore & | operator= (const SqliteStore &)=delete |
| bool | isOpen () const |
| 检查数据库是否已打开 | |
| bool | saveOrder (const Order &order) override |
| 保存订单(不包含订单归属信息) | |
| bool | saveOrderForAccount (const Order &order, const std::string &accountId) override |
| 保存订单并记录订单归属账户 | |
| bool | updateOrder (const Order &order) override |
| std::optional< Order > | loadOrder (const std::string &clOrdID) override |
| std::vector< Order > | loadOrdersBySymbol (const std::string &symbol) override |
| std::vector< Order > | loadOrdersByAccount (const std::string &accountId) override |
| std::vector< Order > | loadActiveOrders () override |
| std::vector< Order > | loadAllOrders () override |
| bool | saveTrade (const StoredTrade &trade) override |
| std::vector< StoredTrade > | loadTradesByOrder (const std::string &clOrdID) override |
| std::vector< StoredTrade > | loadTradesBySymbol (const std::string &symbol) override |
| bool | saveSessionState (const SessionState &state) override |
| std::optional< SessionState > | loadSessionState (const std::string &senderCompID, const std::string &targetCompID) override |
| bool | saveMessage (const StoredMessage &msg) override |
| std::vector< StoredMessage > | loadMessages (const std::string &senderCompID, const std::string &targetCompID, int beginSeqNum, int endSeqNum) override |
| bool | deleteMessagesForSession (const std::string &senderCompID, const std::string &targetCompID) override |
| 删除指定会话方向的所有已持久化消息 | |
| bool | deleteMessagesOlderThan (int64_t timestamp) override |
| bool | saveAccount (const Account &account) override |
| 保存账户信息 | |
| std::optional< Account > | loadAccount (const std::string &accountId) override |
| 加载账户信息 | |
| std::vector< Account > | loadAllAccounts () override |
| 加载所有账户 | |
| bool | deleteAccount (const std::string &accountId) override |
| 删除账户 | |
| bool | savePosition (const Position &position) override |
| 保存持仓信息 | |
| std::optional< Position > | loadPosition (const std::string &accountId, const std::string &instrumentId) override |
| 加载持仓信息 | |
| std::vector< Position > | loadPositionsByAccount (const std::string &accountId) override |
| 加载账户的所有持仓 | |
| std::vector< Position > | loadAllPositions () override |
| 加载所有持仓 | |
| bool | deletePosition (const std::string &accountId, const std::string &instrumentId) override |
| 删除持仓 | |
| bool | deletePositionsByAccount (const std::string &accountId) override |
| 删除账户的所有持仓 | |
Public Member Functions inherited from fix40::IStore | |
| virtual | ~IStore ()=default |
SQLite 存储实现
线程安全的 SQLite 存储实现。 支持内存数据库 (":memory:") 用于测试。
|
explicit |
构造函数
| dbPath | 数据库文件路径,":memory:" 表示内存数据库 |
|
override |
|
delete |
|
overridevirtual |
删除账户
从数据库删除指定账户。
| accountId | 账户ID |
Implements fix40::IStore.
|
overridevirtual |
删除指定会话方向的所有已持久化消息
典型用途:处理 Logon 的 ResetSeqNumFlag(141)=Y 时,清理旧会话的消息记录, 避免序列号重置后出现同一 seq_num 的重复历史消息干扰重传。
| senderCompID | 发送方 CompID |
| targetCompID | 接收方 CompID |
Implements fix40::IStore.
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
删除持仓
从数据库删除指定持仓。
| accountId | 账户ID |
| instrumentId | 合约代码 |
Implements fix40::IStore.
|
overridevirtual |
删除账户的所有持仓
从数据库删除指定账户的所有持仓。
| accountId | 账户ID |
Implements fix40::IStore.
|
inline |
检查数据库是否已打开
|
overridevirtual |
加载账户信息
从数据库加载指定账户的状态。
| accountId | 账户ID |
Implements fix40::IStore.
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
加载持仓信息
从数据库加载指定账户在指定合约上的持仓。
| accountId | 账户ID |
| instrumentId | 合约代码 |
Implements fix40::IStore.
|
overridevirtual |
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
Implements fix40::IStore.
|
delete |
|
overridevirtual |
保存账户信息
将账户状态持久化到数据库。如果账户已存在则更新,否则插入新记录。
| account | 要保存的账户对象 |
Implements fix40::IStore.
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
保存订单(不包含订单归属信息)
该接口兼容旧代码路径与测试;在需要按用户隔离查询订单历史的场景, 应优先使用 saveOrderForAccount() 写入 accountId 并使用 loadOrdersByAccount() 查询。
Implements fix40::IStore.

|
overridevirtual |
保存订单并记录订单归属账户
| order | 订单对象 |
| accountId | 订单所属账户(由服务端基于 Session 身份绑定得出,不应由客户端消息提供) |
Implements fix40::IStore.

|
overridevirtual |
保存持仓信息
将持仓状态持久化到数据库。如果持仓已存在则更新,否则插入新记录。
| position | 要保存的持仓对象 |
Implements fix40::IStore.
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
Implements fix40::IStore.
|
overridevirtual |
Implements fix40::IStore.