本文整理汇总了C++中sp_setstring函数的典型用法代码示例。如果您正苦于以下问题:C++ sp_setstring函数的具体用法?C++ sp_setstring怎么用?C++ sp_setstring使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sp_setstring函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: conf_validation_upsert
static void
conf_validation_upsert(void)
{
void *env = sp_env();
t( env != NULL );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setint(env, "log.enable", 0) == 0 );
t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );
t( sp_setint(env, "log.sync", 0) == 0 );
t( sp_setint(env, "log.rotate_sync", 0) == 0 );
t( sp_setstring(env, "db", "test", 0) == 0 );
void *db = sp_getobject(env, "db.test");
t( db != NULL );
t( sp_setint(env, "db.test.sync", 0) == 0 );
t( sp_setstring(env, "db.test.index.upsert", conf_validation_upsert_op, 0) == 0 );
t( sp_setstring(env, "db.test.format", "document", 0) == 0 );
t( sp_open(env) == -1 );
t( sp_destroy(env) == 0 );
}
示例2: repository_test3
static void
repository_test3(void)
{
rmrf("./sophia");
rmrf("./logdir");
rmrf("./dir");
void *env = sp_env();
t( env != NULL );
t( sp_setstring(env, "sophia.path", "sophia", 0) == 0 );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setstring(env, "db", "test", 0) == 0 );
t( sp_setstring(env, "db.test.path", "dir", 0) == 0 );
t( sp_setint(env, "db.test.sync", 0) == 0 );
t( sp_open(env) == 0 );
t( exists("sophia", "log") == 1 );
t( exists("sophia", "test") == 0 );
t( exists("dir", "") == 1 );
t( sp_destroy(env) == 0 );
}
示例3: conf_validation1
static void
conf_validation1(void)
{
void *env = sp_env();
t( env != NULL );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setstring(env, "scheduler.threads", NULL, 0) == -1 );
t( sp_getobject(env, "scheduler.threads") == NULL );
t( sp_setint(env, "log.enable", 0) == 0 );
t( sp_setstring(env, "log.enable", NULL, 0) == -1 );
t( sp_getobject(env, "log.enable") == NULL );
t( sp_setstring(env, "scheduler.run", NULL, 0) == 0 );
t( sp_getobject(env, "scheduler.run") == NULL );
t( sp_destroy(env) == 0 );
}
示例4: anticache_promote1
static void
anticache_promote1(void)
{
void *env = sp_env();
t( env != NULL );
t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );
t( sp_setint(env, "memory.anticache", 100 * 1024 * 1024) == 0 );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setint(env, "compaction.0.branch_wm", 1) == 0 );
t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 );
t( sp_setint(env, "log.sync", 0) == 0 );
t( sp_setint(env, "log.rotate_sync", 0) == 0 );
t( sp_open(env) == 0 );
t( sp_setstring(env, "db", "test", 0) == 0 );
t( sp_setstring(env, "db.test.path", st_r.conf->db_dir, 0) == 0 );
t( sp_setstring(env, "db.test.index.key", "u32", 0) == 0 );
t( sp_setstring(env, "db.test.storage", "anti-cache", 0) == 0 );
t( sp_setint(env, "db.test.sync", 0) == 0 );
void *db = sp_getobject(env, "db.test");
t( db != NULL );
t( sp_open(db) == 0 );
int key = 0;
while (key < 10) {
void *o = sp_document(db);
t( o != NULL );
t( sp_setstring(o, "key", &key, sizeof(key)) == 0 );
t( sp_setstring(o, "value", &key, sizeof(key)) == 0 );
t( sp_set(db, o) == 0 );
key++;
}
t( sp_setint(env, "db.test.branch", 0) == 0 );
t( sp_getint(env, "scheduler.anticache_active") == 0 );
t( sp_getint(env, "scheduler.anticache_asn") == 0 );
t( sp_getint(env, "scheduler.anticache_asn_last") == 0 );
t( sp_setint(env, "scheduler.anticache", 0) == 0 );
t( sp_getint(env, "scheduler.anticache_active") == 1 );
t( sp_getint(env, "scheduler.anticache_asn") == 1 );
t( sp_getint(env, "scheduler.anticache_asn_last") == 0 );
t( sp_setint(env, "scheduler.run", 0) == 1 );
t( sp_setint(env, "scheduler.run", 0) == 1 );
t( sp_setint(env, "scheduler.run", 0) == 0 );
t( sp_getint(env, "scheduler.anticache_active") == 0 );
t( sp_getint(env, "scheduler.anticache_asn") == 0 );
t( sp_getint(env, "scheduler.anticache_asn_last") == 1 );
t( sp_setint(env, "scheduler.anticache", 0) == 0 );
t( sp_getint(env, "scheduler.anticache_active") == 1 );
t( sp_setint(env, "scheduler.run", 0) == 0 );
t( sp_destroy(env) == 0 );
}
示例5: shutdown_transaction3
static void
shutdown_transaction3(void)
{
void *env = sp_env();
t( env != NULL );
t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 );
t( sp_open(env) == 0 );
void *a = sp_begin(env);
t( a != NULL );
t( sp_setstring(env, "db", "test", 0) == 0 );
t( sp_setstring(env, "db.test.path", st_r.conf->db_dir, 0) == 0 );
t( sp_setstring(env, "db.test.index.key", "u32", 0) == 0 );
void *db = sp_getobject(env, "db.test");
t( db != NULL );
t( sp_setint(env, "db.test.sync", 0) == 0 );
t( sp_open(db) == 0 );
void *b = sp_begin(env);
t( b != NULL );
sp_destroy(db); /* unref */
sp_destroy(db); /* schedule shutdown, unlink */
void *v = sp_begin(env);
t( v != NULL );
void *dbp = sp_getobject(env, "db.test");
t( dbp == NULL );
t( sp_setint(env, "scheduler.run", 0) == 0 );
t( sp_destroy(a) == 0 );
t( sp_setint(env, "scheduler.run", 0) == 0 ); /* no unlink */
t( sp_destroy(v) == 0 );
t( sp_setint(env, "scheduler.run", 0) == 0 ); /* no unlink */
t( sp_destroy(b) == 0 );
t( sp_setint(env, "scheduler.run", 0) == 1 );
t( sp_destroy(env) == 0 );
}
示例6: while
static inline void *single_stmt_thread(void *arg)
{
ssthread *self = arg;
void *db = self->arg;
int i = 0;
while (i < 20000) {
char key[100];
int keylen = snprintf(key, sizeof(key), "key_%" PRIiPTR "_%d",
(uintptr_t)self, i);
void *o = sp_document(db);
assert(o != NULL);
sp_setstring(o, "key", key, keylen + 1);
sp_setstring(o, "value", &i, sizeof(i));
int rc = sp_set(db, o);
assert(rc != -1);
i++;
}
return NULL;
}
示例7: cache_test0
static void
cache_test0(void)
{
void *env = sp_env();
t( env != NULL );
t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );
t( sp_setstring(env, "db", "test", 0) == 0 );
t( sp_setstring(env, "db.test.index.key", "u32",0) == 0 );
t( sp_setint(env, "db.test.sync", 0) == 0 );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setint(env, "compaction.0.branch_wm", 1) == 0 );
t( sp_open(env) == 0 );
void *db = sp_getobject(env, "db.test");
t( db != NULL );
int i = 0;
while (i < 185) {
void *o = sp_object(db);
t( o != NULL );
t( sp_setstring(o, "key", &i, sizeof(i)) == 0 );
t( sp_setstring(o, "value", &i, sizeof(i)) == 0 );
t( sp_set(db, o) == 0 );
i++;
}
t( sp_setint(env, "db.test.branch", 0) == 0 );
void *cur = sp_cursor(env);
i = 0;
t( cur != NULL );
void *o = sp_object(db);
while ((o = sp_get(cur, o))) {
t( *(int*)sp_getstring(o, "key", 0) == i );
i++;
}
t( i == 185 );
t( sp_destroy(cur) == 0 );
t( sp_getint(env, "db.test.index.read_disk") == 1 );
t( sp_getint(env, "db.test.index.read_cache") == 184 );
t( sp_destroy(env) == 0 );
}
示例8: repository_test0
static void
repository_test0(void)
{
void *env = sp_env();
t( env != NULL );
t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_open(env) == 0 );
t( exists(st_r.conf->sophia_dir, "log") == 1 );
t( sp_destroy(env) == 0 );
}
示例9: multipart_cmp_eq_key
static void
multipart_cmp_eq_key(void)
{
void *env = sp_env();
t( env != NULL );
t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 );
t( sp_setstring(env, "db", "test", 0) == 0 );
t( sp_setstring(env, "db.test.path", st_r.conf->db_dir, 0) == 0 );
t( sp_setstring(env, "db.test.index.key", "u32", 0) == 0 );
t( sp_setint(env, "db.test.sync", 0) == 0 );
char *v = sp_getstring(env, "db.test.index.key", 0);
t( strcmp(v, "u32") == 0 );
free(v);
t( sp_open(env) == 0 );
t( sp_destroy(env) == 0 );
}
示例10: spr_cmd_start
static inline int
spr_cmd_start(void)
{
/* create env */
spr_env = sp_env();
sp_setstring(spr_env, "sophia.path", "_test_sophia", 0);
sp_setstring(spr_env, "backup.path", "_test_backup", 0);
sp_setstring(spr_env, "db", "test", 0);
spr_db = sp_getobject(spr_env, "db.test");
int rc;
rc = sp_open(spr_env);
if (rc == -1) {
sp_destroy(spr_env);
return -1;
}
/* start thread */
spr_start = 1;
pthread_create(&spr_thread, NULL, spr_worker, NULL);
return 0;
}
示例11: drop_test_fail_on_drop1
static void
drop_test_fail_on_drop1(void)
{
void *env = sp_env();
t( env != NULL );
t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 );
t( sp_setint(env, "log.sync", 0) == 0 );
t( sp_setint(env, "log.rotate_sync", 0) == 0 );
t( sp_open(env) == 0 );
t( sp_setstring(env, "db", "test", 0) == 0 );
t( sp_setstring(env, "db.test.path", st_r.conf->db_dir, 0) == 0 );
t( sp_setstring(env, "db.test.index.key", "u32", 0) == 0 );
t( sp_setint(env, "db.test.sync", 0) == 0 );
void *db = sp_getobject(env, "db.test");
t( db != NULL );
t( sp_open(db) == 0 );
sp_destroy(db); /* unref */
t( sp_drop(db) == 0); /* scheduler drop */
t( exists(st_r.conf->db_dir, "") == 1 );
t( sp_destroy(env) == 0 );
env = sp_env();
t( env != NULL );
t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 );
t( sp_setstring(env, "db", "test", 0) == 0 );
t( sp_setstring(env, "db.test.path", st_r.conf->db_dir, 0) == 0 );
t( sp_setstring(env, "db.test.index.key", "u32", 0) == 0 );
t( sp_setint(env, "db.test.sync", 0) == 0 );
t( sp_setint(env, "log.sync", 0) == 0 );
t( sp_setint(env, "log.rotate_sync", 0) == 0 );
t( sp_setint(env, "db.test.path_fail_on_drop", 1) == 0 );
db = sp_getobject(env, "db.test");
t( db != NULL );
t( sp_open(env) == -1 ); /* fail on database dropped */
t( sp_destroy(env) == 0 );
}
示例12: workflow_open
static inline void*
workflow_open(void *env)
{
int rc;
rc = sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0);
if (rc == -1)
return NULL;
rc = sp_setint(env, "scheduler.threads", 0);
if (rc == -1)
return NULL;
rc = sp_setint(env, "compaction.0.branch_wm", 1);
if (rc == -1)
return NULL;
rc = sp_setstring(env, "log.path", st_r.conf->log_dir, 0);
if (rc == -1)
return NULL;
rc = sp_setint(env, "log.sync", 0);
if (rc == -1)
return NULL;
rc = sp_setstring(env, "db", "test", 0);
if (rc == -1)
return NULL;
rc = sp_setstring(env, "db.test.path", st_r.conf->db_dir, 0);
if (rc == -1)
return NULL;
rc = sp_setstring(env, "db.test.compression", "lz4", 0);
if (rc == -1)
return NULL;
rc = sp_setint(env, "db.test.compression_key", 1);
if (rc == -1)
return NULL;
rc = sp_setstring(env, "db.test.storage", "in-memory", 0);
if (rc == -1)
return NULL;
rc = sp_setstring(env, "db.test.index.key", "u32", 0);
if (rc == -1)
return NULL;
rc = sp_setstring(env, "db.test.index.upsert", workflow_upsert_operator, 0);
if (rc == -1)
return NULL;
rc = sp_setint(env, "db.test.sync", 0);
if (rc == -1)
return NULL;
void *db = sp_getobject(env, "db.test");
if (db == NULL)
return NULL;
rc = sp_open(env);
if (rc == -1)
return NULL;
return db;
}
示例13: batch_db_destroy
static void
batch_db_destroy(void)
{
void *env = sp_env();
t( env != NULL );
t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 );
t( sp_setstring(env, "db", "test", 0) == 0 );
t( sp_setstring(env, "db.test.path", st_r.conf->db_dir, 0) == 0 );
t( sp_setstring(env, "db.test.index.key", "u32", 0) == 0 );
t( sp_setint(env, "db.test.sync", 0) == 0 );
void *db = sp_getobject(env, "db.test");
t( db != NULL );
t( sp_open(env) == 0 );
void *batch = sp_batch(db);
t( batch != NULL );
t( sp_destroy(env) == 0 );
}
示例14: npr_test0
static void
npr_test0(void)
{
void *env = sp_env();
t( env != NULL );
t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );
t( sp_setint(env, "sophia.recover", 3) == 0 );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 );
t( sp_setint(env, "log.enable", 0) == 0 );
t( sp_setint(env, "compaction.0.branch_wm", 1) == 0 );
t( sp_open(env) == 0 );
t( sp_setstring(env, "db", "test", 0) == 0 );
t( sp_setstring(env, "db.test.path", st_r.conf->db_dir, 0) == 0 );
t( sp_setstring(env, "db.test.scheme", "key", 0) == 0 );
t( sp_setstring(env, "db.test.scheme.key", "u32,key(0)", 0) == 0 );
t( sp_setstring(env, "db.test.scheme", "value", 0) == 0 );
t( sp_setint(env, "db.test.sync", 0) == 0 );
void *db = sp_getobject(env, "db.test");
t( db != NULL );
t( sp_open(db) == 0 );
char *v = sp_getstring(env, "db.test.status", NULL);
t( strcmp(v, "online") == 0 );
free(v);
t( sp_open(env) == 0 ); /* 2nd state */
/* recover */
t( sp_setstring(env, "db", "test2", 0) == 0 );
t( sp_setint(env, "db.test2.sync", 0) == 0 );
db = sp_getobject(env, "db.test2");
t( db != NULL );
t( sp_open(db) == 0 );
v = sp_getstring(env, "db.test2.status", NULL);
t( strcmp(v, "online") == 0 );
free(v);
t( sp_open(env) == 0 ); /* 3nd state */
/* online */
t( sp_open(env) == 0 ); /* N states */
/* recover */
t( sp_open(env) == 0 ); /* ... */
/* online */
t( sp_destroy(db) == 0 );
t( sp_destroy(env) == 0 );
}
示例15: batch_update_commit
static void
batch_update_commit(void)
{
void *env = sp_env();
t( env != NULL );
t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );
t( sp_setint(env, "scheduler.threads", 0) == 0 );
t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 );
t( sp_setstring(env, "db", "test", 0) == 0 );
t( sp_setstring(env, "db.test.path", st_r.conf->db_dir, 0) == 0 );
t( sp_setstring(env, "db.test.index.key", "u32", 0) == 0 );
t( sp_setint(env, "db.test.sync", 0) == 0 );
void *db = sp_getobject(env, "db.test");
t( db != NULL );
t( sp_open(env) == 0 );
void *batch = sp_batch(db);
t( batch != NULL );
int key = 123;
void *o = sp_object(db);
t( sp_setstring(o, "key", &key, sizeof(key)) == 0 );
t( sp_update(batch, o) == 0 );
t( sp_commit(batch) == 0 );
t( sp_destroy(env) == 0 );
}