return database_adapter->load(database_adapter, query, hints, result, nr);
}
-int database_new_oid(faultd_oid_t *oid)
-{
- if (!database_adapter)
- return -ENOSYS;
-
- return database_adapter->new_oid(database_adapter, oid);
-}
-
int database_get_well_known_oid(const char *name, faultd_oid_t *oid)
{
if (!database_adapter)
char *name;
const char *id_key;
+ /**
+ * @param[out] oid Will be filled with newly created oid
+ */
int (*store)(struct faultd_database_adapter *adapter,
struct faultd_object *obj, faultd_oid_t *oid);
struct faultd_object *query, struct faultd_object *hints,
struct faultd_object *result, uint32_t *nr);
- int (*new_oid)(struct faultd_database_adapter *adapter, faultd_oid_t *oid);
-
int (*get_well_known_oid)(const char *name, faultd_oid_t *oid);
bool (*is_oid_valid)(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 *hints,
struct faultd_object *result, uint32_t *nr);
-int database_new_oid(faultd_oid_t *oid);
int database_get_well_known_oid(const char *name, faultd_oid_t *oid);
bool database_is_oid_valid(faultd_oid_t *oid);
const char *database_get_id_key(void);
int ret;
faultd_object_new(&obj);
- ret = database_new_oid(&oid);
- if (ret < 0) {
- log_warning_errno(ret, "Database could not create new OID: %m");
- goto unref_obj;
- }
-
- faultd_object_append_oid(obj, database_get_id_key(), &oid);
faultd_event_serialize(ev, obj);
ret = database_store(obj, &ev->oid);
return 0;
}
-static int nop_new_oid(faultd_oid_t *oid)
-{
- strncpy(oid->nop, NOP_DEFAULT_OID, OID_NOP_SIZE);
- return 0;
-}
-
static int nop_store(struct faultd_database_adapter *adapter,
struct faultd_object *obj, faultd_oid_t *oid)
{
ret = faultd_object_get_oid(obj, NOP_ID_KEY_NAME, oid);
if (ret == -ENOENT) {
- nop_new_oid(oid);
- ret = 0;
+ ret = strncpy(oid->nop, NOP_DEFAULT_OID, OID_NOP_SIZE);
}
return ret;
static int nop_get_well_known_oid(const char *name, faultd_oid_t *oid)
{
- return nop_new_oid(oid);
+ return strncpy(oid->nop, NOP_DEFAULT_OID, OID_NOP_SIZE);
}
static bool nop_is_oid_valid(faultd_oid_t *oid)
.store = nop_store,
.get_by_oid = nop_get_by_oid,
.load = nop_load,
- .new_oid = nop_new_oid,
.get_well_known_oid = nop_get_well_known_oid,
.is_oid_valid = nop_is_oid_valid,
.get_event = nop_get_event,
return ret;
}
-static int ejdb_new_oid(struct faultd_database_adapter *adapter, faultd_oid_t *oid)
-{
- sd_id128_t uuid;
-
- assert(oid != NULL);
-
-
- memset(oid, 0, sizeof(*oid));
- sd_id128_randomize(&uuid);
- memcpy(&oid->bson, uuid.bytes, sizeof(*oid));
- return 0;
-}
-
static int ejdb_get_well_known_oid(const char *name, faultd_oid_t *oid)
{
int i;
.store = ejdb_store,
.get_by_oid = ejdb_get_by_oid,
.load = ejdb_load,
- .new_oid = ejdb_new_oid,
.get_well_known_oid = ejdb_get_well_known_oid,
.is_oid_valid = ejdb_is_oid_valid,
.get_event = ejdb_get_event,
return 0;
}
-static int testdb_new_oid(struct faultd_database_adapter *adapter, faultd_oid_t *oid)
-{
- return 0;
-}
-
static bool testdb_is_oid_valid(faultd_oid_t *oid)
{
return true;
.store = testdb_store,
.get_by_oid = testdb_get_by_oid,
.load = testdb_load,
- .new_oid = testdb_new_oid,
.is_oid_valid = testdb_is_oid_valid,
.get_event = testdb_get_event,
}