* Fall back using fetch_locked if no genuine fetch operation is provided
*/
-NTSTATUS dbwrap_fallback_fetch(struct db_context *db, TALLOC_CTX *mem_ctx,
- TDB_DATA key, TDB_DATA *data)
+static NTSTATUS dbwrap_fallback_fetch(struct db_context *db,
+ TALLOC_CTX *mem_ctx,
+ TDB_DATA key, TDB_DATA *data)
{
struct db_record *rec;
if (value == NULL) {
return NT_STATUS_INVALID_PARAMETER;
}
-
+ if (db->fetch == NULL) {
+ return dbwrap_fallback_fetch(db, mem_ctx, key, value);
+ }
return db->fetch(db, mem_ctx, key, value);
}
tdb_flags, open_flags, mode);
}
- if ((result != NULL) && (result->fetch == NULL)) {
- result->fetch = dbwrap_fallback_fetch;
- }
if ((result != NULL) && (result->parse_record == NULL)) {
result->parse_record = dbwrap_fallback_parse_record;
}
bool persistent;
};
-NTSTATUS dbwrap_fallback_fetch(struct db_context *db, TALLOC_CTX *mem_ctx,
- TDB_DATA key, TDB_DATA *data);
-
-
int dbwrap_fallback_parse_record(struct db_context *db, TDB_DATA key,
int (*parser)(TDB_DATA key,
TDB_DATA data,