这篇教程C++ sp_getstring函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中sp_getstring函数的典型用法代码示例。如果您正苦于以下问题:C++ sp_getstring函数的具体用法?C++ sp_getstring怎么用?C++ sp_getstring使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了sp_getstring函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: object_set_getstatic voidobject_set_get(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 ); 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 ); int key = 7; void *o = sp_object(db); t(o != NULL); t( sp_setstring(o, "key", &key, sizeof(key)) == 0 ); t( sp_setstring(o, "value", &key, sizeof(key)) == 0 ); int size = 0; t( *(int*)sp_getstring(o, "key", &size) == key ); t( size == sizeof(key) ); t( *(int*)sp_getstring(o, "value", &size) == key ); t( size == sizeof(key) ); sp_destroy(o); sp_destroy(env);}
开发者ID:mneumann,项目名称:sophia,代码行数:31,
示例2: meta_schedulerstatic voidmeta_scheduler(void){ void *env = sp_env(); t( env != NULL ); t( sp_setint(env, "scheduler.threads", 2) == 0 ); t( sp_setint(env, "log.enable", 0) == 0 ); t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 ); t( sp_getstring(env, "scheduler.0.trace", NULL) == NULL ); t( sp_open(env) == 0 ); char *v = sp_getstring(env, "scheduler.0.trace", NULL); t( v != NULL ); t( strcmp(v, "malfunction") != 0 ); free(v); v = sp_getstring(env, "scheduler.1.trace", NULL); t( v != NULL ); t( strcmp(v, "malfunction") != 0 ); free(v); v = sp_getstring(env, "scheduler.2.trace", NULL); t( v == NULL ); t( sp_destroy(env) == 0 );}
开发者ID:Wanderfalke,项目名称:sophia,代码行数:27,
示例3: meta_dbstatic voidmeta_db(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, "db", "test", 0) == 0 ); t( sp_setstring(env, "db.test.index", "key_b", 0) == 0 ); t( sp_setint(env, "db.test.id", 777) == 0 ); t( sp_setint(env, "db.test.sync", 0) == 0 ); t( sp_open(env) == 0 ); void *db = sp_getobject(env, "db.test"); t( db != NULL ); char *s = sp_getstring(db, "name", NULL); t( strcmp(s, "test") == 0 ); free(s); t( sp_getint(db, "id") == 777 ); t( sp_getint(db, "key-count") == 2 ); s = sp_getstring(env, "db.test.index.key", 0); t( s != NULL ); t( strcmp(s, "string") == 0 ); free(s); s = sp_getstring(env, "db.test.index.key_b", 0); t( s != NULL ); t( strcmp(s, "string") == 0 ); free(s); t( sp_destroy(env) == 0 );}
开发者ID:Wanderfalke,项目名称:sophia,代码行数:29,
示例4: multipart_schemastatic voidmultipart_schema(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_b", 0) == 0 ); t( sp_setint(env, "db.test.sync", 0) == 0 ); char *v = sp_getstring(env, "db.test.index.key", 0); t( strcmp(v, "string") == 0 ); free(v); v = sp_getstring(env, "db.test.index.key_b", 0); t( strcmp(v, "string") == 0 ); free(v); t( sp_setstring(env, "db.test.index.key_b", "u32", 0) == 0 ); v = sp_getstring(env, "db.test.index.key_b", 0); t( strcmp(v, "u32") == 0 ); free(v); t( sp_open(env) == 0 ); t( sp_setstring(env, "db.test.index.key_b", "string", 0) == -1 ); t( sp_destroy(env) == 0 );}
开发者ID:egmkang,项目名称:green_turtle,代码行数:32,
示例5: meta_cursorstatic voidmeta_cursor(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, "db", "test", 0) == 0 ); t( sp_setstring(env, "db.test.index", "key_b", 0) == 0 ); t( sp_setint(env, "db.test.sync", 0) == 0 ); t( sp_open(env) == 0 ); t( sp_setstring(env, "snapshot", "test_snapshot0", 0) == 0 ); fprintf(st_r.output, "/n"); void *cur = sp_getobject(env, NULL); t( cur != NULL ); fprintf(st_r.output, "/n"); void *o = NULL; while ((o = sp_get(cur, o))) { char *key = sp_getstring(o, "key", 0); char *value = sp_getstring(o, "value", 0); fprintf(st_r.output, "%s", key); if (value) fprintf(st_r.output, " = %s/n", value); else fprintf(st_r.output, " = /n"); } fprintf(st_r.output, "/n"); t( sp_destroy(cur) == 0 ); t( sp_destroy(env) == 0 );}
开发者ID:Wanderfalke,项目名称:sophia,代码行数:34,
示例6: compact_directiostatic voidcompact_directio(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_setint(env, "db.test.compaction.branch_wm", 1) == 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 ); t( sp_setint(env, "db.test.direct_io", 1) == 0 ); t( sp_setint(env, "log.sync", 0) == 0 ); t( sp_setint(env, "log.rotate_sync", 0) == 0 ); void *db = sp_getobject(env, "db.test"); t( db != NULL ); t( sp_open(env) == 0 ); char value[100]; memset(value, 0, sizeof(value)); int key = 0; while (key < 300000) { void *o = sp_document(db); t( o != NULL ); t( sp_setstring(o, "key", &key, sizeof(key)) == 0 ); t( sp_setstring(o, "value", value, sizeof(value)) == 0 ); t( sp_set(db, o) == 0 ); if ((key % 10000) == 0 && key > 0) { if (sp_setint(env, "db.test.compaction.branch", 0) == -1) { char *e = sp_getstring(env, "sophia.error", NULL); printf("%s, %d/n", (e) ? e: "null", errno); t( 0 ); } /*t( sp_setint(env, "db.test.compaction.branch", 0) == 0 );*/ } key++; } t( sp_setint(env, "db.test.compaction.compact", 0) == 0 ); key = 0; while (key < 1000) { void *o = sp_document(db); t( o != NULL ); t( sp_setstring(o, "key", &key, sizeof(key)) == 0 ); o = sp_get(db, o); t( o != NULL ); t( *(int*)sp_getstring(o, "key", NULL) == key ); sp_destroy(o); key++; } t( sp_destroy(env) == 0 );}
开发者ID:ConfusedReality,项目名称:sophia,代码行数:59,
示例7: mt_async_readstatic voidmt_async_read(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", 5) == 0 ); t( sp_setint(env, "compaction.0.async", 1) == 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_setint(env, "db.test.sync", 0) == 0 ); t( sp_setstring(env, "db.test.format", "kv", 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_open(env) == 0 ); int i = 0; while (i < 100000) { void *o = sp_object(db); assert(o != NULL); sp_setstring(o, "key", &i, sizeof(i)); int rc = sp_set(db, o); t( rc == 0 ); print_current(i); i++; } fprintf(st_r.output, " (insert done..iterate) "); void *async = sp_asynchronous(db); t( async != NULL ); /* trigger iteration */ void *o = sp_object(async); sp_setstring(o, "order", ">=", 0); o = sp_get(db, o); t( o != NULL ); sp_destroy(o); i = 0; while (i < 100000) { o = sp_poll(env); if (o == NULL) continue; t( strcmp(sp_getstring(o, "type", 0), "on_read") == 0 ); t( sp_getint(o, "status") == 1 ); t( *(int*)sp_getstring(o, "key", NULL) == i ); o = sp_get(db, o); t( o != NULL ); sp_destroy(o); print_current(i); i++; } t( i == 100000 ); fprintf(st_r.output, "(complete)"); t( sp_destroy(env) == 0 );}
开发者ID:holys,项目名称:sophia,代码行数:58,
示例8: scheme_test0static voidscheme_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_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.compression_cold", "zstd", 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", "key_b", 0) == 0 ); t( sp_setstring(env, "db.test.scheme.key_b", "string,key(1)", 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(env) == 0 ); 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_setint(env, "log.sync", 0) == 0 ); t( sp_setint(env, "log.rotate_sync", 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_setint(env, "db.test.sync", 0) == 0 ); db = sp_getobject(env, "db.test"); t( db != NULL ); t( sp_open(env) == 0 ); char *v = sp_getstring(env, "db.test.compression_cold", 0); t( v != NULL ); t( strcmp(v, "zstd") == 0 ); free(v); v = sp_getstring(env, "db.test.scheme.key", 0); t( v != NULL ); t( strcmp(v, "u32,key(0)") == 0 ); free(v); v = sp_getstring(env, "db.test.scheme.key_b", 0); t( v != NULL ); t( strcmp(v, "string,key(1)") == 0 ); free(v); v = sp_getstring(env, "db.test.scheme.value", 0); t( v != NULL ); t( strcmp(v, "string") == 0 ); free(v); t( sp_destroy(env) == 0 );}
开发者ID:muthhus,项目名称:sophia,代码行数:58,
示例9: st_document_eqvoid st_document_eq(stgenerator *g, sf fmt, void *o, uint32_t seed, uint32_t seed_value){ svv *v = st_svv_seed(g, seed, seed_value); if (ssunlikely(v == NULL)) { t(0); return; } switch (fmt) { case SF_KV: { int i = 0; int size = 0; while (i < g->r->scheme->count) { void *ptr = sp_getstring(o, g->r->scheme->parts[i].name, &size); t( ptr != NULL ); t( size == sf_keysize(sv_vpointer(v), i) ); t( memcmp(ptr, sf_key(sv_vpointer(v), i), size) == 0 ); i++; } void *ptr = sp_getstring(o, "value", &size); if ((g->value_start + g->value_end) > 0) { t( ptr != NULL ); t( size == sf_valuesize(g->r->fmt, sv_vpointer(v), v->size, g->r->scheme->count) ); t( memcmp(ptr, sf_value(g->r->fmt, sv_vpointer(v), g->r->scheme->count), size) == 0 ); } else { t( ptr == NULL ); } break; } case SF_DOCUMENT: { int i = 0; int size = 0; while (i < g->r->scheme->count) { void *ptr = sp_getstring(o, g->r->scheme->parts[i].name, &size); t( ptr != NULL ); t( size == sf_keysize(sv_vpointer(v), i) ); t( memcmp(ptr, sf_key(sv_vpointer(v), i), size) == 0 ); i++; } void *ptr = sp_getstring(o, "value", &size); t( ptr != NULL ); if ((g->value_start + g->value_end) > 0) { int vsize = sf_valuesize(g->r->fmt, ptr, size, g->r->scheme->count); t( vsize == sf_valuesize(g->r->fmt, sv_vpointer(v), v->size, g->r->scheme->count) ); ptr = sf_value(g->r->fmt, ptr, g->r->scheme->count); t( memcmp(ptr, sf_value(g->r->fmt, sv_vpointer(v), g->r->scheme->count), vsize) == 0 ); } break; } } sv_vfree(g->r, v);}
开发者ID:jason-xxl,项目名称:sophia,代码行数:57,
示例10: github_120static voidgithub_120(void){ /* open or create environment and database */ void *env = sp_env(); sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0); sp_setstring(env, "db", "test", 0); void *db = sp_getobject(env, "db.test"); int rc = sp_open(env); if (rc == -1) goto error; /* set */ void *o = sp_document(db); sp_setstring(o, "key", "hello", 0); sp_setstring(o, "value", "world", 0); rc = sp_set(db, o); if (rc == -1) goto error; /* get */ o = sp_document(db); sp_setstring(o, "key", "hello", 0); o = sp_get(db, o); if (o) { /* ensure key and value are correct */ int size; char *ptr = sp_getstring(o, "key", &size); t( size == 5 ); t( strncmp(ptr, "hello", 5) == 0 ); ptr = sp_getstring(o, "value", &size); t( size == 5 ); t( strncmp(ptr, "world", 5) == 0 ); sp_destroy(o); } /* delete */ o = sp_document(db); sp_setstring(o, "key", "hello", 0); rc = sp_delete(db, o); if (rc == -1) goto error; /* finish work */ sp_destroy(env); return;error:; int size; char *error = sp_getstring(env, "sophia.error", &size); printf("error: %s/n", error); free(error); sp_destroy(env);}
开发者ID:ConfusedReality,项目名称:sophia,代码行数:56,
示例11: mt_set_get_kv_multipartstatic voidmt_set_get_kv_multipart(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", 5) == 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_setint(env, "db.test.compression_key", 1) == 0 ); t( sp_setint(env, "db.test.sync", 0) == 0 ); t( sp_setstring(env, "db.test.index.key", "string", 0) == 0 ); t( sp_setstring(env, "db.test.index", "key_b", 0) == 0 ); t( sp_setstring(env, "db.test.index.key_b", "u32", 0) == 0 ); void *db = sp_getobject(env, "db.test"); t( db != NULL ); t( sp_open(env) == 0 ); uint32_t n = 500000; uint32_t i; char key_a[] = "very_long_long_key_part"; srand(82351); for (i = 0; i < n; i++) { uint32_t key_b = rand(); uint32_t value = key_b; void *o = sp_object(db); t( o != NULL ); t( sp_setstring(o, "key", key_a, sizeof(key_a)) == 0 ); t( sp_setstring(o, "key_b", &key_b, sizeof(key_b)) == 0 ); t( sp_setstring(o, "value", &value, sizeof(value)) == 0 ); t( sp_set(db, o) == 0 ); print_current(i); } srand(82351); for (i = 0; i < n; i++) { uint32_t key_b = rand(); uint32_t value = key_b; void *o = sp_object(db); t( o != NULL ); t( sp_setstring(o, "key", key_a, sizeof(key_a)) == 0 ); t( sp_setstring(o, "key_b", &key_b, sizeof(key_b)) == 0 ); o = sp_get(db, o); t( o != NULL ); int size = 0; t( memcmp(sp_getstring(o, "key", &size), key_a, sizeof(key_a)) == 0 ); t( *(uint32_t*)sp_getstring(o, "key_b", &size) == key_b ); t( *(uint32_t*)sp_getstring(o, "value", &size) == value ); sp_destroy(o); print_current(i); } t( sp_destroy(env) == 0 );}
开发者ID:holys,项目名称:sophia,代码行数:55,
示例12: multipart_cursor1static voidmultipart_cursor1(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_b", 0) == 0 ); t( sp_setstring(env, "db.test.index.key_b", "u32", 0) == 0 ); t( sp_setstring(env, "db.test.index.key", "string", 0) == 0 ); t( sp_setint(env, "db.test.sync", 0) == 0 ); t( sp_open(env) == 0 ); void *db = sp_getobject(env, "db.test"); t( db != NULL ); char key_a[] = "hello"; uint32_t i = 0; while (i < 546) { void *o = sp_object(db); sp_setstring(o, "key", key_a, sizeof(key_a)); sp_setstring(o, "key_b", &i, sizeof(i)); sp_setstring(o, "value", &i, sizeof(i)); t( sp_set(db, o) == 0); i++; } i = 322; void *cur = sp_cursor(env); t( cur != NULL ); void *o = sp_object(db); sp_setstring(o, "key", key_a, sizeof(key_a)); sp_setstring(o, "key_b", &i, sizeof(i)); sp_setstring(o, "value", &i, sizeof(i)); while ((o = sp_get(cur, o))) { int asize; t( strcmp(key_a, sp_getstring(o, "key", &asize)) == 0 ); int bsize; t( *(uint32_t*)sp_getstring(o, "key_b", &bsize) == i ); int vsize; t( *(uint32_t*)sp_getstring(o, "value", &vsize) == i ); t( asize == sizeof(key_a) ); t( bsize == sizeof(i) ); t( vsize == sizeof(i) ); i++; } sp_destroy(cur); t( i == 546 ); t( sp_destroy(env) == 0 );}
开发者ID:egmkang,项目名称:green_turtle,代码行数:54,
示例13: npr_test0static voidnpr_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 );}
开发者ID:dongxu-pc,项目名称:sophia,代码行数:50,
示例14: conf_versionstatic voidconf_version(void){ void *env = sp_env(); t( env != NULL ); char *s = sp_getstring(env, "sophia.version", NULL); t( s != NULL ); t( strcmp(s, "2.1.1") == 0 ); free(s); s = sp_getstring(env, "sophia.version_storage", NULL); t( s != NULL ); t( strcmp(s, "2.1.1") == 0 ); free(s); t( sp_destroy(env) == 0 );}
开发者ID:EgoIncarnate,项目名称:sophia,代码行数:15,
示例15: spr_cmd_infostatic inline voidspr_cmd_info(void){ if (! spr_start) return; void *cur = sp_getobject(spr_env, NULL); void *o = NULL; while ((o = sp_get(cur, o))) { char *key = sp_getstring(o, "key", 0); char *value = sp_getstring(o, "value", 0); printf("%s = %s/n", key, (value) ? value : ""); } sp_destroy(cur);}
开发者ID:jason-xxl,项目名称:sophia,代码行数:15,
示例16: mt_setgetstatic voidmt_setget(void){ char value[100]; memset(value, 0, sizeof(value)); uint32_t n = 1000000; uint32_t i, k; srand(82351); for (i = 0; i < n; i++) { k = rand(); *(uint32_t*)value = k; void *o = sp_object(st_r.db); t( o != NULL ); t( sp_setstring(o, "key", &k, sizeof(k)) == 0 ); t( sp_setstring(o, "value", value, sizeof(value)) == 0 ); t( sp_set(st_r.db, o) == 0 ); print_current(i); } srand(82351); for (i = 0; i < n; i++) { k = rand(); void *o = sp_object(st_r.db); t( o != NULL ); t( sp_setstring(o, "key", &k, sizeof(k)) == 0 ); o = sp_get(st_r.db, o); t( o != NULL ); t( *(uint32_t*)sp_getstring(o, "value", NULL) == k ); sp_destroy(o); print_current(i); }}
开发者ID:holys,项目名称:sophia,代码行数:31,
示例17: workflow_upsertstatic inline intworkflow_upsert(void *env, void *db){ void *o = sp_document(db); if (o == NULL) return -1; int up = 777; int i = 0; sp_setstring(o, "key", &i, sizeof(i)); sp_setstring(o, "value", &up, sizeof(up)); int rc = sp_upsert(db, o); if (rc == -1) return -1; o = sp_document(db); if (o == NULL) return -1; up = 778; sp_setstring(o, "key", &i, sizeof(i)); sp_setstring(o, "value", &up, sizeof(up)); rc = sp_upsert(db, o); if (rc == -1) return -1; o = sp_document(db); if (o == NULL) return -1; sp_setstring(o, "key", &i, sizeof(i)); o = sp_get(db, o); if (o == NULL) return -1; t( *(int*)sp_getstring(o, "value", NULL) == 778 ); sp_destroy(o); return 0;}
开发者ID:Alexey-Ivanensky,项目名称:sophia,代码行数:33,
示例18: github_118static voidgithub_118(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_open(env) == 0 ); void *db = sp_getobject(env, "db.test"); t( db != NULL ); unsigned key = 123456; void *o = sp_document(db); t( o != NULL ); t( sp_setstring(o, "key", &key, sizeof(key)) == 0 ); t( sp_set(db, o) == 0 ); o = sp_document(db); t( o != NULL ); t( sp_setstring(o, "key", &key, sizeof(key)) == 0 ); o = sp_get(db, o); t( o != NULL ); sp_destroy(o); t( sp_getint(env, "db.test.index.count") == 1 ); char *sz = sp_getstring(env, "db.test.index.temperature_histogram", NULL); t( strcmp(sz, "[0]:1-1 ") == 0 ); free(sz); t( sp_destroy(db) == 0 ); t( sp_destroy(env) == 0 );}
开发者ID:leitao,项目名称:sophia,代码行数:35,
示例19: meta_empty_keystatic voidmeta_empty_key(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_setstring(env, "db", "test", 0) == 0 ); void *db = sp_getobject(env, "db.test"); t( db != NULL ); t( sp_open(env) == 0 ); void *o = sp_object(db); t( sp_setstring(o, "key", "", 0) == 0 ); t( sp_set(db, o) == 0 ); o = sp_object(db); t( sp_setstring(o, "key", "", 0) == 0 ); o = sp_get(db, o); t( o != NULL ); int key_size; void *key = sp_getstring(o, "key", &key_size); t( key_size == 0 ); t( key != NULL ); sp_destroy(o); t( sp_destroy(env) == 0 );}
开发者ID:Wanderfalke,项目名称:sophia,代码行数:30,
示例20: error_test0static voiderror_test0(void){ void *env = sp_env(); t( env != NULL ); t( sp_getstring(env, "sophia.error", 0) == NULL ); t( sp_destroy(env) == 0 );}
开发者ID:ConfusedReality,项目名称:sophia,代码行数:8,
示例21: compact_delete1static voidcompact_delete1(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_setint(env, "compaction.0.branch_wm", 1) == 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.scheme", "key", 0) == 0 ); t( sp_setstring(env, "db.test.scheme.key", "u32,key", 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(env) == 0 ); int key = 0; while (key < 20) { 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_setint(env, "db.test.compact", 0) == 0 ); key = 0; while (key < 20) { void *o = sp_document(db); t( o != NULL ); t( sp_setstring(o, "key", &key, sizeof(key)) == 0 ); t( sp_delete(db, o) == 0 ); key++; } t( sp_setint(env, "db.test.branch", 0) == 0 ); t( sp_setint(env, "db.test.compact", 0) == 0 ); void *o = sp_document(db); t( o != NULL ); void *cur = sp_cursor(env); t( o != NULL ); int i = 0; while ((o = sp_get(cur, o))) { t( *(int*)sp_getstring(o, "key", NULL) == i ); i++; } t( i == 0 ); t( sp_destroy(env) == 0 );}
开发者ID:mladinox,项目名称:sophia,代码行数:57,
示例22: scheme_timestamp1static voidscheme_timestamp1(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.scheme", "key", 0) == 0 ); t( sp_setstring(env, "db.test.scheme.key", "u32,key(0)", 0) == 0 ); t( sp_setstring(env, "db.test.scheme", "ts0", 0) == 0 ); t( sp_setstring(env, "db.test.scheme.ts0", "u32,timestamp", 0) == 0 ); t( sp_setstring(env, "db.test.scheme", "ts1", 0) == 0 ); t( sp_setstring(env, "db.test.scheme.ts1", "u32,timestamp", 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 ); uint32_t key = 0; while (key < 10) { void *o = sp_document(db); t( sp_setstring(o, "key", &key, sizeof(key)) == 0 ); t( sp_set(db, o) == 0 ); key++; } key = 0; void *o = sp_document(db); sp_setstring(o, "order", ">=", 0); void *c = sp_cursor(env); while ((o = sp_get(c, o))) { t( *(uint32_t*)sp_getstring(o, "key", NULL) == key ); t( *(uint32_t*)sp_getstring(o, "ts0", NULL) > 0 ); t( *(uint32_t*)sp_getstring(o, "ts1", NULL) > 0 ); key++; } t( sp_destroy(env) == 0 );}
开发者ID:muthhus,项目名称:sophia,代码行数:42,
示例23: mt_upsert2static voidmt_upsert2(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", 5) == 0 ); t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 ); t( sp_open(env) == 0 ); t( sp_setstring(env, "db", "test", 0) == 0 ); t( sp_setstring(env, "db.test.index.upsert", upsert_op, 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 ); uint32_t n = 700000; uint32_t i, k = 1234; uint32_t value = 1; void *tx = sp_begin(env); t( tx != NULL ); for (i = 0; i < n; i++) { if (i > 0 && (i % 1000) == 0) { void *o = sp_document(db); t( o != NULL ); t( sp_setstring(o, "key", &k, sizeof(k)) == 0 ); void *c = sp_cursor(env); t( c != NULL ); o = sp_get(c, o); t( o != NULL ); t( *(uint32_t*)sp_getstring(o, "value", NULL) == i); sp_destroy(o); sp_destroy(c); t( sp_commit(tx) == 0 ); tx = sp_begin(env); t( tx != NULL ); } void *o = sp_document(db); t( o != NULL ); t( sp_setstring(o, "key", &k, sizeof(k)) == 0 ); t( sp_setstring(o, "value", &value, sizeof(value)) == 0 ); t( sp_upsert(db, o) == 0 ); print_current(i); } t( sp_commit(tx) == 0 ); t( sp_destroy(env) == 0 );}
开发者ID:mknight-tag,项目名称:sophia,代码行数:54,
示例24: meta_versionstatic voidmeta_version(void){ void *env = sp_env(); t( env != NULL ); char *s = sp_getstring(env, "sophia.version", NULL); t( s != NULL ); t( strcmp(s, "1.2.3") == 0 ); free(s); t( sp_destroy(env) == 0 );}
开发者ID:v09-software,项目名称:sophia,代码行数:11,
示例25: github_104static voidgithub_104(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.scheme", "key", 0) == 0 ); t( sp_setstring(env, "db.test.scheme.key", "string,key(0)", 0) == 0 ); t( sp_setstring(env, "db.test.scheme", "value", 0) == 0 ); t( sp_setint(env, "db.test.sync", 0) == 0 ); t( sp_open(env) == 0 ); void *db = sp_getobject(env, "db.test"); t( db != NULL ); char key_a[] = "aa"; char key_b[] = "bb"; char key_c[] = "cc"; char key_d[] = "dd"; void *o = sp_document(db); t( sp_setstring(o, "key", key_a, sizeof(key_a)) == 0 ); t( sp_set(db, o) == 0 ); o = sp_document(db); t( sp_setstring(o, "key", key_b, sizeof(key_b)) == 0 ); t( sp_set(db, o) == 0 ); o = sp_document(db); t( sp_setstring(o, "key", key_c, sizeof(key_c)) == 0 ); t( sp_set(db, o) == 0 ); o = sp_document(db); t( sp_setstring(o, "key", key_d, sizeof(key_d)) == 0 ); t( sp_set(db, o) == 0 ); void *cur = sp_cursor(env); t( cur != NULL ); o = sp_document(db); t( o != NULL ); t( sp_setstring(o, "key", key_b, sizeof(key_b)) == 0 ); t( sp_setstring(o, "order", "<=", 0) == 0 ); int i = 0; while ((o = sp_get(cur, o))) { printf(" %s", (char*)sp_getstring(o, "key", 0)); i++; } fflush(NULL); t( i == 2 ); sp_destroy(cur); t( sp_destroy(env) == 0 );}
开发者ID:ConfusedReality,项目名称:sophia,代码行数:53,
示例26: hc_prepare_rollback1static voidhc_prepare_rollback1(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 ); t( sp_open(env) == 0 ); void *db = sp_getobject(env, "db.test"); int rc; void *tx = sp_begin(env); t( tx != NULL ); int key = 7; 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(tx, o) == 0 ); o = sp_document(db); t( sp_setstring(o, "key", &key, sizeof(key)) == 0 ); o = sp_get(tx, o); t( o != NULL ); t( *(int*)sp_getstring(o, "value", NULL) == key ); sp_destroy(o); t( sp_setint(tx, "half_commit", 1) == 0 ); rc = sp_commit(tx); t( rc == 0 ); rc = sp_destroy(tx); t( rc == 0 ); tx = sp_begin(env); t( tx != NULL ); 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(tx, o) == 0 ); t( sp_setint(tx, "half_commit", 1) == 0 ); rc = sp_commit(tx); t( rc == 0 ); rc = sp_commit(tx); t( rc == 0 ); t( sp_destroy(env) == 0 );}
开发者ID:Alexey-Ivanensky,项目名称:sophia,代码行数:53,
示例27: cache_test1static voidcache_test1(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 ); i = 185; while (i < 370) { 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( i == 370 ); t( sp_setint(env, "db.test.branch", 0) == 0 ); void *cur = sp_cursor(env); t( cur != NULL ); void *o = sp_object(db); i = 0; while ((o = sp_get(cur, o))) { t( *(int*)sp_getstring(o, "key", NULL) == i ); i++; } t( sp_destroy(cur) == 0 ); t( sp_getint(env, "db.test.index.read_disk") == 2 ); t( sp_getint(env, "db.test.index.read_cache") == 553 ); t( sp_destroy(env) == 0 );}
开发者ID:egmkang,项目名称:green_turtle,代码行数:52,
示例28: snapshot_getstatic voidsnapshot_get(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 ); int i = 0; while ( i < 100 ) { void *o = sp_object(db); 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_setstring(env, "snapshot", "test_snapshot", 0) == 0 ); void *snapshot = sp_getobject(env, "snapshot.test_snapshot"); t( snapshot != NULL ); i = 0; while ( i < 100 ) { void *o = sp_object(db); int value = i + 1; t( sp_setstring(o, "key", &i, sizeof(i)) == 0 ); t( sp_setstring(o, "value", &value, sizeof(value)) == 0 ); t( sp_set(db, o) == 0 ); i++; } i = 0; while ( i < 100 ) { void *o = sp_object(db); t( sp_setstring(o, "key", &i, sizeof(i)) == 0 ); o = sp_get(snapshot, o); t( *(int*)sp_getstring(o, "value", NULL) == i ); t( sp_destroy(o) == 0 ); i++; } t( sp_destroy(env) == 0 );}
开发者ID:Wanderfalke,项目名称:sophia,代码行数:51,
示例29: sn_storageinfoint sn_storageinfo(snstorage *s, snbuf *info){ int rc = 0; assert(s->env != NULL ); char buf[1024]; void *c = sp_cursor(s->env, NULL); void *o; while ((o = sp_get(c, NULL))) { int keysize = 0; int valuesize = 0; char *key = sp_getstring(o, "key", &keysize); char *value = sp_getstring(o, "value", &valuesize); int len = snprintf(buf, sizeof(buf), "%s = %s/n", key, (value) ? value : ""); rc = sn_bufadd(info, buf, len); if (snunlikely(rc == -1)) break; sp_destroy(o); } sp_destroy(c); return rc;}
开发者ID:sguzwf,项目名称:serenity,代码行数:23,
示例30: tpr_test0static voidtpr_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_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 ); t( sp_setint(env, "log.enable", 0) == 0 ); t( sp_setint(env, "log.two_phase_recover", 1) == 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.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 ); char *v = sp_getstring(env, "db.test.status", NULL); t( strcmp(v, "recover") == 0 ); free(v); t( sp_open(env) == 0 ); /* complete */ v = sp_getstring(env, "db.test.status", NULL); t( strcmp(v, "online") == 0 ); free(v); t( sp_open(db) == -1 ); t( sp_destroy(db) == 0 ); t( sp_destroy(env) == 0 );}
开发者ID:egmkang,项目名称:green_turtle,代码行数:37,
注:本文中的sp_getstring函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ sp_ienv函数代码示例 C++ sp_getobject函数代码示例 |