rocksdb-native 2.6.8 → 2.6.9

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/binding.c CHANGED
@@ -29,6 +29,7 @@ typedef struct {
29
29
  rocksdb_t handle;
30
30
 
31
31
  js_env_t *env;
32
+ js_ref_t *ctx;
32
33
 
33
34
  bool closing;
34
35
  bool exiting;
@@ -126,6 +127,9 @@ rocksdb_native__on_close(rocksdb_close_t *handle, int status) {
126
127
 
127
128
  err = js_delete_reference(env, req->ctx);
128
129
  assert(err == 0);
130
+
131
+ err = js_delete_reference(env, db->ctx);
132
+ assert(err == 0);
129
133
  } else {
130
134
  free(req);
131
135
  }
@@ -148,6 +152,9 @@ rocksdb_native__on_close(rocksdb_close_t *handle, int status) {
148
152
  err = js_delete_reference(env, req->ctx);
149
153
  assert(err == 0);
150
154
 
155
+ err = js_delete_reference(env, db->ctx);
156
+ assert(err == 0);
157
+
151
158
  js_call_function_with_checkpoint(env, ctx, cb, 0, NULL, NULL);
152
159
 
153
160
  err = js_close_handle_scope(env, scope);
@@ -265,24 +272,24 @@ static js_value_t *
265
272
  rocksdb_native_open(js_env_t *env, js_callback_info_t *info) {
266
273
  int err;
267
274
 
268
- size_t argc = 5;
269
- js_value_t *argv[5];
275
+ size_t argc = 6;
276
+ js_value_t *argv[6];
270
277
 
271
278
  err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
272
279
  assert(err == 0);
273
280
 
274
- assert(argc == 5);
281
+ assert(argc == 6);
275
282
 
276
283
  rocksdb_native_t *db;
277
- err = js_get_arraybuffer_info(env, argv[0], (void **) &db, NULL);
284
+ err = js_get_arraybuffer_info(env, argv[1], (void **) &db, NULL);
278
285
  assert(err == 0);
279
286
 
280
287
  utf8_t path[4096 + 1 /* NULL */];
281
- err = js_get_value_string_utf8(env, argv[1], path, sizeof(path), NULL);
288
+ err = js_get_value_string_utf8(env, argv[2], path, sizeof(path), NULL);
282
289
  assert(err == 0);
283
290
 
284
291
  rocksdb_native_open_options_t *o;
285
- err = js_get_typedarray_info(env, argv[2], NULL, (void **) &o, NULL, NULL, NULL);
292
+ err = js_get_typedarray_info(env, argv[3], NULL, (void **) &o, NULL, NULL, NULL);
286
293
  assert(err == 0);
287
294
 
288
295
  rocksdb_options_t options = {
@@ -310,10 +317,13 @@ rocksdb_native_open(js_env_t *env, js_callback_info_t *info) {
310
317
  req->env = env;
311
318
  req->handle.data = (void *) req;
312
319
 
313
- err = js_create_reference(env, argv[3], 1, &req->ctx);
320
+ err = js_create_reference(env, argv[0], 1, &db->ctx);
321
+ assert(err == 0);
322
+
323
+ err = js_create_reference(env, argv[4], 1, &req->ctx);
314
324
  assert(err == 0);
315
325
 
316
- err = js_create_reference(env, argv[4], 1, &req->on_open);
326
+ err = js_create_reference(env, argv[5], 1, &req->on_open);
317
327
  assert(err == 0);
318
328
 
319
329
  err = rocksdb_open(&db->handle, &req->handle, (const char *) path, &options, rocksdb_native__on_open);
package/index.js CHANGED
@@ -79,7 +79,7 @@ module.exports = class RocksDB extends ReadyResource {
79
79
  req.reject = reject
80
80
  })
81
81
 
82
- req.handle = binding.open(this._handle, this.path, opts, req, onopen)
82
+ req.handle = binding.open(this, this._handle, this.path, opts, req, onopen)
83
83
 
84
84
  await promise
85
85
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rocksdb-native",
3
- "version": "2.6.8",
3
+ "version": "2.6.9",
4
4
  "description": "librocksdb bindings for JavaScript",
5
5
  "exports": {
6
6
  ".": "./index.js",