rocksdb-native 3.5.10 → 3.6.0
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/CMakeLists.txt +1 -1
- package/binding.c +17 -15
- package/index.js +9 -0
- package/lib/iterator.js +4 -1
- package/package.json +1 -1
- package/prebuilds/android-arm/rocksdb-native.bare +0 -0
- package/prebuilds/android-arm64/rocksdb-native.bare +0 -0
- package/prebuilds/android-ia32/rocksdb-native.bare +0 -0
- package/prebuilds/android-x64/rocksdb-native.bare +0 -0
- package/prebuilds/darwin-arm64/rocksdb-native.bare +0 -0
- package/prebuilds/darwin-arm64/rocksdb-native.node +0 -0
- package/prebuilds/darwin-x64/rocksdb-native.bare +0 -0
- package/prebuilds/darwin-x64/rocksdb-native.node +0 -0
- package/prebuilds/ios-arm64/rocksdb-native.bare +0 -0
- package/prebuilds/ios-arm64-simulator/rocksdb-native.bare +0 -0
- package/prebuilds/ios-x64-simulator/rocksdb-native.bare +0 -0
- package/prebuilds/linux-arm64/rocksdb-native.bare +0 -0
- package/prebuilds/linux-arm64/rocksdb-native.node +0 -0
- package/prebuilds/linux-x64/rocksdb-native.bare +0 -0
- package/prebuilds/linux-x64/rocksdb-native.node +0 -0
- package/prebuilds/win32-arm64/rocksdb-native.bare +0 -0
- package/prebuilds/win32-arm64/rocksdb-native.node +0 -0
- package/prebuilds/win32-x64/rocksdb-native.bare +0 -0
- package/prebuilds/win32-x64/rocksdb-native.node +0 -0
package/CMakeLists.txt
CHANGED
package/binding.c
CHANGED
|
@@ -1007,13 +1007,13 @@ static js_value_t *
|
|
|
1007
1007
|
rocksdb_native_iterator_open(js_env_t *env, js_callback_info_t *info) {
|
|
1008
1008
|
int err;
|
|
1009
1009
|
|
|
1010
|
-
size_t argc =
|
|
1011
|
-
js_value_t *argv[
|
|
1010
|
+
size_t argc = 14;
|
|
1011
|
+
js_value_t *argv[14];
|
|
1012
1012
|
|
|
1013
1013
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
1014
1014
|
assert(err == 0);
|
|
1015
1015
|
|
|
1016
|
-
assert(argc ==
|
|
1016
|
+
assert(argc == 14);
|
|
1017
1017
|
|
|
1018
1018
|
rocksdb_native_t *db;
|
|
1019
1019
|
err = js_get_arraybuffer_info(env, argv[0], (void **) &db, NULL);
|
|
@@ -1041,36 +1041,38 @@ rocksdb_native_iterator_open(js_env_t *env, js_callback_info_t *info) {
|
|
|
1041
1041
|
err = js_get_typedarray_info(env, argv[6], NULL, (void **) &range.lte.data, &range.lte.len, NULL, NULL);
|
|
1042
1042
|
assert(err == 0);
|
|
1043
1043
|
|
|
1044
|
-
|
|
1045
|
-
err = js_get_value_bool(env, argv[7], &reverse);
|
|
1046
|
-
assert(err == 0);
|
|
1047
|
-
|
|
1048
|
-
rocksdb_read_options_t options = {
|
|
1044
|
+
rocksdb_iterator_options_t options = {
|
|
1049
1045
|
.version = 0,
|
|
1050
1046
|
};
|
|
1051
1047
|
|
|
1048
|
+
err = js_get_value_bool(env, argv[7], &options.reverse);
|
|
1049
|
+
assert(err == 0);
|
|
1050
|
+
|
|
1051
|
+
err = js_get_value_bool(env, argv[8], &options.keys_only);
|
|
1052
|
+
assert(err == 0);
|
|
1053
|
+
|
|
1052
1054
|
bool has_snapshot;
|
|
1053
|
-
err = js_is_arraybuffer(env, argv[
|
|
1055
|
+
err = js_is_arraybuffer(env, argv[9], &has_snapshot);
|
|
1054
1056
|
assert(err == 0);
|
|
1055
1057
|
|
|
1056
1058
|
if (has_snapshot) {
|
|
1057
|
-
err = js_get_arraybuffer_info(env, argv[
|
|
1059
|
+
err = js_get_arraybuffer_info(env, argv[9], (void **) &options.snapshot, NULL);
|
|
1058
1060
|
assert(err == 0);
|
|
1059
1061
|
}
|
|
1060
1062
|
|
|
1061
|
-
err = js_create_reference(env, argv[
|
|
1063
|
+
err = js_create_reference(env, argv[10], 1, &req->ctx);
|
|
1062
1064
|
assert(err == 0);
|
|
1063
1065
|
|
|
1064
|
-
err = js_create_reference(env, argv[
|
|
1066
|
+
err = js_create_reference(env, argv[11], 1, &req->on_open);
|
|
1065
1067
|
assert(err == 0);
|
|
1066
1068
|
|
|
1067
|
-
err = js_create_reference(env, argv[
|
|
1069
|
+
err = js_create_reference(env, argv[12], 1, &req->on_close);
|
|
1068
1070
|
assert(err == 0);
|
|
1069
1071
|
|
|
1070
|
-
err = js_create_reference(env, argv[
|
|
1072
|
+
err = js_create_reference(env, argv[13], 1, &req->on_read);
|
|
1071
1073
|
assert(err == 0);
|
|
1072
1074
|
|
|
1073
|
-
err = rocksdb_iterator_open(&db->handle, &req->handle, column_family->handle, range,
|
|
1075
|
+
err = rocksdb_iterator_open(&db->handle, &req->handle, column_family->handle, range, &options, rocksdb_native__on_iterator_open);
|
|
1074
1076
|
assert(err == 0);
|
|
1075
1077
|
|
|
1076
1078
|
err = js_add_deferred_teardown_callback(env, rocksdb_native__on_iterator_teardown, (void *) req, &req->teardown);
|
package/index.js
CHANGED
|
@@ -115,6 +115,15 @@ class RocksDB {
|
|
|
115
115
|
return new Iterator(this, { ...range, ...opts })
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
+
async *keys(range, opts) {
|
|
119
|
+
for await (const { key } of this.iterator(range, {
|
|
120
|
+
...opts,
|
|
121
|
+
values: false
|
|
122
|
+
})) {
|
|
123
|
+
yield key
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
118
127
|
async peek(range, opts) {
|
|
119
128
|
for await (const value of this.iterator({ ...range, ...opts, limit: 1 })) {
|
|
120
129
|
return value
|
package/lib/iterator.js
CHANGED
|
@@ -12,6 +12,7 @@ module.exports = class RocksDBIterator extends Readable {
|
|
|
12
12
|
lt = null,
|
|
13
13
|
lte = null,
|
|
14
14
|
reverse = false,
|
|
15
|
+
values = true,
|
|
15
16
|
limit = Infinity,
|
|
16
17
|
capacity = 8
|
|
17
18
|
} = opts
|
|
@@ -28,6 +29,7 @@ module.exports = class RocksDBIterator extends Readable {
|
|
|
28
29
|
this._lte = lte ? this._encodeKey(lte) : empty
|
|
29
30
|
|
|
30
31
|
this._reverse = reverse
|
|
32
|
+
this._values = values
|
|
31
33
|
this._limit = limit < 0 ? Infinity : limit
|
|
32
34
|
this._capacity = capacity
|
|
33
35
|
this._opened = false
|
|
@@ -63,7 +65,7 @@ module.exports = class RocksDBIterator extends Readable {
|
|
|
63
65
|
for (let i = 0; i < n; i++) {
|
|
64
66
|
this.push({
|
|
65
67
|
key: this._decodeKey(Buffer.from(keys[i])),
|
|
66
|
-
value: this._decodeValue(Buffer.from(values[i]))
|
|
68
|
+
value: this._values ? this._decodeValue(Buffer.from(values[i])) : null
|
|
67
69
|
})
|
|
68
70
|
}
|
|
69
71
|
|
|
@@ -126,6 +128,7 @@ module.exports = class RocksDBIterator extends Readable {
|
|
|
126
128
|
this._lt,
|
|
127
129
|
this._lte,
|
|
128
130
|
this._reverse,
|
|
131
|
+
!this._values, // Keys only
|
|
129
132
|
this._db._snapshot ? this._db._snapshot._handle : null,
|
|
130
133
|
this,
|
|
131
134
|
this._onopen,
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|