提交 b9ea626e 编写于 作者: S Steve Yurong Su

fix leak caused by cpp client

上级 559f1a6d
......@@ -332,6 +332,7 @@ RowRecord *SessionDataSet::next() {
void SessionDataSet::closeOperationHandle() {
shared_ptr <TSCloseOperationReq> closeReq(new TSCloseOperationReq());
closeReq->__set_sessionId(sessionId);
closeReq->__set_statementId(statementId);
closeReq->__set_queryId(queryId);
shared_ptr <TSStatus> closeResp(new TSStatus());
try {
......@@ -1073,7 +1074,7 @@ unique_ptr <SessionDataSet> Session::executeQueryStatement(string sql) {
}
shared_ptr <TSQueryDataSet> queryDataSet(new TSQueryDataSet(resp->queryDataSet));
return unique_ptr<SessionDataSet>(new SessionDataSet(
sql, resp->columns, resp->dataTypeList, resp->queryId, client, sessionId, queryDataSet));
sql, resp->columns, resp->dataTypeList, resp->queryId, statementId, client, sessionId, queryDataSet));
}
void Session::executeNonQueryStatement(string sql) {
......
......@@ -491,6 +491,7 @@ private:
bool hasCachedRecord = false;
std::string sql;
int64_t queryId;
int64_t statementId;
int64_t sessionId;
std::shared_ptr <TSIServiceIf> client;
int batchSize = 1024;
......@@ -516,12 +517,13 @@ public:
SessionDataSet() {}
SessionDataSet(std::string sql, std::vector <std::string> &columnNameList,
std::vector <std::string> &columnTypeList, int64_t queryId,
std::vector <std::string> &columnTypeList, int64_t queryId, int64_t statementId,
std::shared_ptr <TSIServiceIf> client, int64_t sessionId,
std::shared_ptr <TSQueryDataSet> queryDataSet) : tsQueryDataSetTimeBuffer(queryDataSet->time) {
this->sessionId = sessionId;
this->sql = sql;
this->queryId = queryId;
this->statementId = statementId;
this->client = client;
this->columnNameList = columnNameList;
this->currentBitmap = new char[columnNameList.size()];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册