static int rdb_optimize(lua_State *L){ TCRDB *rdb = rdb_getrdb(L, 1); const char *params = luaL_optstring(L, 2, NULL); lua_pushboolean(L, tcrdboptimize(rdb, params)); return 1; }
static VALUE mTokyoMessenger_optimize(int argc, VALUE *argv, VALUE vself){ VALUE vparams; const char *params = NULL; TCRDB *db = mTokyoMessenger_getdb(vself); rb_scan_args(argc, argv, "01", &vparams); if(NIL_P(vparams)) vparams = Qnil; if(vparams != Qnil) params = RSTRING_PTR(vparams); return tcrdboptimize(db, params) ? Qtrue : Qfalse; }
/* optimize */ JNIEXPORT jboolean JNICALL Java_tokyotyrant_TCRDB_optimize (JNIEnv *env, jobject self, jstring params){ TCRDB *tcrdb = (TCRDB *)(intptr_t)(*env)->GetLongField(env, self, tcrdb_fid_ptr); jboolean icp; const char *tparams = (*env)->GetStringUTFChars(env, params, &icp); if(!tparams){ throwoutmem(env); return false; } bool rv = tcrdboptimize(tcrdb, tparams); if(icp) (*env)->ReleaseStringUTFChars(env, params, tparams); return rv; }