Linux compatibility fixes
This commit is contained in:
parent
ac942481e3
commit
54fb59db04
|
@ -12,6 +12,7 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <stdexcept>
|
||||||
#include "scv/scv_util.h"
|
#include "scv/scv_util.h"
|
||||||
#include "scv/scv_introspection.h"
|
#include "scv/scv_introspection.h"
|
||||||
#include "scv/scv_tr.h"
|
#include "scv/scv_tr.h"
|
||||||
|
@ -27,7 +28,6 @@ struct SQLiteDB {
|
||||||
: runtime_error(msg), mnErrCode(0){
|
: runtime_error(msg), mnErrCode(0){
|
||||||
if (doFree && msg) sqlite3_free(const_cast<char*>(msg));
|
if (doFree && msg) sqlite3_free(const_cast<char*>(msg));
|
||||||
}
|
}
|
||||||
virtual ~SQLiteException()_NOEXCEPT {}
|
|
||||||
const int errorCode() { return mnErrCode; }
|
const int errorCode() { return mnErrCode; }
|
||||||
const char* errorMessage() { return what(); }
|
const char* errorMessage() { return what(); }
|
||||||
private:
|
private:
|
||||||
|
@ -146,6 +146,8 @@ static void streamCb(const scv_tr_stream& s, scv_tr_stream::callback_reason reas
|
||||||
queryBuilder << "INSERT INTO " STREAM_TABLE " (id, name, kind) values (" << s.get_id() << ",'" << s.get_name() << "','"
|
queryBuilder << "INSERT INTO " STREAM_TABLE " (id, name, kind) values (" << s.get_id() << ",'" << s.get_name() << "','"
|
||||||
<< (s.get_stream_kind() ? s.get_stream_kind() : "<unnamed>") << "');";
|
<< (s.get_stream_kind() ? s.get_stream_kind() : "<unnamed>") << "');";
|
||||||
db.exec(queryBuilder.str().c_str());
|
db.exec(queryBuilder.str().c_str());
|
||||||
|
if(concurrencyLevel.size()<=s.get_id())concurrencyLevel.resize(s.get_id()+1);
|
||||||
|
concurrencyLevel[s.get_id()]=new vector<uint64_t>();
|
||||||
} catch (SQLiteDB::SQLiteException& e) {
|
} catch (SQLiteDB::SQLiteException& e) {
|
||||||
_scv_message::message(_scv_message::TRANSACTION_RECORDING_INTERNAL, "Can't create stream");
|
_scv_message::message(_scv_message::TRANSACTION_RECORDING_INTERNAL, "Can't create stream");
|
||||||
}
|
}
|
||||||
|
@ -316,7 +318,10 @@ static void transactionCb(const scv_tr_handle& t, scv_tr_handle::callback_reason
|
||||||
vector<uint64_t>* levels=concurrencyLevel[streamId];
|
vector<uint64_t>* levels=concurrencyLevel[streamId];
|
||||||
for(concurrencyIdx=0; concurrencyIdx<levels->size(); ++concurrencyIdx)
|
for(concurrencyIdx=0; concurrencyIdx<levels->size(); ++concurrencyIdx)
|
||||||
if((*levels)[concurrencyIdx]==id) break;
|
if((*levels)[concurrencyIdx]==id) break;
|
||||||
(*levels)[concurrencyIdx]=0;
|
if(concurrencyIdx==levels->size())
|
||||||
|
levels->push_back(id);
|
||||||
|
else
|
||||||
|
levels->at(concurrencyIdx)=id;
|
||||||
queryBuilder.str("");
|
queryBuilder.str("");
|
||||||
queryBuilder << "INSERT INTO " TX_EVENT_TABLE " (tx,type,time)" << " values (" << t.get_id() << "," << END << ","
|
queryBuilder << "INSERT INTO " TX_EVENT_TABLE " (tx,type,time)" << " values (" << t.get_id() << "," << END << ","
|
||||||
<< t.get_end_sc_time().value() << ");";
|
<< t.get_end_sc_time().value() << ");";
|
||||||
|
|
Loading…
Reference in New Issue