You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
Feature/mcol 4882 cpimport skip rows (#3594)
* feat(cpimport): MCOL-4882 add a parameter to skip header rows * chore(cpimport): MCOL-4882 Use boost::program_options to arguments parsing * feat(cpimport.bin): MCOL-4882 Add missing changes * add test * fix clang * add missing cmdline argument * fix bug * Fix double lines skipping * Fix incorrect --silent (-N) parsing * fix default --max-errors processing * fix overwriting default username * move initialization to members declaration
This commit is contained in:
committed by
GitHub
parent
1c8d5ec04e
commit
78c1b5034d
@ -72,7 +72,7 @@ const std::string ERR_LOG_SUFFIX = ".err"; // Job err log file suffix
|
||||
namespace WriteEngine
|
||||
{
|
||||
/* static */ std::vector<std::shared_ptr<TableInfo>> BulkLoad::fTableInfo;
|
||||
/* static */ boost::mutex* BulkLoad::fDDLMutex = 0;
|
||||
/* static */ boost::mutex* BulkLoad::fDDLMutex = new boost::mutex();
|
||||
|
||||
/* static */ const std::string BulkLoad::DIR_BULK_JOB("job");
|
||||
/* static */ const std::string BulkLoad::DIR_BULK_TEMP_JOB("tmpjob");
|
||||
@ -140,35 +140,8 @@ struct CancellationThread
|
||||
// Constructor
|
||||
//------------------------------------------------------------------------------
|
||||
BulkLoad::BulkLoad()
|
||||
: fColOp(new ColumnOpBulk())
|
||||
, fColDelim('\0')
|
||||
, fNoOfBuffers(-1)
|
||||
, fBufferSize(-1)
|
||||
, fFileVbufSize(-1)
|
||||
, fMaxErrors(-1)
|
||||
, fNoOfParseThreads(3)
|
||||
, fNoOfReadThreads(1)
|
||||
, fKeepRbMetaFiles(false)
|
||||
, fNullStringMode(false)
|
||||
, fEnclosedByChar('\0')
|
||||
, // not enabled unless user overrides enclosed by char
|
||||
fEscapeChar('\0')
|
||||
, fTotalTime(0.0)
|
||||
, fBulkMode(BULK_MODE_LOCAL)
|
||||
, fbTruncationAsError(false)
|
||||
, fImportDataMode(IMPORT_DATA_TEXT)
|
||||
, fbContinue(false)
|
||||
, fDisableTimeOut(false)
|
||||
, fUUID(boost::uuids::nil_generator()())
|
||||
, fTimeZone(dataconvert::systemTimeZoneOffset())
|
||||
, fUsername("mysql") // MCOL-4328 default file owner
|
||||
{
|
||||
fTableInfo.clear();
|
||||
setDebugLevel(DEBUG_0);
|
||||
|
||||
fDDLMutex = new boost::mutex();
|
||||
memset(&fStartTime, 0, sizeof(timeval));
|
||||
memset(&fEndTime, 0, sizeof(timeval));
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@ -540,6 +513,7 @@ int BulkLoad::preProcess(Job& job, int tableNo, std::shared_ptr<TableInfo>& tabl
|
||||
tableInfo->setImportDataMode(fImportDataMode);
|
||||
tableInfo->setTimeZone(fTimeZone);
|
||||
tableInfo->setJobUUID(fUUID);
|
||||
tableInfo->setSkipRows(fSkipRows);
|
||||
|
||||
// MCOL-4328 Get username gid and uid if they are set
|
||||
// We inject uid and gid into TableInfo and All ColumnInfo-s later.
|
||||
@ -1002,6 +976,11 @@ int BulkLoad::processJob()
|
||||
fEscapeChar = '\\';
|
||||
}
|
||||
|
||||
if (fSkipRows == 0)
|
||||
{
|
||||
fSkipRows = curJob.fSkipRows;
|
||||
}
|
||||
|
||||
// std::cout << "bulkload::fEnclosedByChar<" << fEnclosedByChar << '>' <<
|
||||
// std::endl << "bulkload::fEscapeChar<" << fEscapeChar << '>' << std::endl;
|
||||
|
||||
|
Reference in New Issue
Block a user