From e9bb88369794384a004026a6a5e4aaf1d69e2431 Mon Sep 17 00:00:00 2001 From: Robert Buels Date: Thu, 25 Jul 2019 10:30:08 -0700 Subject: [PATCH] only merge index chunks that are in the same bgzip block --- src/util.js | 6 ++---- test/csi.test.js | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/util.js b/src/util.js index 3968766..d097eb0 100644 --- a/src/util.js +++ b/src/util.js @@ -1,5 +1,3 @@ -const MAX_MERGED_BLOCK_SIZE = 30 * 2 ** 20 // 30 MB - module.exports = { longToNumber(long) { if ( @@ -40,9 +38,9 @@ module.exports = { canMergeBlocks(block1, block2) { return ( + block1.minv.blockPosition === block1.maxv.blockPosition && block1.maxv.blockPosition === block2.minv.blockPosition && - block2.maxv.blockPosition - block1.minv.blockPosition <= - MAX_MERGED_BLOCK_SIZE + block2.minv.blockPosition === block2.maxv.blockPosition ) }, } diff --git a/test/csi.test.js b/test/csi.test.js index 3ff0cef..8344500 100644 --- a/test/csi.test.js +++ b/test/csi.test.js @@ -47,7 +47,7 @@ describe('csi index', () => { let blocks = await ti.blocksForRange('1', 1, 4000) expect(blocks.length).toEqual(0) blocks = await ti.blocksForRange('1', 0, 2000046092) - expect(blocks.length).toEqual(1) + expect(blocks.length).toEqual(2) expect(blocks[0].minv.blockPosition).toEqual(0) expect(blocks[0].minv.dataPosition).toEqual(2560) // console.log( blocks );