@live-change/db-store-lmdb 0.9.64 → 0.9.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/Store.js +8 -2
  2. package/package.json +4 -4
package/lib/Store.js CHANGED
@@ -351,8 +351,8 @@ class Store {
351
351
  return observable
352
352
  }
353
353
 
354
- rangeGet(range) {
355
- if(!range) throw new Error("range not defined")
354
+ rangeGet(range) {
355
+ if(!range) throw new Error("range not defined")
356
356
  return new Promise((resolve, reject) => {
357
357
  let keys = []
358
358
  let data
@@ -378,6 +378,7 @@ class Store {
378
378
  if((!range.lt || found < range.lt) && (!range.lte || found <= range.lte)) {
379
379
  // key in range, skip keys outside range
380
380
  keys.push(found)
381
+ if(keys.length > 4096 && !range.limit) throw new Error("range limit not defined! too big range!")
381
382
  }
382
383
  found = cursor.goToPrev()
383
384
  }
@@ -393,6 +394,7 @@ class Store {
393
394
  if((!range.gt || found > range.gt) && (!range.gte || found >= range.gte)) {
394
395
  // key in range, skip keys outside range
395
396
  keys.push(found)
397
+ if(keys.length > 4096 && !range.limit) throw new Error("range limit not defined! too big range!")
396
398
  }
397
399
  //console.log(" GO TO NEXT [")
398
400
  found = cursor.goToNext()
@@ -464,6 +466,7 @@ class Store {
464
466
  if((!range.lt || found < range.lt) && (!range.lte || found <= range.lte)) {
465
467
  // key in range, skip keys outside range
466
468
  keys.push(found)
469
+ if(keys.length > 4096 && !range.limit) throw new Error("range limit not defined! too big range!")
467
470
  }
468
471
  found = cursor.goToPrev()
469
472
  }
@@ -479,6 +482,7 @@ class Store {
479
482
  if((!range.gt || found > range.gt) && (!range.gte || found >= range.gte)) {
480
483
  // key in range, skip keys outside range
481
484
  keys.push(found)
485
+ if(keys.length > 4096 && !range.limit) throw new Error("range limit not defined! too big range!")
482
486
  }
483
487
  //console.log(" GO TO NEXT [")
484
488
  found = cursor.goToNext()
@@ -544,6 +548,7 @@ class Store {
544
548
  if((!range.lt || found < range.lt) && (!range.lte || found <= range.lte)) {
545
549
  // key in range, skip keys outside range
546
550
  count ++
551
+ if(count > 4096 && !range.limit) throw new Error("range limit not defined! too big range!")
547
552
  }
548
553
  found = cursor.goToPrev()
549
554
  }
@@ -559,6 +564,7 @@ class Store {
559
564
  if((!range.gt || found > range.gt) && (!range.gte || found >= range.gte)) {
560
565
  // key in range, skip keys outside range
561
566
  count++
567
+ if(count > 4096 && !range.limit) throw new Error("range limit not defined! too big range!")
562
568
  }
563
569
  //console.log(" GO TO NEXT [")
564
570
  found = cursor.goToNext()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@live-change/db-store-lmdb",
3
- "version": "0.9.64",
3
+ "version": "0.9.66",
4
4
  "description": "Database with observable data for live queries",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -26,11 +26,11 @@
26
26
  "tape": "^5.7.4"
27
27
  },
28
28
  "dependencies": {
29
- "@live-change/dao": "^0.9.64",
30
- "@live-change/flatten-interval-tree": "^0.9.64",
29
+ "@live-change/dao": "^0.9.66",
30
+ "@live-change/flatten-interval-tree": "^0.9.66",
31
31
  "napi-macros": "^2.0.0",
32
32
  "node-lmdb": "^0.10.1",
33
33
  "p-queue": "^8.0.1"
34
34
  },
35
- "gitHead": "902581d1d78ac5ee8c2c2ed7ccd9f8a8df6df2b0"
35
+ "gitHead": "8c76cb48a8cb459f3cfe08983f5b288c10e5f688"
36
36
  }