#ifndef MYGRATE_INPUT_MYSQLRECORDSET_H #define MYGRATE_INPUT_MYSQLRECORDSET_H #include "mysqlStmt.h" #include #include #include #include #include #include namespace MyGrate::Input { class ResultData; class MySQLRecordSet : public RecordSet { public: using ResPtr = std::unique_ptr; using StmtResPtr = std::unique_ptr; using ResultDataPtr = std::unique_ptr; explicit MySQLRecordSet(StmtPtr s); std::size_t rows() const override; std::size_t columns() const override; DbValue at(std::size_t row, std::size_t col) const override; private: StmtPtr stmt; StmtResPtr stmtres; std::vector fields; std::vector extras; mutable std::size_t currentRow {static_cast(-1)}; }; } #endif