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
clang format apply
This commit is contained in:
@ -16,9 +16,9 @@
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
/*******************************************************************************
|
||||
* $Id$
|
||||
*
|
||||
*******************************************************************************/
|
||||
* $Id$
|
||||
*
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* we_splclient.h
|
||||
@ -37,364 +37,379 @@
|
||||
|
||||
namespace WriteEngine
|
||||
{
|
||||
|
||||
class WESplClient; //forward decleration
|
||||
class WESplClient; // forward decleration
|
||||
|
||||
// Structure for holding the Out of Range data from the BRMReport
|
||||
// This class is also used by we_sdhandler to hold the agregate info.
|
||||
class WEColOORInfo // Column Out-Of-Range Info
|
||||
class WEColOORInfo // Column Out-Of-Range Info
|
||||
{
|
||||
public:
|
||||
WEColOORInfo(): fColNum(0), fColType(execplan::CalpontSystemCatalog::INT), fNoOfOORs(0) {}
|
||||
~WEColOORInfo() {}
|
||||
public:
|
||||
int fColNum;
|
||||
execplan::CalpontSystemCatalog::ColDataType fColType;
|
||||
std::string fColName;
|
||||
int fNoOfOORs;
|
||||
public:
|
||||
WEColOORInfo() : fColNum(0), fColType(execplan::CalpontSystemCatalog::INT), fNoOfOORs(0)
|
||||
{
|
||||
}
|
||||
~WEColOORInfo()
|
||||
{
|
||||
}
|
||||
|
||||
public:
|
||||
int fColNum;
|
||||
execplan::CalpontSystemCatalog::ColDataType fColType;
|
||||
std::string fColName;
|
||||
int fNoOfOORs;
|
||||
};
|
||||
typedef std::vector<WEColOORInfo> WEColOorVec;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
class WESdHandlerException: public std::exception
|
||||
class WESdHandlerException : public std::exception
|
||||
{
|
||||
public:
|
||||
std::string fWhat;
|
||||
WESdHandlerException(std::string& What) throw()
|
||||
{
|
||||
fWhat = What;
|
||||
}
|
||||
virtual ~WESdHandlerException() throw() {}
|
||||
virtual const char* what() const throw()
|
||||
{
|
||||
return fWhat.c_str();
|
||||
}
|
||||
public:
|
||||
std::string fWhat;
|
||||
WESdHandlerException(std::string& What) throw()
|
||||
{
|
||||
fWhat = What;
|
||||
}
|
||||
virtual ~WESdHandlerException() throw()
|
||||
{
|
||||
}
|
||||
virtual const char* what() const throw()
|
||||
{
|
||||
return fWhat.c_str();
|
||||
}
|
||||
};
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
class WESplClientRunner
|
||||
{
|
||||
public:
|
||||
WESplClientRunner(WESplClient& Sc): fOwner(Sc) { /* ctor */ }
|
||||
virtual ~WESplClientRunner() {/* dtor */}
|
||||
void operator()();
|
||||
public:
|
||||
WESplClientRunner(WESplClient& Sc) : fOwner(Sc)
|
||||
{ /* ctor */
|
||||
}
|
||||
virtual ~WESplClientRunner()
|
||||
{ /* dtor */
|
||||
}
|
||||
void operator()();
|
||||
|
||||
public:
|
||||
WESplClient& fOwner;
|
||||
public:
|
||||
WESplClient& fOwner;
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
class WESplClient
|
||||
{
|
||||
public:
|
||||
WESplClient(WESDHandler& Sdh, int PmId);
|
||||
virtual ~WESplClient();
|
||||
public:
|
||||
WESplClient(WESDHandler& Sdh, int PmId);
|
||||
virtual ~WESplClient();
|
||||
|
||||
void setup();
|
||||
void startClientThread();
|
||||
void sendAndRecv();
|
||||
void send();
|
||||
void recv();
|
||||
void write(const messageqcpp::ByteStream& Msg);
|
||||
void read(messageqcpp::SBS& Sbs);
|
||||
void add2SendQueue(const messageqcpp::SBS& Sbs);
|
||||
void clearSendQueue();
|
||||
int getSendQSize();
|
||||
void setup();
|
||||
void startClientThread();
|
||||
void sendAndRecv();
|
||||
void send();
|
||||
void recv();
|
||||
void write(const messageqcpp::ByteStream& Msg);
|
||||
void read(messageqcpp::SBS& Sbs);
|
||||
void add2SendQueue(const messageqcpp::SBS& Sbs);
|
||||
void clearSendQueue();
|
||||
int getSendQSize();
|
||||
|
||||
void printStats();
|
||||
void onConnect();
|
||||
void onDisconnect();
|
||||
void printStats();
|
||||
void onConnect();
|
||||
void onDisconnect();
|
||||
|
||||
unsigned int getRowTx() const
|
||||
{
|
||||
return fRowTx;
|
||||
}
|
||||
uint32_t getBytesRcv() const
|
||||
{
|
||||
return fBytesRcv;
|
||||
}
|
||||
uint32_t getBytesTx()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fTxMutex);
|
||||
return fBytesTx;
|
||||
}
|
||||
boost::thread* getFpThread() const
|
||||
{
|
||||
return fpThread;
|
||||
}
|
||||
time_t getLastInTime()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fLastInMutex);
|
||||
return (fLastInTime > 0) ? fLastInTime : fStartTime; //BUG 4309
|
||||
}
|
||||
time_t getStartTime() const
|
||||
{
|
||||
return fStartTime;
|
||||
}
|
||||
time_t getElapsedTime()
|
||||
{
|
||||
return (getLastInTime() - getStartTime());
|
||||
}
|
||||
bool isCpiStarted() const
|
||||
{
|
||||
return fCpiStarted;
|
||||
}
|
||||
bool isCpiPassed() const
|
||||
{
|
||||
return fCpiPassed;
|
||||
}
|
||||
bool isCpiFailed() const
|
||||
{
|
||||
return fCpiFailed;
|
||||
}
|
||||
bool isBrmRptRcvd() const
|
||||
{
|
||||
return fBrmRptRcvd;
|
||||
}
|
||||
int getRollbackRslt() const
|
||||
{
|
||||
return fRollbackRslt;
|
||||
}
|
||||
int getCleanupRslt() const
|
||||
{
|
||||
return fCleanupRslt;
|
||||
}
|
||||
bool getSendFlag() const
|
||||
{
|
||||
return fSend;
|
||||
}
|
||||
unsigned int getPmId() const
|
||||
{
|
||||
return fPmId;
|
||||
}
|
||||
unsigned int getDbRootCnt() const
|
||||
{
|
||||
return fDbrCnt;
|
||||
}
|
||||
unsigned int getDbRootVar()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
return fDbrVar;
|
||||
}
|
||||
int getDataRqstCount()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
return fDataRqstCnt;
|
||||
}
|
||||
long getRdSecTo() const
|
||||
{
|
||||
return fRdSecTo;
|
||||
}
|
||||
bool isConnected() const
|
||||
{
|
||||
return fConnected;
|
||||
}
|
||||
bool isContinue() const
|
||||
{
|
||||
return fContinue;
|
||||
}
|
||||
const std::string& getServer() const
|
||||
{
|
||||
return fServer;
|
||||
}
|
||||
const std::string& getIpAddress() const
|
||||
{
|
||||
return fIpAddress;
|
||||
}
|
||||
void setBytesRcv(uint32_t BytesRcv)
|
||||
{
|
||||
fBytesRcv = BytesRcv;
|
||||
}
|
||||
void setBytesTx(uint32_t BytesTx)
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fTxMutex);
|
||||
fBytesTx = BytesTx;
|
||||
aLock.unlock();
|
||||
}
|
||||
void updateBytesTx(uint32_t fBytes)
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fTxMutex);
|
||||
fBytesTx += fBytes;
|
||||
aLock.unlock();
|
||||
}
|
||||
void setConnected(bool Connected)
|
||||
{
|
||||
fConnected = Connected;
|
||||
}
|
||||
void setContinue(bool Continue)
|
||||
{
|
||||
fContinue = Continue;
|
||||
}
|
||||
void setFpThread(boost::thread* pThread)
|
||||
{
|
||||
fpThread = pThread;
|
||||
}
|
||||
void setLastInTime(time_t LastInTime)
|
||||
{
|
||||
fLastInTime = LastInTime;
|
||||
}
|
||||
void setStartTime(time_t StartTime)
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fLastInMutex);
|
||||
fStartTime = StartTime;
|
||||
aLock.lock();
|
||||
}
|
||||
void setSendFlag(bool Send)
|
||||
{
|
||||
fSend = Send;
|
||||
}
|
||||
void setCpiStarted(bool Start)
|
||||
{
|
||||
fCpiStarted = Start;
|
||||
}
|
||||
void setCpiPassed(bool Pass)
|
||||
{
|
||||
setLastInTime(time(0));
|
||||
fCpiPassed = Pass;
|
||||
}
|
||||
void setCpiFailed(bool Fail)
|
||||
{
|
||||
setLastInTime(time(0));
|
||||
fCpiFailed = Fail;
|
||||
fRowsUploadInfo.fRowsRead = 0;
|
||||
fRowsUploadInfo.fRowsInserted = 0;
|
||||
}
|
||||
void setBrmRptRcvd(bool Rcvd)
|
||||
{
|
||||
fBrmRptRcvd = Rcvd;
|
||||
}
|
||||
void setRollbackRslt(int Rslt)
|
||||
{
|
||||
fRollbackRslt = Rslt;
|
||||
}
|
||||
void setCleanupRslt(int Rslt)
|
||||
{
|
||||
fCleanupRslt = Rslt;
|
||||
}
|
||||
void setPmId(unsigned int PmId)
|
||||
{
|
||||
fPmId = PmId;
|
||||
}
|
||||
void setDbRootCnt(unsigned int DbrCnt)
|
||||
{
|
||||
fDbrCnt = DbrCnt;
|
||||
}
|
||||
void resetDbRootVar()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
fDbrVar = fDbrCnt;
|
||||
aLock.unlock();
|
||||
}
|
||||
void decDbRootVar()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
unsigned int getRowTx() const
|
||||
{
|
||||
return fRowTx;
|
||||
}
|
||||
uint32_t getBytesRcv() const
|
||||
{
|
||||
return fBytesRcv;
|
||||
}
|
||||
uint32_t getBytesTx()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fTxMutex);
|
||||
return fBytesTx;
|
||||
}
|
||||
boost::thread* getFpThread() const
|
||||
{
|
||||
return fpThread;
|
||||
}
|
||||
time_t getLastInTime()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fLastInMutex);
|
||||
return (fLastInTime > 0) ? fLastInTime : fStartTime; // BUG 4309
|
||||
}
|
||||
time_t getStartTime() const
|
||||
{
|
||||
return fStartTime;
|
||||
}
|
||||
time_t getElapsedTime()
|
||||
{
|
||||
return (getLastInTime() - getStartTime());
|
||||
}
|
||||
bool isCpiStarted() const
|
||||
{
|
||||
return fCpiStarted;
|
||||
}
|
||||
bool isCpiPassed() const
|
||||
{
|
||||
return fCpiPassed;
|
||||
}
|
||||
bool isCpiFailed() const
|
||||
{
|
||||
return fCpiFailed;
|
||||
}
|
||||
bool isBrmRptRcvd() const
|
||||
{
|
||||
return fBrmRptRcvd;
|
||||
}
|
||||
int getRollbackRslt() const
|
||||
{
|
||||
return fRollbackRslt;
|
||||
}
|
||||
int getCleanupRslt() const
|
||||
{
|
||||
return fCleanupRslt;
|
||||
}
|
||||
bool getSendFlag() const
|
||||
{
|
||||
return fSend;
|
||||
}
|
||||
unsigned int getPmId() const
|
||||
{
|
||||
return fPmId;
|
||||
}
|
||||
unsigned int getDbRootCnt() const
|
||||
{
|
||||
return fDbrCnt;
|
||||
}
|
||||
unsigned int getDbRootVar()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
return fDbrVar;
|
||||
}
|
||||
int getDataRqstCount()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
return fDataRqstCnt;
|
||||
}
|
||||
long getRdSecTo() const
|
||||
{
|
||||
return fRdSecTo;
|
||||
}
|
||||
bool isConnected() const
|
||||
{
|
||||
return fConnected;
|
||||
}
|
||||
bool isContinue() const
|
||||
{
|
||||
return fContinue;
|
||||
}
|
||||
const std::string& getServer() const
|
||||
{
|
||||
return fServer;
|
||||
}
|
||||
const std::string& getIpAddress() const
|
||||
{
|
||||
return fIpAddress;
|
||||
}
|
||||
void setBytesRcv(uint32_t BytesRcv)
|
||||
{
|
||||
fBytesRcv = BytesRcv;
|
||||
}
|
||||
void setBytesTx(uint32_t BytesTx)
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fTxMutex);
|
||||
fBytesTx = BytesTx;
|
||||
aLock.unlock();
|
||||
}
|
||||
void updateBytesTx(uint32_t fBytes)
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fTxMutex);
|
||||
fBytesTx += fBytes;
|
||||
aLock.unlock();
|
||||
}
|
||||
void setConnected(bool Connected)
|
||||
{
|
||||
fConnected = Connected;
|
||||
}
|
||||
void setContinue(bool Continue)
|
||||
{
|
||||
fContinue = Continue;
|
||||
}
|
||||
void setFpThread(boost::thread* pThread)
|
||||
{
|
||||
fpThread = pThread;
|
||||
}
|
||||
void setLastInTime(time_t LastInTime)
|
||||
{
|
||||
fLastInTime = LastInTime;
|
||||
}
|
||||
void setStartTime(time_t StartTime)
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fLastInMutex);
|
||||
fStartTime = StartTime;
|
||||
aLock.lock();
|
||||
}
|
||||
void setSendFlag(bool Send)
|
||||
{
|
||||
fSend = Send;
|
||||
}
|
||||
void setCpiStarted(bool Start)
|
||||
{
|
||||
fCpiStarted = Start;
|
||||
}
|
||||
void setCpiPassed(bool Pass)
|
||||
{
|
||||
setLastInTime(time(0));
|
||||
fCpiPassed = Pass;
|
||||
}
|
||||
void setCpiFailed(bool Fail)
|
||||
{
|
||||
setLastInTime(time(0));
|
||||
fCpiFailed = Fail;
|
||||
fRowsUploadInfo.fRowsRead = 0;
|
||||
fRowsUploadInfo.fRowsInserted = 0;
|
||||
}
|
||||
void setBrmRptRcvd(bool Rcvd)
|
||||
{
|
||||
fBrmRptRcvd = Rcvd;
|
||||
}
|
||||
void setRollbackRslt(int Rslt)
|
||||
{
|
||||
fRollbackRslt = Rslt;
|
||||
}
|
||||
void setCleanupRslt(int Rslt)
|
||||
{
|
||||
fCleanupRslt = Rslt;
|
||||
}
|
||||
void setPmId(unsigned int PmId)
|
||||
{
|
||||
fPmId = PmId;
|
||||
}
|
||||
void setDbRootCnt(unsigned int DbrCnt)
|
||||
{
|
||||
fDbrCnt = DbrCnt;
|
||||
}
|
||||
void resetDbRootVar()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
fDbrVar = fDbrCnt;
|
||||
aLock.unlock();
|
||||
}
|
||||
void decDbRootVar()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
|
||||
if (fDbrVar > 0) --fDbrVar;
|
||||
if (fDbrVar > 0)
|
||||
--fDbrVar;
|
||||
|
||||
aLock.unlock();
|
||||
}
|
||||
void setRdSecTo(long RdSecTo)
|
||||
{
|
||||
fRdSecTo = RdSecTo;
|
||||
}
|
||||
void setDataRqstCount(int DataRqstCnt)
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
fDataRqstCnt = DataRqstCnt;
|
||||
aLock.unlock();
|
||||
}
|
||||
void decDataRqstCount()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
aLock.unlock();
|
||||
}
|
||||
void setRdSecTo(long RdSecTo)
|
||||
{
|
||||
fRdSecTo = RdSecTo;
|
||||
}
|
||||
void setDataRqstCount(int DataRqstCnt)
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
fDataRqstCnt = DataRqstCnt;
|
||||
aLock.unlock();
|
||||
}
|
||||
void decDataRqstCount()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
|
||||
if (fDataRqstCnt > 0) --fDataRqstCnt;
|
||||
if (fDataRqstCnt > 0)
|
||||
--fDataRqstCnt;
|
||||
|
||||
aLock.unlock();
|
||||
}
|
||||
void incDataRqstCount()
|
||||
aLock.unlock();
|
||||
}
|
||||
void incDataRqstCount()
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
++fDataRqstCnt;
|
||||
aLock.unlock();
|
||||
}
|
||||
void setServer(const std::string& Server)
|
||||
{
|
||||
fServer = Server;
|
||||
}
|
||||
void setIpAddress(const std::string& IpAddr)
|
||||
{
|
||||
fIpAddress = IpAddr;
|
||||
}
|
||||
void updateRowTx(unsigned int aCnt)
|
||||
{
|
||||
fRowTx += aCnt;
|
||||
}
|
||||
void resetRowTx()
|
||||
{
|
||||
fRowTx = 0;
|
||||
}
|
||||
|
||||
private:
|
||||
bool fContinue;
|
||||
bool fConnected;
|
||||
unsigned int fPmId;
|
||||
unsigned int fDbrCnt;
|
||||
unsigned int fDbrVar; // Var to keep track next PM to send.
|
||||
int fDataRqstCnt; // Data request count
|
||||
long fRdSecTo; // read timeout sec
|
||||
unsigned int fRowTx; // No. Of Rows Transmitted
|
||||
uint32_t fBytesTx;
|
||||
uint32_t fBytesRcv;
|
||||
time_t fLastInTime;
|
||||
time_t fStartTime;
|
||||
bool fSend;
|
||||
bool fCpiStarted;
|
||||
bool fCpiPassed;
|
||||
bool fCpiFailed;
|
||||
bool fBrmRptRcvd;
|
||||
int fRollbackRslt;
|
||||
int fCleanupRslt;
|
||||
|
||||
boost::mutex fTxMutex; // mutex for TxBytes
|
||||
boost::mutex fDataRqstMutex;
|
||||
boost::mutex fWriteMutex;
|
||||
boost::mutex fSentQMutex;
|
||||
boost::mutex fLastInMutex;
|
||||
typedef std::queue<messageqcpp::SBS> WESendQueue;
|
||||
WESendQueue fSendQueue;
|
||||
|
||||
std::string fServer;
|
||||
std::string fIpAddress;
|
||||
boost::shared_ptr<messageqcpp::MessageQueueClient> fClnt;
|
||||
boost::thread* fpThread;
|
||||
WESDHandler& fOwner;
|
||||
|
||||
class WERowsUploadInfo
|
||||
{
|
||||
public:
|
||||
WERowsUploadInfo() : fRowsRead(0), fRowsInserted(0)
|
||||
{
|
||||
boost::mutex::scoped_lock aLock(fDataRqstMutex);
|
||||
++fDataRqstCnt;
|
||||
aLock.unlock();
|
||||
}
|
||||
void setServer(const std::string& Server)
|
||||
~WERowsUploadInfo()
|
||||
{
|
||||
fServer = Server;
|
||||
}
|
||||
void setIpAddress(const std::string& IpAddr)
|
||||
{
|
||||
fIpAddress = IpAddr;
|
||||
}
|
||||
void updateRowTx(unsigned int aCnt)
|
||||
{
|
||||
fRowTx += aCnt;
|
||||
}
|
||||
void resetRowTx()
|
||||
{
|
||||
fRowTx = 0;
|
||||
}
|
||||
|
||||
private:
|
||||
bool fContinue;
|
||||
bool fConnected;
|
||||
unsigned int fPmId;
|
||||
unsigned int fDbrCnt;
|
||||
unsigned int fDbrVar; // Var to keep track next PM to send.
|
||||
int fDataRqstCnt; // Data request count
|
||||
long fRdSecTo; // read timeout sec
|
||||
unsigned int fRowTx; // No. Of Rows Transmitted
|
||||
uint32_t fBytesTx;
|
||||
uint32_t fBytesRcv;
|
||||
time_t fLastInTime;
|
||||
time_t fStartTime;
|
||||
bool fSend;
|
||||
bool fCpiStarted;
|
||||
bool fCpiPassed;
|
||||
bool fCpiFailed;
|
||||
bool fBrmRptRcvd;
|
||||
int fRollbackRslt;
|
||||
int fCleanupRslt;
|
||||
public:
|
||||
int64_t fRowsRead;
|
||||
int64_t fRowsInserted;
|
||||
};
|
||||
WERowsUploadInfo fRowsUploadInfo;
|
||||
WEColOorVec fColOorVec;
|
||||
std::string fBadDataFile;
|
||||
std::string fErrInfoFile;
|
||||
|
||||
boost::mutex fTxMutex; //mutex for TxBytes
|
||||
boost::mutex fDataRqstMutex;
|
||||
boost::mutex fWriteMutex;
|
||||
boost::mutex fSentQMutex;
|
||||
boost::mutex fLastInMutex;
|
||||
typedef std::queue<messageqcpp::SBS> WESendQueue;
|
||||
WESendQueue fSendQueue;
|
||||
|
||||
std::string fServer;
|
||||
std::string fIpAddress;
|
||||
boost::shared_ptr<messageqcpp::MessageQueueClient> fClnt;
|
||||
boost::thread* fpThread;
|
||||
WESDHandler& fOwner;
|
||||
|
||||
class WERowsUploadInfo
|
||||
{
|
||||
public:
|
||||
WERowsUploadInfo(): fRowsRead(0), fRowsInserted(0) {}
|
||||
~WERowsUploadInfo() {}
|
||||
public:
|
||||
int64_t fRowsRead;
|
||||
int64_t fRowsInserted;
|
||||
};
|
||||
WERowsUploadInfo fRowsUploadInfo;
|
||||
WEColOorVec fColOorVec;
|
||||
std::string fBadDataFile;
|
||||
std::string fErrInfoFile;
|
||||
|
||||
void setRowsUploadInfo(int64_t RowsRead, int64_t RowsInserted);
|
||||
void add2ColOutOfRangeInfo(int ColNum, execplan::CalpontSystemCatalog::ColDataType ColType,
|
||||
std::string& ColName, int NoOfOors);
|
||||
void setBadDataFile(const std::string& BadDataFile);
|
||||
void setErrInfoFile(const std::string& ErrInfoFile);
|
||||
|
||||
friend class WESDHandler;
|
||||
void setRowsUploadInfo(int64_t RowsRead, int64_t RowsInserted);
|
||||
void add2ColOutOfRangeInfo(int ColNum, execplan::CalpontSystemCatalog::ColDataType ColType,
|
||||
std::string& ColName, int NoOfOors);
|
||||
void setBadDataFile(const std::string& BadDataFile);
|
||||
void setErrInfoFile(const std::string& ErrInfoFile);
|
||||
|
||||
friend class WESDHandler;
|
||||
};
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
Reference in New Issue
Block a user