12namespace Lightweight::SqlBackup
16using BackupValue = std::variant<std::monostate,
30 std::variant<std::monostate,
33 std::vector<std::string>,
34 std::vector<std::vector<uint8_t>>,
52 if constexpr (!std::is_same_v<std::decay_t<
decltype(v)>, std::monostate>)
83 virtual void WriteRow(std::span<BackupValue const> row) = 0;
88 virtual std::string
Flush() = 0;
virtual bool ReadBatch(ColumnBatch &batch)=0
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
std::vector< std::vector< bool > > nullIndicators
Null indicators for each column, parallel to columns.
std::vector< ColumnData > columns
The column data arrays.
void Clear()
Clears the internal buffer after a flush and releases memory.
size_t rowCount
The number of rows in the batch.
std::variant< std::monostate, std::vector< int64_t >, std::vector< double >, std::vector< std::string >, std::vector< std::vector< uint8_t > >, std::vector< bool > > ColumnData
Type representing columnar data storage for a batch.