@live-change/db-store-lmdb 0.9.65 → 0.9.67
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.
- package/lib/Store.js +8 -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.
|
|
3
|
+
"version": "0.9.67",
|
|
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.
|
|
30
|
-
"@live-change/flatten-interval-tree": "^0.9.
|
|
29
|
+
"@live-change/dao": "^0.9.67",
|
|
30
|
+
"@live-change/flatten-interval-tree": "^0.9.67",
|
|
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": "
|
|
35
|
+
"gitHead": "3a47129e0fc60b58cc7ef5479a3d64569843a946"
|
|
36
36
|
}
|