# Db::set_bt_compare |

`

###

    #include <db_cxx.h>

    int Db::set_bt_compare(int (*bt_compare_fcn)(const DBT *, const DBT *));

# Description

Set the Btree key comparison function.

This comparison function must return an integer less than, equal to, or greater than zero if the first key argument is considered to be respectively less than, equal to, or greater than the second key argument. The same comparison method must be used on a given tree every time it is opened.

The data and size fields of the Dbt are the only fields that may be used for the purposes of this comparison.

If no comparison function is specified, the keys are compared lexically, with shorter keys collating before longer keys.

The Db::set_bt_compare interface may only be used to configure Berkeley DB before the Db::open interface is called.

The Db::set_bt_compare method either returns a non-zero error value or throws an exception that encapsulates a non-zero error value on failure, and returns 0 on success.

# Errors

EINVAL
  An invalid flag value or parameter was specified.

  Called after Db::open was called.

### Class

Db

# See Also

Db::close, Db::cursor, Db::del, Db::err, Db::fd, Db::get, Db::get_byteswapped, Db::get_type, Db::join, Db::open, Db::put, Db::remove, Db::set_bt_compare, Db::set_bt_minkey, Db::set_bt_prefix, Db::set_cachesize, Db::set_dup_compare, Db::set_errcall, Db::set_errfile, Db::set_errpfx, Db::set_flags, Db::set_h_ffactor, Db::set_h_hash, Db::set_h_nelem, Db::set_lorder, Db::set_malloc, Db::set_pagesize, Db::set_paniccall, Db::set_realloc, Db::set_re_delim, Db::set_re_len, Db::set_re_pad, Db::set_re_source, Db::stat, Db::sync and Db::upgrade.`

Copyright Sleepycat Software