Delete a specific version of a column in the row that was fetched
APIs used
The APIs that are used are defined in the header file
mutations.h.
- 
               
hb_delete_add_column(): Set the column criteria for hb_delete_t object. Set the qualifier to NULL to delete all columns of a family. Only the cells with timestamp less than or equal to the specified timestamp are deleted. Set the timestamp toINT64_MAXto delete all versions of the column. This API is optional for deletes. - 
               
hb_delete_create(): Creates a structure for delete operation and return its handle. - 
               
hb_mutation_set_table(): Sets the table name for the mutation. - 
               
hb_mutation_send(): Queues the put operation for sending to the server. Mutations are not performed atomically and can be batched in a non-deterministic way on either the client side or the server side. Any buffer attached to a mutation object (put or delete) must not be altered until the callback has been received. 
Sequence of steps
- Create a delete object for a row with a particular row key.
 - Add a column to the delete object.
 - Specify the name of the table from which to delete the cell version.
 - Queue the delete.
 - Wait three seconds for the delete to be flushed, then wait for the RPC call to complete.
 
Code
  // delete a specific version of a column
  {
    bytebuffer rowKey = bytebuffer_strcpy("row_with_two_cells");
    hb_delete_t del = NULL;
    hb_delete_create(rowKey->buffer, rowKey->length, &del);
    hb_delete_add_column(del, FAMILIES[0], 1,
        column_a->buffer, column_a->length, 1391111111112L);
    hb_mutation_set_table(del, table_name, table_name_len);
    delete_done = false;
    hb_mutation_send(client, del, delete_callback, rowKey);
    wait_for_delete();
  }