天天看点

bdb 设置压缩函数set_bt_compress

电子书Berkeley DB Programmer's Reference Guide在Btree access method specific configuration章节介绍了Btree设置压缩函数set_bt_compress的使用。

设置Btree压缩函数

C原型:DB->set_bt_compress()

int
DB->set_bt_compress(DB *db,
    int (*bt_compress_fcn)(DB *db, const DBT *prevKey,
        const DBT *prevData, const DBT *key, const DBT *data, DBT *dest),
    int (*bt_decompress_fcn)(DB *db, const DBT *prevKey,
        const DBT *prevData, DBT *compressed, DBT *destKey,
        DBT *destData)); 
           

C++原型:Db::set_bt_compress()

int
Db::set_bt_compress(bt_compress_fcn_type bt_compress_fcn,
    bt_decompress_fcn_type bt_decompress_fcn);
           

默认压缩函数在所有key上执行前缀压缩,当压缩后的key与前一个相同时,则对data进行压缩。若要使用定制的压缩函数,则需要提供其相应的解压函数。

该函数在bdb 4.8以上的版本引入。

参考链接:

http://space.itpub.net/263089/viewspace-684038