int sv_indexfree(svindex *i, sr *r) { if (i->i.root) sv_indextruncate(i->i.root, r->a); ss_rbinit(&i->i); return 0; }
int sv_indexinit(svindex *i) { i->lsnmin = UINT64_MAX; i->count = 0; i->used = 0; ss_rbinit(&i->i); return 0; }
static inline void sx_indextruncate(sxindex *i, sxmanager *m) { if (i->i.root == NULL) return; void *argv[2] = { m->r, m->asxv }; sx_truncate(i->i.root, argv); ss_rbinit(&i->i); }
static inline void sx_indextruncate(sxindex *i, sxmanager *m) { if (i->i.root == NULL) return; void *args[2] = { i->r, &m->pool }; sx_truncate(i->i.root, args); ss_rbinit(&i->i); }
int sx_indexinit(sxindex *i, sr *r, void *ptr) { ss_rbinit(&i->i); i->count = 0; i->scheme = NULL; i->ptr = ptr; i->r = r; return 0; }
int sx_indexinit(sxindex *i, sxmanager *m, sr *r, void *ptr) { ss_rbinit(&i->i); ss_listinit(&i->link); i->dsn = 0; i->ptr = ptr; i->r = r; ss_listappend(&m->indexes, &i->link); return 0; }
int sx_indexinit(sxindex *i, sxmanager *m, sr *r, so *object) { ss_rbinit(&i->i); ss_listinit(&i->link); i->dsn = 0; i->object = object; i->r = r; ss_listappend(&m->indexes, &i->link); return 0; }
int sx_managerinit(sxmanager *m, srseq *seq, ssa *a, ssa *asxv) { ss_rbinit(&m->i); m->count = 0; ss_spinlockinit(&m->lock); m->seq = seq; m->asxv = asxv; m->a = a; return 0; }
int sx_managerinit(sxmanager *m, sr *r, ssa *asxv) { ss_rbinit(&m->i); m->count_rd = 0; m->count_rw = 0; m->count_gc = 0; m->csn = 0; m->gc = NULL; ss_spinlockinit(&m->lock); ss_listinit(&m->indexes); m->r = r; m->asxv = asxv; return 0; }
int sx_managerinit(sxmanager *m, srseq *seq, ssa *a) { ss_rbinit(&m->i); m->count_rd = 0; m->count_rw = 0; m->count_gc = 0; m->csn = 0; m->gc = NULL; ss_spinlockinit(&m->lock); ss_listinit(&m->indexes); sx_vpool_init(&m->pool, a); m->seq = seq; return 0; }