return database_adapter->get_by_oid(database_adapter, oid, result);
}
+
+const char *database_get_id_key(void)
+{
+ if (!database_adapter)
+ return NULL;
+
+ return database_adapter->id_key;
+}
#ifndef _DATABASE_H_
#define _DATABASE_H_
-#include <ejdb/bson.h>
-
#include "common.h"
#include "module.h"
struct faultd_database_adapter {
struct faultd_module module;
char *name;
+ const char *id_key;
int (*store)(struct faultd_database_adapter *adapter,
struct faultd_object *obj, faultd_oid_t *oid);
int database_get_by_oid(faultd_oid_t *oid, struct faultd_object *result);
int database_load(struct faultd_object *query, struct faultd_object *result, uint32_t *nr);
int database_new_oid(faultd_oid_t *oid);
+const char *database_get_id_key(void);
#endif /* _DATABASE_H_ */
faultd_object_new(&obj);
database_new_oid(&oid);
- faultd_object_append_oid(obj, JDBIDKEYNAME, &oid);
+ faultd_object_append_oid(obj, database_get_id_key(), &oid);
faultd_event_serialize(ev, obj);
database_store(obj, &ev->oid);
.cleanup = cleanup_nop_adapter,
.node = LIST_HEAD_INIT(nop_adapter.database_adapter.module.node),
},
+ .id_key = "id",
.store = nop_store,
.get_by_oid = nop_get_by_oid,
.load = nop_load,
.cleanup = cleanup_ejdb_adapter,
.node = LIST_HEAD_INIT(ejdb_adapter.database_adapter.module.node),
},
+ .id_key = JDBIDKEYNAME,
.store = ejdb_store,
.get_by_oid = ejdb_get_by_oid,
.load = ejdb_load,