Function tskit::bindings::tsk_provenance_table_update_row[][src]

pub unsafe extern "C" fn tsk_provenance_table_update_row(
    self_: *mut tsk_provenance_table_t,
    index: tsk_id_t,
    timestamp: *const c_char,
    timestamp_length: tsk_size_t,
    record: *const c_char,
    record_length: tsk_size_t
) -> c_int
Expand description

@brief Updates the row at the specified index.

@rst Rewrite the row at the specified index in this table to use the specified values. Copies of the timestamp and record parameters are taken immediately. See the :ref:table definition <sec_provenance_table_definition> for details of the columns in this table.

.. warning:: Because of the way that ragged columns are encoded, this method requires a full rewrite of the internal column memory in worst case, and would therefore be inefficient for bulk updates for such columns. However, if the sizes of all ragged column values are unchanged in the updated row, this method is guaranteed to only update the memory for the row in question. @endrst

@param self A pointer to a tsk_provenance_table_t object. @param index The row to update. @param timestamp The timestamp to be associated with new provenance. This is a pointer to arbitrary memory. Can be NULL if timestamp_length is 0. @param timestamp_length The size of the timestamp array in bytes. @param record The record to be associated with the provenance. This is a pointer to arbitrary memory. Can be NULL if record_length is 0. @param record_length The size of the record array in bytes. @return Return 0 on success or a negative value on failure.