X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibmdb%2Fmdb.h;h=9075c41e0c6d929f0556fdca2aed1d9df7e348dd;hb=68143e4532ba3b3dccdb4e80665140542170d6d6;hp=7653542e6b323f5308f05aefd21becfa32e83513;hpb=7a40080dd185cdce547769a6c747238a54c1013e;p=openldap diff --git a/libraries/libmdb/mdb.h b/libraries/libmdb/mdb.h index 7653542e6b..9075c41e0c 100644 --- a/libraries/libmdb/mdb.h +++ b/libraries/libmdb/mdb.h @@ -189,6 +189,14 @@ typedef void (MDB_rel_func)(MDB_val *item, void *oldptr, void *newptr, void *rel #define MDB_NODUPDATA 0x20 /** For mdb_cursor_put: overwrite the current key/data pair */ #define MDB_CURRENT 0x40 +/** For put: Just reserve space for data, don't copy it. Return a + * pointer to the reserved space. + */ +#define MDB_RESERVE 0x10000 +/** Data is being appended, don't split full pages. */ +#define MDB_APPEND 0x20000 +/** Store multiple data items in one call. */ +#define MDB_MULTIPLE 0x40000 /* @} */ /** @brief Cursor Get operations. @@ -307,6 +315,12 @@ int mdb_env_create(MDB_env **env); * across multiple invocations. This option may not always work, depending on * how the operating system has allocated memory to shared libraries and other uses. * The feature is highly experimental. + *
  • #MDB_NOSUBDIR + * By default, MDB creates its environment in a directory whose + * pathname is given in \b path, and creates its data and lock files + * under that directory. With this option, \b path is used as-is for + * the database main data file. The database lock file is the \b path + * with "-lock" appended. *
  • #MDB_NOSYNC * Don't perform a synchronous flush after committing a transaction. This means * transactions will exhibit the ACI (atomicity, consistency, and isolation) @@ -836,6 +850,18 @@ int mdb_cursor_open(MDB_txn *txn, MDB_dbi dbi, MDB_cursor **cursor); */ void mdb_cursor_close(MDB_cursor *cursor); + /** @brief Return the cursor's transaction handle. + * + * @param[in] cursor A cursor handle returned by #mdb_cursor_open() + */ +MDB_txn *mdb_cursor_txn(MDB_cursor *cursor); + + /** @brief Return the cursor's database handle. + * + * @param[in] cursor A cursor handle returned by #mdb_cursor_open() + */ +MDB_dbi mdb_cursor_dbi(MDB_cursor *cursor); + /** @brief Retrieve by cursor. * * This function retrieves key/data pairs from the database. The address and length