table of contents
other versions
- jessie 0.6.0-1
- stretch 0.8.0-1+b1
- unstable 0.8.0-1+b1
- experimental 1.1.1-2
MTBL_WRITER(3) | MTBL_WRITER(3) |
NAME¶
mtbl_writer - create an MTBL fileSYNOPSIS¶
#include <mtbl.h> Writer objects:struct mtbl_writer * mtbl_writer_init(const char *fname, const struct mtbl_writer_options *wopt);
struct mtbl_writer * mtbl_writer_init_fd(int fd, const struct mtbl_writer_options *wopt);
void mtbl_writer_destroy(struct mtbl_writer **w);
mtbl_res mtbl_writer_add(struct mtbl_writer *w, const uint8_t *key, size_t len_key, const uint8_t *val, size_t len_val);Writer options:
struct mtbl_writer_options * mtbl_writer_options_init(void);
void mtbl_writer_options_destroy(struct mtbl_writer_options **wopt);
void mtbl_writer_options_set_compression( struct mtbl_writer_options *wopt, mtbl_compression_type compression_type);
void mtbl_writer_options_set_block_size( struct mtbl_writer_options *wopt, size_t block_size);
void mtbl_writer_options_set_block_restart_interval( struct mtbl_writer_options *wopt, size_t block_restart_interval);
DESCRIPTION¶
MTBL files are written to disk by creating an mtbl_writer object, calling mtbl_writer_add() for each key-value entry, and then calling mtbl_writer_destroy(). mtbl_writer_add() copies key-value pairs from the caller into the mtbl_writer object. Keys are specified as a pointer to a buffer, key, and the length of that buffer, len_key. Values are specified as a pointer to a buffer, val, and the length of that buffer, len_val. Keys must be in sorted, lexicographical byte order. The same key may not be added to an mtbl_writer more than once. If the input entries are not sorted or may contain duplicate keys, then the mtbl_sorter(3) interface should be used instead. mtbl_writer objects may be created by calling mtbl_writer_init() with an fname argument specifying a filename to be created. The filename must not already exist on the filesystem. Or, mtbl_writer_init_fd() may be called with an fd argument specifying an open, writable file descriptor. No data may have been written to the file descriptor. If the wopt parameter to mtbl_writer_init() or mtbl_writer_init_fd() is non-NULL, the parameters specified in the mtbl_writer_options object will be configured into the mtbl_writer object.Writer options¶
compression
Specifies the compression algorithm to use on data blocks. Possible values are
MTBL_COMPRESSION_NONE, MTBL_COMPRESSION_SNAPPY, or
MTBL_COMPRESSION_ZLIB (the default).
The maximum size of uncompressed data blocks, specified in bytes. The default is
8 kilobytes.
How frequently to restart intra-block key prefix compression. The default is
every 16 keys.
RETURN VALUE¶
mtbl_writer_init() and mtbl_writer_init_fd() return NULL on failure, and non-NULL on success. mtbl_writer_add() returns mtbl_res_success if the key-value entry was successfully copied into the mtbl_writer object, and mtbl_res_failure if not, for instance if there has been a key-ordering violation.01/31/2014 |