本文整理汇总了C++中Table::Set方法的典型用法代码示例。如果您正苦于以下问题:C++ Table::Set方法的具体用法?C++ Table::Set怎么用?C++ Table::Set使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Table
的用法示例。
在下文中一共展示了Table::Set方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TableSelectorTest
int TableSelectorTest()
{
Table* table;
// select all user where name starts with 'd'
TableSelector selector("user", "d");
table = database.GetTable("test");
// populate table with test data
table->Set(NULL, "user:1", "dopey");
table->Set(NULL, "user:2", "grumpy");
table->Set(NULL, "user:3", "doc");
table->Set(NULL, "user:4", "happy");
table->Set(NULL, "user:5", "bashful");
table->Set(NULL, "user:6", "sneezy");
table->Set(NULL, "user:7", "sleepy");
table->Visit(selector);
return TEST_SUCCESS;
}
示例2: DatabaseSetTest
int DatabaseSetTest(TestConfig& conf)
{
int numTest;
Stopwatch sw;
Table* table;
Transaction* tx;
bool ret;
int limit = 16*KB;
int sum;
if (conf.argc < 5)
{
Log_Message("\n\tusage: %s <keySize> <valueSize>", conf.typeString);
return 1;
}
Log_SetTrace(true);
if (DatabaseSetup())
{
Log_Message("Cannot initialize database!", 1);
return 1;
}
table = database.GetTable("keyspace");
if (!table)
{
Log_Message("Cannot initialize table!", 1);
return 1;
}
conf.SetKeySize(atoi(conf.argv[3]));
conf.SetValueSize(atoi(conf.argv[4]));
Log_Message("Test type = %s, keySize = %d, valueSize = %d",
conf.typeString, conf.keySize, conf.valueSize);
tx = NULL;
tx = new Transaction(table);
sw.Start();
tx->Begin();
sw.Stop();
sum = 0;
numTest = conf.datasetTotal / conf.valueSize;
for (int i = 0; i < numTest; i++)
{
if (conf.rndkey)
GenRandomString(conf.key, conf.keySize);
else
conf.key.Writef("key%B:%d", conf.padding.length, conf.padding.buffer, i);
sw.Start();
ret = table->Set(tx, conf.key, conf.value);
sw.Stop();
if (!ret)
{
Log_Message("Test failed, ret = %s (%s failed after %d)", ret ? "true" : "false", conf.typeString, i);
return 1;
}
sum += conf.keySize + conf.valueSize;
if (sum > limit)
{
sw.Start();
tx->Commit();
sw.Stop();
double mbps = sum / (sw.elapsed / 1000.0) / 1000000;
Log_Message("num = %d, elapsed = %ld, thruput = %lf MB/s", i, sw.elapsed, mbps);
sw.Reset();
sw.Start();
tx->Begin();
sw.Stop();
sum = 0;
}
}
sw.Start();
tx->Commit();
sw.Stop();
double mbps = (conf.valueSize + conf.keySize) * numTest / (sw.elapsed / 1000.0) / 1000000;
Log_Message("Test succeeded, %s/sec = %lf (num = %d, elapsed = %ld, thruput = %lf MB/s)", conf.typeString, numTest / (sw.elapsed / 1000.0), numTest, sw.elapsed, mbps);
return 0;
}
示例3: DatabaseSetTest
int DatabaseSetTest(TestConfig& conf)
{
int numTest;
Table* table;
Transaction* tx;
bool ret;
int limit = 16*KB;
int sum;
char lacKee[20];
if (DatabaseSetup())
{
//Log_Message("Cannot initialize database!", 1);
return 1;
}
table = database.GetTable("keyspace");
if (!table)
{
//Log_Message("Cannot initialize table!", 1);
return 1;
}
tx = NULL;
tx = new Transaction(table);
tx->Begin();
sum = 0;
numTest = conf.datasetTotal / conf.valueSize;
for (int i = 0; i < numTest; i++)
{
//## if (conf.rndkey)
//## GenRandomString(conf.key, conf.keySize);
//## else
conf.key.append("key");
snprintf(lacKee, sizeof(lacKee), "%d", conf.padding.length());
conf.key.append(lacKee);
conf.key.append(conf.padding.c_str());
snprintf(lacKee, sizeof(lacKee), "%d", i);
conf.key.append(lacKee);
// conf.key.Writef("key%B:%d", conf.padding.length, conf.padding.buffer, i);
ret = table->Set(tx, conf.key.c_str(), conf.value.c_str());
if (!ret)
{
//Log_Message("Test failed, ret = %s (%s failed after %d)", ret ? "true" : "false", conf.typeString, i);
return 1;
}
sum += conf.keySize + conf.valueSize;
if (sum > limit)
{
tx->Commit();
tx->Begin();
sum = 0;
}
}
tx->Commit();
return 0;
}
示例4: fin
SymbolTable::SymbolTable(string file_name) {
file = file_name;
ifstream fin(file.c_str());
ofstream fout("data/symbol_table.txt");
Symbol symbol = Symbol(file);
Table table[ symbol.GetCount() ];
string line;
int count = 0;
int level_max = 0;
/*------temp save for table------*/
int level = 0;
string symbol_name = "";
string type_name = "";
bool array_bool = false;
bool function_bool = false;
Origin();
while(getline(fin, line)) {
istringstream fin_word(line);
string word = "";
string remain = "";
int pos = 0;
while(fin_word >> word) {
while(word != "") {
if((pos = Check(word)) != -1) {
if(pos != 0) {
remain = word.substr(pos);
word = word.substr(0, pos);
}
else {
remain = word.substr(pos + length(word));
word = word.substr(0, length(word));
}
}
/*-----save in table------*/
if( FindKeyWord(word) ) {
type_name = word;
}
else {
if(type_name != "") {
if(word == ";" || word == "," || word == ")" || word == "=" || word == "(" || word == "[") {
if(word == ";" || word == "," || word == ")" || word == "=") {
array_bool = false;
function_bool = false;
}
else if(word == "(") {
level = 0;
array_bool = false;
function_bool = true;
}
else if(word == "[") {
array_bool = true;
function_bool = false;
}
table[count].Set(level, symbol_name, type_name, array_bool, function_bool);
count = count + 1;
type_name = "";
}
else {
symbol_name = word;
}
}
}
if(word == "{" || word == "(") {
level = level + 1;
}
else if(word == ")") {
level = level - 1;
}
if(level > level_max) {
level_max = level;
}
/*------------------------*/
pos = 0;
word = remain;
remain = "";
}
}
}
int level_temp = 0;
while(level_temp <= level_max) {
for(int i = 0; i < (sizeof(table)/sizeof(*table)); i++) {
if(table[i].GetLevel() == level_temp) {
if(table[i].GetLevel() == table[i - 1].GetLevel() + 1) {
scope = scope + 1;
}
table[i].SetScope(scope);
}
}
//.........这里部分代码省略.........