diff options
Diffstat (limited to 'project2/sqlMergeTask.h')
-rw-r--r-- | project2/sqlMergeTask.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/project2/sqlMergeTask.h b/project2/sqlMergeTask.h index be5f6fa..61cbe4e 100644 --- a/project2/sqlMergeTask.h +++ b/project2/sqlMergeTask.h @@ -17,9 +17,24 @@ class _SqlMergeTask : public _Task { public: typedef std::string Table; typedef std::string Column; - - typedef std::set<Column> Columns; - typedef Columns Keys; + class TargetColumn; + typedef boost::shared_ptr<TargetColumn> TargetColumnPtr; + class TargetColumn { + public: + class Sort { + public: + bool operator()(const TargetColumnPtr & a, const TargetColumnPtr & b) const; + }; + TargetColumn(const Column &); + + Column column; + Column mapcolumn; + Table maptable; + + }; + typedef std::set<TargetColumnPtr, TargetColumn::Sort> Columns; + + typedef std::set<Column> Keys; _SqlMergeTask(const xmlpp::Element * p); virtual ~_SqlMergeTask(); |