rocksdb-native 2.4.0 → 2.4.1

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
@@ -498,6 +498,18 @@ rocksdb_native__on_iterator_close (rocksdb_iterator_t *handle, int status) {
498
498
 
499
499
  err = js_close_handle_scope(env, scope);
500
500
  assert(err == 0);
501
+
502
+ err = js_delete_reference(env, iterator->on_open);
503
+ assert(err == 0);
504
+
505
+ err = js_delete_reference(env, iterator->on_close);
506
+ assert(err == 0);
507
+
508
+ err = js_delete_reference(env, iterator->on_read);
509
+ assert(err == 0);
510
+
511
+ err = js_delete_reference(env, iterator->ctx);
512
+ assert(err == 0);
501
513
  }
502
514
 
503
515
  static js_value_t *
@@ -620,14 +632,6 @@ static js_value_t *
620
632
  rocksdb_native_read_init (js_env_t *env, js_callback_info_t *info) {
621
633
  int err;
622
634
 
623
- size_t argc = 1;
624
- js_value_t *argv[1];
625
-
626
- err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
627
- assert(err == 0);
628
-
629
- assert(argc == 1);
630
-
631
635
  js_value_t *handle;
632
636
 
633
637
  rocksdb_native_read_batch_t *batch;
@@ -637,9 +641,6 @@ rocksdb_native_read_init (js_env_t *env, js_callback_info_t *info) {
637
641
  batch->env = env;
638
642
  batch->handle.data = (void *) batch;
639
643
 
640
- err = js_create_reference(env, argv[0], 1, &batch->ctx);
641
- assert(err == 0);
642
-
643
644
  return handle;
644
645
  }
645
646
 
@@ -740,19 +741,25 @@ rocksdb_native__on_read (rocksdb_read_batch_t *handle, int status) {
740
741
 
741
742
  err = js_close_handle_scope(env, scope);
742
743
  assert(err == 0);
744
+
745
+ err = js_delete_reference(env, batch->on_status);
746
+ assert(err == 0);
747
+
748
+ err = js_delete_reference(env, batch->ctx);
749
+ assert(err == 0);
743
750
  }
744
751
 
745
752
  static js_value_t *
746
753
  rocksdb_native_read (js_env_t *env, js_callback_info_t *info) {
747
754
  int err;
748
755
 
749
- size_t argc = 5;
750
- js_value_t *argv[5];
756
+ size_t argc = 6;
757
+ js_value_t *argv[6];
751
758
 
752
759
  err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
753
760
  assert(err == 0);
754
761
 
755
- assert(argc == 5);
762
+ assert(argc == 6);
756
763
 
757
764
  rocksdb_native_t *db;
758
765
  err = js_get_arraybuffer_info(env, argv[0], (void **) &db, NULL);
@@ -766,7 +773,10 @@ rocksdb_native_read (js_env_t *env, js_callback_info_t *info) {
766
773
  err = js_get_array_length(env, argv[2], &len);
767
774
  assert(err == 0);
768
775
 
769
- err = js_create_reference(env, argv[4], 1, &batch->on_status);
776
+ err = js_create_reference(env, argv[4], 0, &batch->ctx);
777
+ assert(err == 0);
778
+
779
+ err = js_create_reference(env, argv[5], 0, &batch->on_status);
770
780
  assert(err == 0);
771
781
 
772
782
  for (uint32_t i = 0; i < len; i++) {
@@ -821,14 +831,6 @@ static js_value_t *
821
831
  rocksdb_native_write_init (js_env_t *env, js_callback_info_t *info) {
822
832
  int err;
823
833
 
824
- size_t argc = 1;
825
- js_value_t *argv[1];
826
-
827
- err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
828
- assert(err == 0);
829
-
830
- assert(argc == 1);
831
-
832
834
  js_value_t *handle;
833
835
 
834
836
  rocksdb_native_write_batch_t *batch;
@@ -838,9 +840,6 @@ rocksdb_native_write_init (js_env_t *env, js_callback_info_t *info) {
838
840
  batch->env = env;
839
841
  batch->handle.data = (void *) batch;
840
842
 
841
- err = js_create_reference(env, argv[0], 1, &batch->ctx);
842
- assert(err == 0);
843
-
844
843
  return handle;
845
844
  }
846
845
 
@@ -919,19 +918,25 @@ rocksdb_native__on_write (rocksdb_write_batch_t *handle, int status) {
919
918
 
920
919
  err = js_close_handle_scope(env, scope);
921
920
  assert(err == 0);
921
+
922
+ err = js_delete_reference(env, batch->on_status);
923
+ assert(err == 0);
924
+
925
+ err = js_delete_reference(env, batch->ctx);
926
+ assert(err == 0);
922
927
  }
923
928
 
924
929
  static js_value_t *
925
930
  rocksdb_native_write (js_env_t *env, js_callback_info_t *info) {
926
931
  int err;
927
932
 
928
- size_t argc = 4;
929
- js_value_t *argv[4];
933
+ size_t argc = 5;
934
+ js_value_t *argv[5];
930
935
 
931
936
  err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
932
937
  assert(err == 0);
933
938
 
934
- assert(argc == 4);
939
+ assert(argc == 5);
935
940
 
936
941
  rocksdb_native_t *db;
937
942
  err = js_get_arraybuffer_info(env, argv[0], (void **) &db, NULL);
@@ -945,7 +950,10 @@ rocksdb_native_write (js_env_t *env, js_callback_info_t *info) {
945
950
  err = js_get_array_length(env, argv[2], &len);
946
951
  assert(err == 0);
947
952
 
948
- err = js_create_reference(env, argv[3], 1, &batch->on_status);
953
+ err = js_create_reference(env, argv[3], 1, &batch->ctx);
954
+ assert(err == 0);
955
+
956
+ err = js_create_reference(env, argv[4], 1, &batch->on_status);
949
957
  assert(err == 0);
950
958
 
951
959
  for (uint32_t i = 0; i < len; i++) {
package/lib/batch.js CHANGED
@@ -26,8 +26,6 @@ class RocksDBBatch {
26
26
  this._request = null
27
27
  this._resolveRequest = null
28
28
 
29
- this._destroying = null
30
-
31
29
  this._handle = null
32
30
  this._buffer = null
33
31
 
@@ -118,7 +116,7 @@ exports.ReadBatch = class RocksDBReadBatch extends RocksDBBatch {
118
116
  }
119
117
 
120
118
  _init () {
121
- this._handle = binding.readInit(this)
119
+ this._handle = binding.readInit()
122
120
  this._buffer = binding.readBuffer(this._handle, this._capacity)
123
121
  }
124
122
 
@@ -131,7 +129,7 @@ exports.ReadBatch = class RocksDBReadBatch extends RocksDBBatch {
131
129
  async _flush () {
132
130
  await super._flush()
133
131
 
134
- binding.read(this._db._handle, this._handle, this._operations, this._snapshot ? this._snapshot._handle : null, this._onread)
132
+ binding.read(this._db._handle, this._handle, this._operations, this._snapshot ? this._snapshot._handle : null, this, this._onread)
135
133
  }
136
134
 
137
135
  _onread (errs, values) {
@@ -162,7 +160,7 @@ exports.ReadBatch = class RocksDBReadBatch extends RocksDBBatch {
162
160
 
163
161
  exports.WriteBatch = class RocksDBWriteBatch extends RocksDBBatch {
164
162
  _init () {
165
- this._handle = binding.writeInit(this)
163
+ this._handle = binding.writeInit()
166
164
  this._buffer = binding.writeBuffer(this._handle, this._capacity)
167
165
  }
168
166
 
@@ -175,7 +173,7 @@ exports.WriteBatch = class RocksDBWriteBatch extends RocksDBBatch {
175
173
  async _flush () {
176
174
  await super._flush()
177
175
 
178
- binding.write(this._db._handle, this._handle, this._operations, this._onwrite)
176
+ binding.write(this._db._handle, this._handle, this._operations, this, this._onwrite)
179
177
  }
180
178
 
181
179
  _onwrite (err) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rocksdb-native",
3
- "version": "2.4.0",
3
+ "version": "2.4.1",
4
4
  "description": "librocksdb bindings for JavaScript",
5
5
  "exports": {
6
6
  ".": "./index.js",