diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-08-02 21:13:43 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-08-02 21:13:43 +0100 |
commit | 25e2428754a3ac6c02650812564c857d1e25df55 (patch) | |
tree | e5175651650126f77c46a9030853dafeac13c4f7 /lib/output/dumpToConsole.cpp | |
parent | Assert DbValue is copyable and moveable (diff) | |
download | mygrate-25e2428754a3ac6c02650812564c857d1e25df55.tar.bz2 mygrate-25e2428754a3ac6c02650812564c857d1e25df55.tar.xz mygrate-25e2428754a3ac6c02650812564c857d1e25df55.zip |
Handle Rows events with more than one row
Diffstat (limited to 'lib/output/dumpToConsole.cpp')
-rw-r--r-- | lib/output/dumpToConsole.cpp | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/lib/output/dumpToConsole.cpp b/lib/output/dumpToConsole.cpp index 656063b..304e35a 100644 --- a/lib/output/dumpToConsole.cpp +++ b/lib/output/dumpToConsole.cpp @@ -33,7 +33,7 @@ namespace MyGrate::Output { { const auto & rs = event->event.rows; scprintf<"Update %?\n">(std::cout, rs.table_id); - dumpRowPairData(event->event.rows); + dumpRowData(event->event.rows); } void @@ -68,22 +68,10 @@ namespace MyGrate::Output { void DumpToConsole::dumpRowData(const st_mariadb_rpl_rows_event & row) const { - Row r {row, tableMaps.at(row.table_id)->event.table_map}; - std::for_each(r.begin(), r.end(), [](auto && fv) { - fv.visit(write {}); - }); - } - - void - DumpToConsole::dumpRowPairData(const st_mariadb_rpl_rows_event & row) const - { - RowPair rp {row, tableMaps.at(row.table_id)->event.table_map}; - std::for_each(rp.first.begin(), rp.first.end(), [](auto && fv) { - fv.visit(write {}); - }); - std::for_each(rp.second.begin(), rp.second.end(), [](auto && fv) { - fv.visit(write {}); - }); + for (const auto & r : Row::fromRowsEvent(row, tableMaps.at(row.table_id)->event.table_map)) { + std::for_each(r.begin(), r.end(), [](auto && fv) { + fv.visit(write {}); + }); + } } - } |