Library Version 12.1.6.0

DB->set_blob_threshold()
Prev | Chapter 13. Binary Large Objects | Next

## DB->set_blob_threshold()

    #include <db.h>

    int
    DB->set_blob_threshold(DB *db, u_int32_t bytes, u_int32_t flags);

The `DB->set_blob_threshold()` method sets a size which is used to determine when a data item will be stored as a BLOB. Data items sized less than this threshold are stored as normal data within the database. Data items larger than this size are stored on-disk in a subdirectory set aside for the purpose.

If this threshold value is set to `0`, then BLOBs will never be used by the database.

It is illegal to set a BLOB threshold if any of the following flags were specified for the database: DB_CHKSUM, DB_ENCRYPT, DB_DUP, and DB_DUPSORT.

It is also illegal to set a BLOB threshold if compression is turned on for the database. That is, if DB->set_bt_compress() has been called for the database handle.

This method configures the underlying database. The BLOB threshold is stored in the database at database creation time. Any BLOB threshold set after creating the database is ignored.

This method may not be called after DB->open() is called.

Unless otherwise specified, the `DB->set_blob_threshold()` method returns a non-zero error value on failure and 0 on success.

### Parameters

#### bytes

The bytes parameter identifies the threshold size, in bytes, beyond which a data item is stored as a BLOB.

#### flags

The flags parameter must be set to 0.

### Errors

The `DB->set_blob_threshold()` method may fail and return one of the following non-zero errors:

#### EINVAL

If the method was called after DB->open() was called; or if an invalid flag or parameter was specified; or if compression is turned on for the database; or if the database is configured with one or more of the following flags: DB_CHKSUM, DB_ENCRYPT, DB_DUP, and DB_DUPSORT.

### Class

DB

### See Also

BLOBs and Related Methods

Prev | Up | Next
DB->set_blob_dir() | Home | DBC->db_stream()