summaryrefslogtreecommitdiff
path: root/project2/sqlMergeTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'project2/sqlMergeTask.h')
-rw-r--r--project2/sqlMergeTask.h21
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();