IDZEBRA
2.2.7
|
#include <stdlib.h>
#include <assert.h>
#include <string.h>
#include <stdio.h>
#include <yaz/log.h>
#include "isamc-p.h"
Go to the source code of this file.
Data Structures | |
struct | isamc_merge_block |
Functions | |
static void | flush_blocks (ISAMC is, struct isamc_merge_block *mb, int ptr, char *r_buf, zint *firstpos, int cat, int last, zint *numkeys) |
static int | get_border (ISAMC is, struct isamc_merge_block *mb, zint ptr, int cat, zint firstpos) |
void | isamc_merge (ISAMC is, ISAM_P *ipos, ISAMC_I *data) |
|
static |
Definition at line 66 of file merge.c.
References isamc_merge_block::block, ISAMC_M_s::debug, isamc_merge_block::dirty, ISAMC_s::files, isamc_alloc_block(), ISAMC_BLOCK_OFFSET_1, ISAMC_BLOCK_OFFSET_N, isamc_write_block(), ISAMC_s::method, ISAMC_file_s::no_skip_writes, isamc_merge_block::offset, and ZINT_FORMAT.
Referenced by isamc_merge().
|
static |
Definition at line 138 of file merge.c.
References isamc_merge_block::block, ISAMC_filecat_s::bsize, ISAMC_M_s::filecat, ISAMC_filecat_s::ifill, ISAMC_BLOCK_OFFSET_1, ISAMC_BLOCK_OFFSET_N, ISAMC_s::method, and isamc_merge_block::offset.
Referenced by isamc_merge().
Definition at line 154 of file merge.c.
References ISAMC_file_s::bf, bf_write(), isamc_merge_block::block, ISAMC_PP_s::cat, ISAMC_I_s::clientData, ISAMC_M_s::codec, ISAMC_M_s::compare_item, ISAMC_M_s::debug, ISAMC_PP_s::deleteFlag, isamc_merge_block::dirty, ISAM_CODEC::encode, ISAMC_M_s::filecat, ISAMC_s::files, flush_blocks(), get_border(), ISAMC_filecat_s::ifill, ISAMC_BLOCK_OFFSET_1, ISAMC_BLOCK_OFFSET_N, isamc_pp_close(), isamc_pp_num(), isamc_pp_open(), isamc_read_item(), isamc_release_block(), ISAMC_M_s::max_blocks_mem, ISAMC_s::max_cat, ISAMC_filecat_s::mblocks, ISAMC_s::merge_buf, ISAMC_s::method, ISAMC_filecat_s::mfill, ISAMC_file_s::no_remap, ISAMC_PP_s::numKeys, isamc_merge_block::offset, ISAMC_PP_s::pos, ISAMC_I_s::read_item, ISAM_CODEC::start, ISAM_CODEC::stop, and ZINT_FORMAT.
Referenced by heap_inpc().