mdb_set_compare function

int mdb_set_compare(
  1. Pointer<MDB_txn> txn,
  2. int dbi,
  3. Pointer<MDB_cmp_func> cmp
)

@brief Set a custom key comparison function for a database.

The comparison function is called whenever it is necessary to compare a key specified by the application with a key currently stored in the database. If no comparison function is specified, and no special key flags were specified with #mdb_dbi_open(), the keys are compared lexically, with shorter keys collating before longer keys. @warning This function must be called before any data access functions are used, otherwise data corruption may occur. The same comparison function must be used by every program accessing the database, every time the database is used. @paramin txn A transaction handle returned by #mdb_txn_begin() @paramin dbi A database handle returned by #mdb_dbi_open() @paramin cmp A #MDB_cmp_func function @return A non-zero error value on failure and 0 on success. Some possible errors are:

  • EINVAL - an invalid parameter was specified.

Implementation

@ffi.FfiNative<
    ffi.Int Function(ffi.Pointer<MDB_txn>, MDB_dbi,
        ffi.Pointer<MDB_cmp_func>)>('mdb_set_compare')
external int mdb_set_compare(
  ffi.Pointer<MDB_txn> txn,
  int dbi,
  ffi.Pointer<MDB_cmp_func> cmp,
);