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