gd_flush(3)

NAME
gd_flush gd_raw_close gd_sync — write all pending Dirfile changes to disk or close open raw fields

SYNOPSIS
#include <getdata.h>

int gd_flush(DIRFILE *dirfile, const char *field_code);

int gd_raw_close(DIRFILE *dirfile, const char *field_code);

int gd_sync(DIRFILE *dirfile, const char *field_code);

DESCRIPTION
The function flushes all pending writes to disk of raw data files associated with or its input(s), in the dirfile specified by If the contains a valid representation suffix, it will be ignored. As a special case, if NULL is passed to as all fields in will be flushed. In this special case, modified metadata will also be flushed to disk as if had been called. If the dirfile has been opened read-only, this function does nothing. Additionally, some encoding schemes may implement this as a NOP.

The function closes any raw data files which GetData has opened associated with or its input(s). Again, if is NULL, all open data files are closed. The I/O pointer of any RAW field which is closed is reset to the beginning-of-field.

Calling is essentially equivalent to calling first and then (ie. it does both tasks), although, if is NULL, the order of operations if may be different than making the two explicit calls.

RETURN VALUE
On success, these functions return zero. On error, a negative-valued error code is returned. Possible error codes are: The library was unable to allocate memory. The field specified by was not found in the database. The supplied dirfile was invalid. An I/O error occurred while trying to write modified data or metadata to disk. While attempting to flush modified metadata to disk, a field specification line exceeded the maximum allowed length. On most platforms, the maximum length is at least 2**31 bytes, so this typically indicates something pathological happening. Too many levels of recursion were encountered while trying to resolve This usually indicates a circular dependency in field specification in the dirfile.

The error code is also stored in the DIRFILE object and may be retrieved after this function returns by calling A descriptive error string for the error may be obtained by calling

HISTORY
The function appeared in GetData-0.3.0. In GetData-0.7.0, this function was renamed to The and functions appeared in GetData-0.8.0. In GetData-0.10.0, the error return from these functions changed from -1 to a negative-valued error code.

SEE ALSO