GME  13
Modules | Functions
Berkeley DB filesystems
Filesystem interaction subsystem
Collaboration diagram for Berkeley DB filesystems:

Modules

 Berkeley DB filesystem compatibility

Functions

SVN_DEPRECATED svn_error_tsvn_fs_set_berkeley_errcall (svn_fs_t *fs, void(*handler)(const char *errpfx, char *msg))
svn_error_tsvn_fs_berkeley_logfiles (apr_array_header_t **logfiles, const char *path, svn_boolean_t only_unused, apr_pool_t *pool)

Detailed Description

Subversion filesystems based on Berkeley DB.

The following functions are specific to Berkeley DB filesystems.


Function Documentation

svn_error_t* svn_fs_berkeley_logfiles ( apr_array_header_t **  logfiles,
const char *  path,
svn_boolean_t  only_unused,
apr_pool_t pool 
)

Set *logfiles to an array of const char * log file names of Berkeley DB-based Subversion filesystem.

If only_unused is TRUE, set *logfiles to an array which contains only the names of Berkeley DB log files no longer in use by the filesystem. Otherwise, all log files (used and unused) are returned.

This function wraps the Berkeley DB 'log_archive' function called by the db_archive binary. Repository administrators may want to run this function periodically and delete the unused log files, as a way of reclaiming disk space.

SVN_DEPRECATED svn_error_t* svn_fs_set_berkeley_errcall ( svn_fs_t fs,
void(*)(const char *errpfx, char *msg)  handler 
)

Register an error handling function for Berkeley DB error messages.

Deprecated:
Provided for backward compatibility with the 1.2 API.

Despite being first declared deprecated in Subversion 1.3, this API is redundant in versions 1.1 and 1.2 as well.

Berkeley DB's error codes are seldom sufficiently informative to allow adequate troubleshooting. Berkeley DB provides extra messages through a callback function - if an error occurs, the handler will be called with two strings: an error message prefix, which will be zero, and an error message. handler might print it out, log it somewhere, etc.

Subversion 1.1 and later install their own handler internally, and wrap the messages from Berkeley DB into the standard svn_error_t object, making any information gained through this interface redundant.

It is only worth using this function if your program will be used with Subversion 1.0.

This function connects to the Berkeley DB DBENV->set_errcall interface. Since that interface supports only a single callback, Subversion's internal callback is registered with Berkeley DB, and will forward notifications to a user provided callback after performing its own processing.