Exemplo n.º 1
0
static int
rdb_keys(lua_State *L){
	TCRDB *rdb = rdb_getrdb(L, 1);
	bool init = tcrdbiterinit(rdb);
	if(init){
		lua_pushcclosure(L, rdb_nextkey, 1);
	} else luaL_error(L, "unable to initialize iterator");
	return 1;
}
Exemplo n.º 2
0
static VALUE mTokyoMessenger_each_key(VALUE vself){
  VALUE vrv;
  char *kxstr;
  if(rb_block_given_p() != Qtrue) rb_raise(rb_eArgError, "no block given");
  TCRDB *db = mTokyoMessenger_getdb(vself);
  vrv = Qnil;
  tcrdbiterinit(db);
  while((kxstr = tcrdbiternext2(db)) != NULL){
    vrv = rb_yield_values(1, rb_str_new2(kxstr));
  }
  return vrv;
}
Exemplo n.º 3
0
static VALUE cDB_values(VALUE vself){
  VALUE vary;
  TCRDB *db;
  char *kxstr, *vxstr;
  Data_Get_Struct(rb_iv_get(vself, RDBVNDATA), TCRDB, db);
  vary = rb_ary_new2(tcrdbrnum(db));
  tcrdbiterinit(db);
  while((kxstr = tcrdbiternext2(db)) != NULL){
    vxstr = tcrdbget2(db, kxstr);
    rb_ary_push(vary, rb_str_new2(vxstr));
    tcfree(vxstr);
    tcfree(kxstr);
  }
  return vary;
}
Exemplo n.º 4
0
static VALUE cDB_each_value(VALUE vself){
  VALUE vrv;
  TCRDB *db;
  char *kxstr, *vxstr;
  if(rb_block_given_p() != Qtrue) rb_raise(rb_eArgError, "no block given");
  Data_Get_Struct(rb_iv_get(vself, RDBVNDATA), TCRDB, db);
  vrv = Qnil;
  tcrdbiterinit(db);
  while((kxstr = tcrdbiternext2(db)) != NULL){
    vxstr = tcrdbget2(db, kxstr);
    vrv = rb_yield_values(1, rb_str_new2(vxstr));
    tcfree(vxstr);
    tcfree(kxstr);
  }
  return vrv;
}
Exemplo n.º 5
0
static VALUE mTokyoMessenger_iterinit(VALUE vself){
  TCRDB *db = mTokyoMessenger_getdb(vself);

  return tcrdbiterinit(db) ? Qtrue : Qfalse;
}
Exemplo n.º 6
0
 bool db_obj_remote::dbiterinit()
 {
   return tcrdbiterinit(_hdb);
 }
Exemplo n.º 7
0
/* iterinit */
JNIEXPORT jboolean JNICALL Java_tokyotyrant_TCRDB_iterinit
(JNIEnv *env, jobject self){
  TCRDB *tcrdb = (TCRDB *)(intptr_t)(*env)->GetLongField(env, self, tcrdb_fid_ptr);
  return tcrdbiterinit(tcrdb);
}