From: <li...@us...> - 2002-09-26 22:24:55
|
Update of /cvsroot/freeassociation/libical/src/libicalss In directory usw-pr-cvs1:/tmp/cvs-serv18101 Modified Files: icalbdbset.c icalbdbset.h Log Message: latest updates for bdbset Index: icalbdbset.c =================================================================== RCS file: /cvsroot/freeassociation/libical/src/libicalss/icalbdbset.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- icalbdbset.c 23 Jul 2002 00:38:17 -0000 1.8 +++ icalbdbset.c 26 Sep 2002 22:24:52 -0000 1.9 @@ -12,9 +12,10 @@ #include "icalgauge.h" #include <errno.h> #include <sys/stat.h> /* for stat */ +#include <stdio.h> #ifndef WIN32 -#include <unistd.h> /* for stat, getpid */ +#include <unistd.h> /* for stat, getpid, unlink */ #include <fcntl.h> /* for fcntl */ #include <unistd.h> /* for fcntl */ #else [...1037 lines suppressed...] return 0; @@ -1322,6 +1567,16 @@ } while(c != 0); return 0; +} + +int icalbdbset_begin_transaction(DB_TXN* parent_tid, DB_TXN** tid) +{ + return (ICAL_DB_ENV->txn_begin(ICAL_DB_ENV, parent_tid, tid, 0)); +} + +int icalbdbset_commit_transaction(DB_TXN* txnid) +{ + return (txnid->commit(txnid, 0)); } Index: icalbdbset.h =================================================================== RCS file: /cvsroot/freeassociation/libical/src/libicalss/icalbdbset.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- icalbdbset.h 28 Jun 2002 10:00:29 -0000 1.3 +++ icalbdbset.h 26 Sep 2002 22:24:52 -0000 1.4 @@ -22,11 +22,12 @@ typedef enum icalbdbset_subdb_type icalbdbset_subdb_type; /** sets up the db environment, should be done in parent thread.. */ -int icalbdbset_init_dbenv(char *db_env_dir); +int icalbdbset_init_dbenv(char *db_env_dir, void (*logDbFunc)(const char*, char*)); icalset* icalbdbset_init(icalset* set, const char *dsn, void *options); -void icalbdbset_cleanup(void); +int icalbdbset_cleanup(void); void icalbdbset_checkpoint(void); +void icalbdbset_rmdbLog(void); /** Creates a component handle. flags allows caller to specify if database is internally a BTREE or HASH */ @@ -48,7 +49,7 @@ void icalbdbset_free(icalset* set); /* cursor operations */ -int icalbdbset_acquire_cursor(DB *dbp, DBC **rdbcp); +int icalbdbset_acquire_cursor(DB *dbp, DB_TXN* tid, DBC **rdbcp); int icalbdbset_cget(DBC *dbcp, DBT *key, DBT *data, int access_method); int icalbdbset_cput(DBC *dbcp, DBT *key, DBT *data, int access_method); @@ -58,6 +59,7 @@ int icalbdbset_get_key(DBC *dbcp, DBT *key, DBT *data); int icalbdbset_delete(DB *dbp, DBT *key); int icalbdbset_put(DB *dbp, DBT *key, DBT *data, int access_method); +int icalbdbset_get(DB *dbp, DB_TXN *tid, DBT *key, DBT *data, int flags); const char* icalbdbset_path(icalset* set); const char* icalbdbset_subdb(icalset* set); @@ -90,6 +92,11 @@ icalerrorenum icalbdbset_modify(icalset* set, icalcomponent *old, icalcomponent *newc); +/* cluster management functions */ +icalerrorenum icalbdbset_set_cluster(icalset* set, icalcomponent* cluster); +icalerrorenum icalbdbset_free_cluster(icalset* set); +icalcomponent* icalbdbset_get_cluster(icalset* set); + /* Iterate through components. If a gauge has been defined, these will skip over components that do not pass the gauge */ @@ -98,7 +105,7 @@ icalcomponent* icalbdbset_get_next_component(icalset* set); /* External iterator for thread safety */ -icalsetiter icalbdbset_begin_component(icalset* set, icalcomponent_kind kind, icalgauge* gauge); +icalsetiter icalbdbset_begin_component(icalset* set, icalcomponent_kind kind, icalgauge* gauge, const char* tzid); icalcomponent* icalbdbset_form_a_matched_recurrence_component(icalsetiter* itr); @@ -111,6 +118,10 @@ icalcomponent* icalbdbset_get_component(icalset* set); DB_ENV *icalbdbset_get_env(void); + + +int icalbdbset_begin_transaction(DB_TXN* parent_id, DB_TXN** txnid); +int icalbdbset_commit_transaction(DB_TXN* txnid); DB* icalbdbset_bdb_open(const char* path, const char *subdb, |