MCPcopy Create free account
hub / github.com/cc20110101/RedisView / exportData

Method exportData

src/RedisView/Public/WorkThread.cpp:471–537  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

469}
470
471int WorkThread::exportData(std::vector<ImpExpData> &vImpExpData, int taskid)
472{
473 if(vImpExpData.size() <= 0)
474 return 0;
475
476 if(!_db)
477 _db = new QSqlDatabase();
478
479 if(!_db->isValid()) {
480 if(taskid == THREAD_BATCH_OEM_KEY_TASK) {
481 _dbMgr.setCfg(ORACLE_DB, ORACLE_DRIVE);
482 _sql = QString(
483 "INSERT INTO %1 (ID,DB_INDEX,STATE,WEIGHT,TIME_OUT,"
484 "KEY,KEY_TYPE,FILED,VALUE, EXP_DATE) VALUES "
485 "(?,%2,?,?,?,?,?,?,?,TO_DATE(?, 'yyyymmddhh24miss'))")
486 .arg(_tableName).arg(_dbindex);
487 } else if(taskid == THREAD_BATCH_MEM_KEY_TASK) {
488 _dbMgr.setCfg(MYSQL_DB, MYSQL_DRIVE);
489 _sql = QString(
490 "INSERT INTO `%1` (ID,`DB_INDEX`,`STATE`,`WEIGHT`,"
491 "`TIME_OUT`, `KEY`,`KEY_TYPE`,`FILED`,`VALUE`, "
492 "`EXP_DATE`) VALUES (?,%2,?,?,?,?,?,?,?,STR_TO_DATE(?,"
493 "'%Y%m%d%H%i%s'))")
494 .arg(_tableName).arg(_dbindex);
495 }
496 _dbMgr.setLable(QString("%1%2%3").
497 arg(_dbMgr.lable()).arg(_thread).arg(_dbindex));
498
499 if(!_dbMgr.getDb(_db)) {
500 _string = _dbMgr.error();
501 return -1;
502 }
503 }
504
505 QSqlQuery sql_query(*_db);
506 sql_query.prepare(_sql);
507 QVariantList v0, v1, v2, v3, v4, v5, v6, v7, v8;
508 for(std::size_t i = 0; i < vImpExpData.size(); ++i) {
509 v0 << PubLib::getSequenceId() ;
510 v1 << vImpExpData[i].iState;
511 v2 << vImpExpData[i].lWeight;
512 v3 << vImpExpData[i].lTimeOut;
513 v4 << vImpExpData[i].sKey;
514 v5 << vImpExpData[i].sKeyType;
515 v6 << vImpExpData[i].sFiled;
516 v7 << vImpExpData[i].sValue;
517 v8 << vImpExpData[i].sExpDate;
518 }
519 sql_query.addBindValue(v0);
520 sql_query.addBindValue(v1);
521 sql_query.addBindValue(v2);
522 sql_query.addBindValue(v3);
523 sql_query.addBindValue(v4);
524 sql_query.addBindValue(v5);
525 sql_query.addBindValue(v6);
526 sql_query.addBindValue(v7);
527 sql_query.addBindValue(v8);
528

Callers

nothing calls this directly

Calls 8

setCfgMethod · 0.80
setLableMethod · 0.80
lableMethod · 0.80
getDbMethod · 0.80
errorMethod · 0.80
prepareMethod · 0.80
textMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected