diff options
Diffstat (limited to 'project2/sql/sqlBulkLoad.cpp')
-rw-r--r-- | project2/sql/sqlBulkLoad.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/project2/sql/sqlBulkLoad.cpp b/project2/sql/sqlBulkLoad.cpp index 4f17837..f905a68 100644 --- a/project2/sql/sqlBulkLoad.cpp +++ b/project2/sql/sqlBulkLoad.cpp @@ -4,25 +4,20 @@ #include "rdbmsDataSource.h" #include <scopeExit.h> #include "stream.h" +#include "sqlBase.h" -class SqlBulkLoad : public Task { +class SqlBulkLoad : public Task, SqlBase { public: SqlBulkLoad(ScriptNodePtr p) : SourceObject(p), Task(p), - dataSource(p, "datasource"), + SqlBase(p), targetTable(p, "targettable"), - extras(p, "extras"), - db(NULL) + extras(p, "extras") { p->script->loader.addLoadTarget(p, Storer::into<StreamFactory>(&stream)); } - void loadComplete(const CommonObjects * co) - { - db = co->dataSource<RdbmsDataSource>(dataSource(NULL)); - } - void execute(ExecContext * ec) const { auto wdb = db->getWritable(); @@ -33,12 +28,9 @@ class SqlBulkLoad : public Task { stream->runStream(boost::bind(&DB::Connection::bulkUploadData, wdb.get(), _1, _2), ec); } - const Variable dataSource; const Variable targetTable; const Variable extras; StreamPtr stream; - protected: - const RdbmsDataSource * db; }; NAMEDFACTORY("sqlbulkload", SqlBulkLoad, TaskFactory); |