add a new ctdb_ltdb function to delete a record in a normal database
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Mon, 6 Dec 2010 05:06:20 +0000 (16:06 +1100)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Tue, 7 Dec 2010 04:32:30 +0000 (15:32 +1100)
common/ctdb_ltdb.c
include/ctdb_private.h

index 7dc28ddf9930ca9b0b9bc022d674e8456b94f34f..35723714d0c9c6b8e886cf6990c1e4825e569381 100644 (file)
@@ -195,3 +195,22 @@ int ctdb_ltdb_unlock(struct ctdb_db_context *ctdb_db, TDB_DATA key)
        }
        return ret;
 }
+
+
+/*
+  delete a record from a normal database
+*/
+int ctdb_ltdb_delete(struct ctdb_db_context *ctdb_db, TDB_DATA key)
+{
+       struct ctdb_context *ctdb = ctdb_db->ctdb;
+
+       if (ctdb_db->persistent != 0) {
+               DEBUG(DEBUG_ERR,("Trying to delete emty record in persistent database\n"));
+               return 0;
+       }
+       if (tdb_delete(ctdb_db->ltdb->tdb, key) != 0) {
+               DEBUG(DEBUG_ERR,("Failed to delete empty record."));
+               return -1;
+       }
+       return 0;
+}
index 5fc583cb6c898ee4892147ac602e07b5c2e6bf05..243a4dda94228c00506205456e184f1d5df5b376 100644 (file)
@@ -648,6 +648,7 @@ int ctdb_ltdb_fetch(struct ctdb_db_context *ctdb_db,
                    TALLOC_CTX *mem_ctx, TDB_DATA *data);
 int ctdb_ltdb_store(struct ctdb_db_context *ctdb_db, TDB_DATA key, 
                    struct ctdb_ltdb_header *header, TDB_DATA data);
+int ctdb_ltdb_delete(struct ctdb_db_context *ctdb_db, TDB_DATA key);
 int32_t ctdb_control_start_persistent_update(struct ctdb_context *ctdb, 
                        struct ctdb_req_control *c,
                        TDB_DATA recdata);