diff options
Diffstat (limited to 'project2/sqlMergeTask.h')
-rw-r--r-- | project2/sqlMergeTask.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/project2/sqlMergeTask.h b/project2/sqlMergeTask.h index ce10f70..633dc2a 100644 --- a/project2/sqlMergeTask.h +++ b/project2/sqlMergeTask.h @@ -19,8 +19,8 @@ class _SqlMergeTask : public _Task { typedef std::string Table; typedef std::string Column; class TargetColumn; - typedef boost::shared_ptr<TargetColumn> TargetColumnPtr; - class TargetColumn { + typedef boost::intrusive_ptr<TargetColumn> TargetColumnPtr; + class TargetColumn : public virtual IntrusivePtrBase { public: class Sort { public: @@ -40,6 +40,7 @@ class _SqlMergeTask : public _Task { _SqlMergeTask(const xmlpp::Element * p); virtual ~_SqlMergeTask(); + virtual void loadComplete(); void execute() const; Columns cols; Keys keys; @@ -60,10 +61,10 @@ class _SqlMergeTask : public _Task { std::list<std::string> sqls; protected: ModifyCommand * insertCommand() const; - mutable ModifyCommand * insCmd; + ModifyCommand * insCmd; public: - mutable ODBC::Connection * destdb; + ODBC::Connection * destdb; const std::string dataSource; const Table dtable; const Table dtablet; |