1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

the begginning

This commit is contained in:
david hill
2016-01-06 14:08:59 -06:00
parent 66a31debcb
commit f6afc42dd0
18251 changed files with 16460679 additions and 2 deletions

80
tools/brmtest/locks.cpp Normal file
View File

@ -0,0 +1,80 @@
/*
* $Id: locks.cpp 282 2007-10-28 02:18:55Z rdempsey $
*/
#include <iostream>
#include <stdexcept>
using namespace std;
#include "sessionmanager.h"
#include "calpontsystemcatalog.h"
using namespace execplan;
#include "shmkeys.h"
#include "rwlock.h"
#include "mastersegmenttable.h"
using namespace BRM;
int query_locks()
{
ShmKeys keys;
RWLock *rwlock[MasterSegmentTable::nTables];
int RWLockKeys[MasterSegmentTable::nTables];
int i;
RWLockKeys[0] = keys.KEYRANGE_EXTENTMAP_BASE;
RWLockKeys[1] = keys.KEYRANGE_EMFREELIST_BASE;
RWLockKeys[2] = keys.KEYRANGE_VBBM_BASE;
RWLockKeys[3] = keys.KEYRANGE_VSS_BASE;
RWLockKeys[4] = keys.KEYRANGE_CL_BASE;
for (i = 0; i < MasterSegmentTable::nTables; i++)
rwlock[i] = new RWLock(RWLockKeys[i]);
for (i = 0; i < MasterSegmentTable::nTables; i++)
if (rwlock[i]->getWriting() > 0 ||
//rwlock[i]->getReading() > 0 ||
rwlock[i]->getWritersWaiting() > 0 ||
rwlock[i]->getReadersWaiting() > 0)
return 1;
for (i = 0; i < MasterSegmentTable::nTables; i++)
delete rwlock[i];
return 0;
}
int reset_locks()
{
ShmKeys keys;
RWLock *rwlock[MasterSegmentTable::nTables];
int RWLockKeys[MasterSegmentTable::nTables];
int i;
SessionManager sm(true);
RWLockKeys[0] = keys.KEYRANGE_EXTENTMAP_BASE;
RWLockKeys[1] = keys.KEYRANGE_EMFREELIST_BASE;
RWLockKeys[2] = keys.KEYRANGE_VBBM_BASE;
RWLockKeys[3] = keys.KEYRANGE_VSS_BASE;
RWLockKeys[4] = keys.KEYRANGE_CL_BASE;
for (i = 0; i < MasterSegmentTable::nTables; i++)
rwlock[i] = new RWLock(RWLockKeys[i]);
for (i = 0; i < MasterSegmentTable::nTables; i++)
rwlock[i]->reset();
for (i = 0; i < MasterSegmentTable::nTables; i++)
delete rwlock[i];
try {
sm.reset();
}
catch (exception &e) {
cout << e.what() << endl;
return -1;
}
return 0;
}