Loading...
Searching...
No Matches
Berkeley DB filesystems
Filesystem interaction subsystem

Subversion filesystems based on Berkeley DB. More...

## Topics

| Berkeley DB filesystem compatibility
| The following functions are similar to their generic counterparts.

## Functions

svn_error_t * | svn_fs_set_berkeley_errcall (svn_fs_t *fs, void(*handler)(const char *errpfx, char *msg))
| Register an error handling function for Berkeley DB error messages.
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.

## Detailed Description

Subversion filesystems based on Berkeley DB.

The following functions are specific to Berkeley DB filesystems.

## Function Documentation

## svn_fs_berkeley_logfiles()

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.

References path, and SVN_DEPRECATED.

## svn_fs_set_berkeley_errcall()

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

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.