12namespace Lightweight::SqlBackup
16using BackupValue = std::variant<std::monostate,
28 std::variant<std::monostate,
31 std::vector<std::string>,
32 std::vector<std::vector<uint8_t>>,
36 std::vector<ColumnData> columns;
37 std::vector<std::vector<bool>> nullIndicators;
43 for (
auto& col: columns)
47 if constexpr (!std::is_same_v<std::decay_t<
decltype(v)>, std::monostate>)
55 for (
auto& inds: nullIndicators)
77 virtual void WriteRow(std::span<BackupValue const> row) = 0;
82 virtual std::string
Flush() = 0;
Interface for reading backup chunks.
virtual bool ReadBatch(ColumnBatch &batch)=0
Interface for writing backup chunks.
virtual bool IsChunkFull() const =0
virtual void Clear()=0
Clears the internal buffer after a flush.
virtual std::string Flush()=0
virtual void WriteRow(std::span< BackupValue const > row)=0
Represents a batch of backup data in column-oriented format.
void Clear()
Clears the internal buffer after a flush and releases memory.