/*
- * This file contains a set of abstractions that allow Citadel to plug into any
- * record manager or database system for its data store.
- *
* $Id$
+ *
+ * GDBM database driver for Citadel/UX
+ *
*/
/*
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
-#include <time.h>
+
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+# include <sys/time.h>
+# else
+# include <time.h>
+# endif
+#endif
+
#include <ctype.h>
#include <string.h>
#include <errno.h>
-#ifdef HAVE_GDBM_H
#include <gdbm.h>
-#endif
#include "citadel.h"
#include "server.h"
#include "database.h"
/* defrag the message base */
lprintf(7, "Defragmenting message base\n");
- begin_critical_section(S_MSGMAIN);
begin_critical_section(S_DATABASE);
gdbm_reorganize(gdbms[CDB_MSGMAIN]);
end_critical_section(S_DATABASE);
- end_critical_section(S_MSGMAIN);
/* defrag the user file, mailboxes, and user/room relationships */
lprintf(7, "Defragmenting user file\n");
return (cdbret);
}
+
+
+/*
+ * empty functions because GDBM doesn't have transaction support
+ */
+
+void cdb_begin_transaction(void) {
+}
+
+void cdb_end_transaction(void) {
+}
+
+void cdb_allocate_tsd(void) {
+}
+
+void cdb_free_tsd(void) {
+}
+
+void cdb_check_handles(void) {
+}