diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-06-12 19:21:22 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-06-12 19:21:22 +0100 |
commit | de6ac08985252e7b5d36959896386a414e590d15 (patch) | |
tree | 60abba81244c4aa484660b6ae15d7b6f4379f8b1 /lib/output/pq/updateDatabase.h | |
parent | Simplify and allow offset when creating objects from rows (diff) | |
download | mygrate-de6ac08985252e7b5d36959896386a414e590d15.tar.bz2 mygrate-de6ac08985252e7b5d36959896386a414e590d15.tar.xz mygrate-de6ac08985252e7b5d36959896386a414e590d15.zip |
Load schema and config etc from target DB
Diffstat (limited to 'lib/output/pq/updateDatabase.h')
-rw-r--r-- | lib/output/pq/updateDatabase.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/output/pq/updateDatabase.h b/lib/output/pq/updateDatabase.h index 4e01d9c..2e48dd6 100644 --- a/lib/output/pq/updateDatabase.h +++ b/lib/output/pq/updateDatabase.h @@ -7,6 +7,21 @@ #include <eventSourceBase.h> namespace MyGrate::Output::Pq { + struct ColumnDef { + std::string name; + std::size_t ordinal; + bool is_pk; + }; + using ColumnDefPtr = std::unique_ptr<ColumnDef>; + + class TableDef { + public: + TableDef(const RecordSet &, std::string_view name); + + std::vector<ColumnDefPtr> columns; + }; + using TableDefPtr = std::unique_ptr<TableDef>; + class UpdateDatabase : public PqConn, public EventHandlerBase { public: UpdateDatabase(const char * const str, uint64_t source); @@ -15,6 +30,7 @@ namespace MyGrate::Output::Pq { private: uint64_t source; + std::map<std::string, TableDefPtr, std::less<>> tables; }; } |