From 367939bffe5536875ddbcc9bd4924fc8708b542d Mon Sep 17 00:00:00 2001 From: Denis Knauf Date: Tue, 9 Mar 2010 19:16:23 +0100 Subject: [PATCH] lg_bsize added --- ext/bdb.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/ext/bdb.c b/ext/bdb.c index 3864a47..c43ef06 100644 --- a/ext/bdb.c +++ b/ext/bdb.c @@ -3052,6 +3052,26 @@ VALUE env_repmgr_stat_print(VALUE obj, VALUE flags) return Qtrue; } +VALUE env_set_lg_bsize( VALUE obj, VALUE size) { + t_envh *eh; + int rv; + Data_Get_Struct(obj, t_envh, eh); + rv = eh->env->set_lg_bsize( eh->env, NUM2UINT( size)); + if ( rv != 0 ) + raise_error(rv, "env_set_lg_bsize: %s", db_strerror(rv)); + return size; +} + +VALUE env_get_lg_bsize( VALUE obj) { + t_envh *eh; + int rv, size; + Data_Get_Struct( obj, t_envh, eh); + rv = eh->env->get_lg_bsize( eh->env, &size); + if ( rv != 0 ) + raise_error(rv, "env_get_lg_bsize: %s", db_strerror(rv)); + return INT2FIX(size); +} + static void txn_finish(t_txnh *txn) { @@ -3335,6 +3355,9 @@ EXCEPTIONS_CREATE rb_define_method(cEnv,"repmgr_start", env_repmgr_start, 2); rb_define_method(cEnv,"repmgr_stat_print", env_repmgr_stat_print, 1); + rb_define_method(cEnv,"lg_bsize=", env_set_lg_bsize, 1); + rb_define_method(cEnv,"lg_bsize", env_get_lg_bsize, 1); + cTxnStat = rb_define_class_under(mBdb,"TxnStat",rb_cObject); rb_define_method(cTxnStat,"[]",stat_aref,1);