summaryrefslogtreecommitdiff
path: root/lib/row.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/row.h')
-rw-r--r--lib/row.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/row.h b/lib/row.h
index ac2c135..4191644 100644
--- a/lib/row.h
+++ b/lib/row.h
@@ -6,15 +6,25 @@
#include <functional>
namespace MyGrate {
- class Row {
+ class Row : public std::vector<MySQL::FieldValue> {
public:
Row(const st_mariadb_rpl_rows_event &, const st_mariadb_rpl_table_map_event &);
- void forEachField(const std::function<void(MySQL::FieldValue)> & callback);
+ private:
+ friend class RowPair;
+ Row(const st_mariadb_rpl_rows_event &, const st_mariadb_rpl_table_map_event &, MyGrate::RawDataReader && md,
+ MyGrate::RawDataReader && data);
+ Row(const st_mariadb_rpl_rows_event &, const st_mariadb_rpl_table_map_event &, MyGrate::RawDataReader & md,
+ MyGrate::RawDataReader & data);
+ };
+
+ class RowPair : public std::pair<Row, Row> {
+ public:
+ RowPair(const st_mariadb_rpl_rows_event &, const st_mariadb_rpl_table_map_event &);
private:
- const st_mariadb_rpl_rows_event & row;
- const st_mariadb_rpl_table_map_event & tm;
+ RowPair(const st_mariadb_rpl_rows_event &, const st_mariadb_rpl_table_map_event &,
+ MyGrate::RawDataReader && md1, MyGrate::RawDataReader && md2, MyGrate::RawDataReader && data);
};
}