Function lmdb_master_sys::mdb_env_copy2

source ·
pub unsafe extern "C" fn mdb_env_copy2(
    env: *mut MDB_env,
    path: *const c_char,
    flags: c_uint,
) -> c_int
Expand description

Copy an LMDB environment to the specified path, with options.

This function may be used to make a backup of an existing environment. No lockfile is created, since it gets recreated at need.

Note: This call can trigger significant file size growth if run in parallel with write transactions, because it employs a read-only transaction. See long-lived transactions under caveats_sec.

§Arguments

  • env (direction in) - An environment handle returned by #mdb_env_create(). It must have already been opened successfully.
  • path (direction in) - The directory in which the copy will reside. This directory must already exist and be writable but must otherwise be empty.
  • flags (direction in) - Special options for this operation. This parameter must be set to 0 or by bitwise OR’ing together one or more of the values described here.
  • #MDB_CP_COMPACT - Perform compaction while copying: omit free pages and sequentially renumber all pages in output. This option consumes more CPU and runs more slowly than the default. Currently it fails if the environment has suffered a page leak.
# Returns

A non-zero error value on failure and 0 on success.