您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ sp_env函数代码示例

51自学网 2021-06-03 08:08:03
  C++
这篇教程C++ sp_env函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中sp_env函数的典型用法代码示例。如果您正苦于以下问题:C++ sp_env函数的具体用法?C++ sp_env怎么用?C++ sp_env使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了sp_env函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: multi_process

static voidmulti_process(void) {	void *env = sp_env();	t( env != NULL );	t( sp_ctl(env, SPDIR, SPO_CREAT|SPO_RDWR, dbrep1) == 0 );	void *db = sp_open(env);	t( db != NULL );	int pid = fork();	t( pid != -1 );	if (pid == 0) {		/* new process */		void *env2 = sp_env();		t( env2 != NULL );		t( sp_ctl(env2, SPDIR, SPO_CREAT|SPO_RDWR, dbrep1) == 0 );		void *db2 = sp_open(env2);		t( db2 == NULL );		t( sp_destroy(env2) == 0 );		/* valgrind: parent db and env are unfreed here, and that		 *           is correct otherwise destroy would		 *           corrupt the database.		*/		exit(0);	} else {		int status = 0;		t( waitpid(pid, &status, 0) == pid );		t( status == 0 );	}	t( sp_destroy(db) == 0 );	t( sp_destroy(env) == 0 );	rmrf(dbrep1);}
开发者ID:FromPointer,项目名称:sophia,代码行数:31,


示例2: repository_test4

static voidrepository_test4(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, "sophia.path_create", 0) == 0 );	t( sp_setint(env, "log.enable", 0) == 0 );	t( sp_setint(env, "scheduler.threads", 0) == 0 );	t( sp_open(env) == -1 );	t( sp_destroy(env) == 0 );	t( exists("sophia", "") == 0 );	mkdir("sophia", 0755);	env = sp_env();	t( env != NULL );	t( sp_setstring(env, "sophia.path", "sophia", 0) == 0 );	t( sp_setint(env, "sophia.path_create", 0) == 0 );	t( sp_setint(env, "scheduler.threads", 0) == 0 );	t( sp_setint(env, "log.enable", 0) == 0 );	t( sp_setstring(env, "db", "test", 0) == 0 );	t( sp_setint(env, "db.test.sync", 0) == 0 );	t( sp_open(env) == 0 );	t( exists("sophia", "test") == 1 );	t( sp_destroy(env) == 0 );}
开发者ID:mneumann,项目名称:sophia,代码行数:31,


示例3: single_process_2

static voidsingle_process_2(void) {	void *env = sp_env();	t( env != NULL );	t( sp_ctl(env, SPDIR, SPO_CREAT|SPO_RDWR, dbrep1) == 0 );	t( sp_ctl(env, SPCMP, cmp, NULL) == 0 );	void *db = sp_open(env);	t( db != NULL );	void *env2 = sp_env();	t( env != NULL );	t( sp_ctl(env2, SPDIR, SPO_CREAT|SPO_RDWR, dbrep2) == 0 );	t( sp_ctl(env2, SPCMP, cmp, NULL) == 0 );	void *db2 = sp_open(env2);	t( db2 != NULL );	uint32_t k = 1;	t( sp_set(db2, &k, sizeof(k), &k, sizeof(k)) == 0 );	size_t vsize = 0;	void *vp = NULL;	t( sp_get(db2, &k, sizeof(k), &vp, &vsize) == 1 );	t( vsize == sizeof(k) );	t( *(uint32_t*)vp == k );	free(vp);	k = 3;	t( sp_set(db, &k, sizeof(k), &k, sizeof(k)) == 0 );	t( sp_get(db, &k, sizeof(k), &vp, &vsize) == 1 );	t( vsize == sizeof(k) );	t( *(uint32_t*)vp == k );	free(vp);	t( sp_destroy(db) == 0 );	t( sp_destroy(env) == 0 );	t( sp_destroy(db2) == 0 );	t( sp_destroy(env2) == 0 );	t( rmrf(dbrep1) == 0 );	t( rmrf(dbrep2) == 0 );}
开发者ID:FromPointer,项目名称:sophia,代码行数:35,


示例4: repository_test4

static voidrepository_test4(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.path_create", 0) == 0 );	t( sp_setint(env, "log.enable", 0) == 0 );	t( sp_setint(env, "scheduler.threads", 0) == 0 );	t( sp_open(env) == -1 );	t( sp_destroy(env) == 0 );	t( exists(st_r.conf->sophia_dir, "") == 0 );	mkdir(st_r.conf->sophia_dir, 0755);	env = sp_env();	t( env != NULL );	t( sp_setstring(env, "sophia.path", st_r.conf->sophia_dir, 0) == 0 );	t( sp_setint(env, "sophia.path_create", 0) == 0 );	t( sp_setint(env, "scheduler.threads", 0) == 0 );	t( sp_setint(env, "log.enable", 0) == 0 );	t( sp_setstring(env, "db", "test", 0) == 0 );	t( sp_setint(env, "db.test.sync", 0) == 0 );	t( sp_open(env) == 0 );	t( exists(st_r.conf->sophia_dir, "test") == 1 );	t( sp_destroy(env) == 0 );}
开发者ID:Alexey-Ivanensky,项目名称:sophia,代码行数:28,


示例5: workflow_test

voidworkflow_test(char *injection){	workflow_upsert_n = 0;	int i = 0;	int j = 0;	for (;; i++) {		st_scene_rmrf(NULL);		fprintf(st_r.output, " %d", i);		fflush(NULL);		/* open */		void *env = sp_env();		t( env != NULL );		t( sp_setint(env, injection, i) == 0 );		void *db = workflow_open(env);		if (db == NULL) {			sp_destroy(env); /* close(2) might fail */			continue;		}		/* write, transaction, read, get, cursor */		int rc = workflow_write_read(env, db);		if (rc == -1) {			sp_destroy(env);			continue;		}		/* upsert */		rc = workflow_upsert(env, db);		if (rc == -1) {			sp_destroy(env);			continue;		}		/* branch + compaction */		rc = workflow_compaction(env, db);		if (rc == -1) {			sp_destroy(env);			continue;		}		/* snapshot */		rc = workflow_snapshot(env, db);		if (rc == -1) {			sp_destroy(env);			continue;		}		sp_destroy(env);		/* recover */		env = sp_env();		t( env != NULL );		t( sp_setint(env, injection, j) == 0 );		db = workflow_open(env);		if (db == NULL) {			j++;			sp_destroy(env);			continue;		}		sp_destroy(env);		break;	}}
开发者ID:Alexey-Ivanensky,项目名称:sophia,代码行数:59,


示例6: scheme_test0

static 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,


示例7: meta_scheduler

static 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,


示例8: meta_db

static 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,


示例9: meta_cursor

static 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,


示例10: leak_set

static voidleak_set(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.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 key = 123;	void *o = sp_document(db);	t( sp_setstring(o, "key", &key, sizeof(key)) == 0 );	t( sp_set(db, o) == 0 );	key = 124;	o = sp_document(db);	t( sp_setstring(o, "key", &key, sizeof(key)) == 0 );	t( sp_set(db, o) == 0 );	t( sp_getint(env, "performance.documents") == 2 );	t( sp_setint(env, "db.test.branch", 0) == 0 );	t( sp_getint(env, "performance.documents") == 0 );	t( sp_destroy(env) == 0 );}
开发者ID:ifzz,项目名称:sophia,代码行数:33,


示例11: meta_empty_key

static 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,


示例12: mt_quota_checkpoint

static voidmt_quota_checkpoint(stc *cx){	cx->env = sp_env();	t( cx->env != NULL );	void *c = sp_ctl(cx->env);	t( c != NULL );	t( sp_set(c, "sophia.path", cx->suite->sophiadir) == 0 );	t( sp_set(c, "memory.limit", "524288") == 0 ); /* 512k */	/* use default settings */	t( sp_set(c, "scheduler.threads", "5") == 0 );	t( sp_set(c, "log.path", cx->suite->logdir) == 0 );	t( sp_set(c, "log.sync", "0") == 0 );	t( sp_set(c, "log.rotate_sync", "0") == 0 );	t( sp_set(c, "db", "test") == 0 );	t( sp_set(c, "db.test.path", cx->suite->dir) == 0 );	t( sp_set(c, "db.test.sync", "0") == 0 );	t( sp_set(c, "db.test.index.cmp", "u32", NULL) == 0 );	cx->db = sp_get(c, "db.test");	t( cx->db != NULL );	t( sp_open(cx->env) == 0 );	char value[1000];	memset(value, 0, sizeof(value));	int i = 0;	while (i < 20000) { /* ~ 20Mb */		void *o = sp_object(cx->db);		assert(o != NULL);		sp_set(o, "key", &i, sizeof(i));		sp_set(o, "value", value, sizeof(value));		int rc = sp_set(cx->db, o);		t( rc == 0 );		i++;	}	t( sp_destroy(cx->env) == 0 );}
开发者ID:bhdz,项目名称:sophia,代码行数:35,


示例13: gh_29

static voidgh_29(void) {	void *env = sp_env();	t( env != NULL );	t( sp_ctl(env, SPDIR, SPO_CREAT|SPO_RDWR, dbrep) == 0 );	void *db = sp_open(env);	t( db != NULL );	int i;	for (i = 1; i <= 10; i++)  {		char key[4];		int len = snprintf(key, sizeof(key), "%d", i);		t( sp_set(db, key, len, key, len) == 0 );	}	for (i = 1; i <= 10; i++) {		char key[4];		int len = snprintf(key, sizeof(key), "%d", i);		size_t vsize = 0;		void *vp = NULL;		t( sp_get(db, key, len, &vp, &vsize) == 1 );		t( vsize == len );		t( memcmp(key, vp, len) == 0 );		free(vp);	}	t( sp_destroy(db) == 0 );	t( sp_destroy(env) == 0 );	t( rmrf(dbrep) == 0 );}
开发者ID:FromPointer,项目名称:sophia,代码行数:27,


示例14: compact_temperature

static voidcompact_temperature(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_setint(env, "compaction.0.compact_mode", 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.temperature", 1) == 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 );	t( sp_destroy(env) == 0 );}
开发者ID:mladinox,项目名称:sophia,代码行数:35,


示例15: github_123

static voidgithub_123(void){	rmrf("./abc");	rmrf("./abc_log");	void *env = sp_env();	t( env != NULL );	char path[] = { '.', '/', 'a', 'b', 'c' };	char path_log[] = { '.', '/', 'a', 'b', 'c', '_', 'l', 'o', 'g' };	char name[] = { 't', 'e', 's', 't' };	t( sp_setstring(env, "sophia.path", path, sizeof(path)) == 0 );	t( sp_setstring(env, "db", name, sizeof(name)) == 0 );	t( sp_setstring(env, "log.path", path_log, sizeof(path_log)) == 0 );	t( sp_open(env) == 0 );	t( exists("./", "abc") == 1 );	t( exists("./", "abc_log") == 1 );	void *db = sp_getobject(env, "db.test");	t( db != NULL );	t( sp_destroy(env) == 0 );	rmrf("./abc");	rmrf("./abc_log");}
开发者ID:ConfusedReality,项目名称:sophia,代码行数:29,


示例16: snapshot_create_delete

static voidsnapshot_create_delete(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 );	t( sp_setstring(env, "snapshot", "test_snapshot", 0) == 0 );	void *snapshot = sp_getobject(env, "snapshot.test_snapshot");	t( snapshot != NULL );	t( sp_destroy(snapshot) == 0 );	snapshot = sp_getobject(env, "snapshot.test_snapshot");	t( snapshot == NULL );	t( sp_destroy(env) == 0 );}
开发者ID:Wanderfalke,项目名称:sophia,代码行数:25,


示例17: checkpoint_test2

static voidcheckpoint_test2(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_setstring(env, "db", "test", 0) == 0 );	t( sp_setint(env, "db.test.sync", 0) == 0 );	t( sp_open(env) == 0 );	t( sp_getint(env, "db.test.scheduler.checkpoint") == 0 );	t( sp_getint(env, "db.test.scheduler.checkpoint_lsn") == 0 );	t( sp_getint(env, "db.test.scheduler.checkpoint_lsn_last") == 0 );	t( sp_setint(env, "db.test.compaction.checkpoint", 0) == 0 );	t( sp_getint(env, "db.test.scheduler.checkpoint") == 1 );	t( sp_getint(env, "db.test.scheduler.checkpoint_lsn") == 0 );	t( sp_getint(env, "db.test.scheduler.checkpoint_lsn_last") == 0 );	t( sp_setint(env, "scheduler.run", 0) == 0 );	t( sp_setint(env, "scheduler.run", 0) == 0 );	t( sp_getint(env, "db.test.scheduler.checkpoint") == 0 );	t( sp_getint(env, "db.test.scheduler.checkpoint_lsn") == 0 );	t( sp_getint(env, "db.test.scheduler.checkpoint_lsn_last") == 0 );	t( sp_destroy(env) == 0 );}
开发者ID:ConfusedReality,项目名称:sophia,代码行数:33,


示例18: todo_db_new

todo_db_t *todo_db_new (char *path) {  int rc;  void *env;  todo_db_t *db = malloc(sizeof(todo_db_t));  // bail if failed to allocate memoery  if (NULL == db) return NULL;  env = sp_env();  // error in memoery allocation  if (NULL == env) return NULL;  // create if not exists in read-write mode  rc = sp_ctl(env, SPDIR, SPO_CREAT|SPO_RDWR, path);  // turn on garbage collection  sp_ctl(env, SPGC, 1);  if (-1 == rc) {    todo_ferror("%s/n", sp_error(env));    sp_destroy(env);    return NULL;  }  db->env = env;  db->path = path;  return db;}
开发者ID:jwerle,项目名称:todo.c,代码行数:31,


示例19: object_readonly1

static voidobject_readonly1(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 );	t( sp_set(db, o) == 0 );	o = sp_object(db);	t( o != NULL );	t( sp_setstring(o, "order", ">", 0) == 0 );	void *c = sp_cursor(db, o);	o = sp_get(c, NULL);	t( o != NULL );	t( sp_setstring(o, "key", &key, sizeof(key)) == -1 );	sp_destroy(o);	sp_destroy(c);	sp_destroy(env);}
开发者ID:mneumann,项目名称:sophia,代码行数:35,


示例20: mt_single_stmt

static voidmt_single_stmt(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", 3) == 0 );	t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 );	t( sp_setint(env, "log.rotate_sync", 0) == 0 );	t( sp_setint(env, "log.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 );	void *db = sp_getobject(env, "db.test");	t( db != NULL );	t( sp_open(env) == 0 );	ssthreadpool p;	ss_threadpool_init(&p);	t( ss_threadpool_new(&p, &st_r.a, 5, single_stmt_thread, db) == 0 );	t( ss_threadpool_shutdown(&p, &st_r.a) == 0 );	t (sp_getint(env, "db.test.index.count") == 100000 );	t( sp_destroy(env) == 0 );}
开发者ID:mladinox,项目名称:sophia,代码行数:26,


示例21: mt_multi_stmt_conflict0

static voidmt_multi_stmt_conflict0(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", 3) == 0 );	t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 );	t( sp_setint(env, "log.rotate_sync", 0) == 0 );	t( sp_setint(env, "log.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 );	/* conflict source */	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 );	ssthreadpool p;	ss_threadpool_init(&p);	void *ptr[2] = { env, db };	t( ss_threadpool_new(&p, &st_r.a, 5, multi_stmt_conflict_thread0, ptr) == 0 );	t( ss_threadpool_shutdown(&p, &st_r.a) == 0 );	t( sp_destroy(env) == 0 );}
开发者ID:mladinox,项目名称:sophia,代码行数:29,


示例22: object_set_get

static 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,


示例23: multipart_schema

static 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,


示例24: npr_test4

static voidnpr_test4(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 );	t( sp_destroy(env) == 0 );}
开发者ID:dongxu-pc,项目名称:sophia,代码行数:25,


示例25: ddl_constraint

static voidddl_constraint(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_setstring(env, "db.test.index", "key-2", 0) == 0 );	t( sp_setstring(env, "db.test.index", "key-3", 0) == 0 );	t( sp_setstring(env, "db.test.index", "key-4", 0) == 0 );	t( sp_setstring(env, "db.test.index", "key-5", 0) == 0 );	t( sp_setstring(env, "db.test.index", "key-6", 0) == 0 );	t( sp_setstring(env, "db.test.index", "key-7", 0) == 0 );	t( sp_setstring(env, "db.test.index", "key-8", 0) == 0 );	t( sp_setstring(env, "db.test.index", "key-9", 0) == -1 );	t( sp_setint(env, "db.test.sync", 0) == 0 );	void *db = sp_getobject(env, "db.test");	t( db != NULL );	t( sp_open(db) == 0 );	t( sp_destroy(env) == 0 );}
开发者ID:haifenghuang,项目名称:sophia,代码行数:27,


示例26: transaction_batch_test1

static voidtransaction_batch_test1(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.scheme", "key", 0) == 0 );	t( sp_setstring(env, "db.test.scheme.key", "u32,key(0)", 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 *tx = sp_begin(env);	t( tx != NULL );	uint32_t a = 7;	void *o = sp_document(db);	t( o != NULL );	t( sp_setstring(o, "key", &a, sizeof(a)) == 0 );	t( sp_set(tx, o) == 0 );	t( sp_setstring(tx, "isolation", "batch", 0) == -1 );	t( sp_destroy(tx) == 0 );	t( sp_destroy(env) == 0 );}
开发者ID:muthhus,项目名称:sophia,代码行数:31,


示例27: hc_prepare_commit_empty

static voidhc_prepare_commit_empty(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 );	int rc;	void *tx = sp_begin(env);	t( tx != NULL );	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,代码行数:25,


示例28: gh_5

static voidgh_5(void) {	void *env = sp_env();	t( env != NULL );	t( sp_ctl(env, SPDIR, SPO_CREAT|SPO_RDWR, dbrep) == 0 );	void *db = sp_open(env);	t( db != NULL );	char k1[] = "key-1";	char v1[] = "val-1";	t( sp_set(db, k1, sizeof(k1), v1, sizeof(v1)) == 0);	char k2[] = "key-10";	char v2[] = "val-10";	t( sp_set(db, k2, sizeof(k2), v2, sizeof(v2)) == 0);	size_t ressize = 0;	void *res = NULL;	t( sp_get(db, k1, sizeof(k1), &res, &ressize) == 1 );	t( ressize == sizeof(v1) );	t( strcmp(v1, res) == 0 );	free(res);	t( sp_destroy(db) == 0 );	t( sp_destroy(env) == 0 );	t( rmrf(dbrep) == 0 );}
开发者ID:FromPointer,项目名称:sophia,代码行数:29,


示例29: drop_test

static voiddrop_test(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 );	void *txn = sp_begin(env);	t( txn != NULL );	sp_destroy(db); /* unref */	t( sp_drop(db) == 0); /* scheduler drop */	void *dbp = sp_getobject(env, "db.test");	t( dbp == NULL );	t( sp_setint(env, "scheduler.run", 0) == 0 );	t( sp_destroy(txn) == 0 );	t( exists(st_r.conf->db_dir, "") == 1 );	t( sp_setint(env, "scheduler.run", 0) == 1 ); /* proceed drop */	t( exists(st_r.conf->db_dir, "") == 0 );	t( sp_destroy(env) == 0 );}
开发者ID:Alexey-Ivanensky,项目名称:sophia,代码行数:35,


示例30: mt_multi_stmt

static voidmt_multi_stmt(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", 3) == 0 );	t( sp_setstring(env, "log.path", st_r.conf->log_dir, 0) == 0 );	t( sp_setint(env, "log.rotate_sync", 0) == 0 );	t( sp_setint(env, "log.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 );	void *db = sp_getobject(env, "db.test");	t( db != NULL );	t( sp_open(env) == 0 );	seworkerpool p;	se_workerpool_init(&p);	void *ptr[2] = { env, db };	t( se_workerpool_new(&p, &st_r.r, 5, multi_stmt_thread, ptr) == 0 );	t( se_workerpool_shutdown(&p, &st_r.r) == 0 );	t (sp_getint(env, "db.test.index.count") == 100000 );	t( sp_destroy(env) == 0 );}
开发者ID:egmkang,项目名称:green_turtle,代码行数:27,



注:本文中的sp_env函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ sp_error_message函数代码示例
C++ sp_document函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。