Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

rocksdb-native

Package Overview
Dependencies
Maintainers
3
Versions
82
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rocksdb-native - npm Package Compare versions

Comparing version
3.11.2
to
3.11.3
+353
-388
binding.cc

@@ -76,2 +76,3 @@ #include <set>

js_persistent_t<js_receiver_t> ctx;
js_persistent_t<js_arraybuffer_t> self;
js_persistent_t<rocksdb_native_on_close_t> on_close;

@@ -108,3 +109,3 @@ };

bool active;
bool closing;
bool exiting;

@@ -198,46 +199,39 @@

auto descriptors = handle->column_families;
auto handles = handle->handles;
if (db->exiting) {
req->on_open.reset();
req->ctx.reset();
} else {
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
rocksdb_native_on_open_t cb;
err = js_get_reference_value(env, req->on_open, cb);
assert(err == 0);
rocksdb_native_on_open_t cb;
err = js_get_reference_value(env, req->on_open, cb);
assert(err == 0);
js_array_t column_families;
err = js_get_reference_value(env, req->column_families, column_families);
assert(err == 0);
js_array_t column_families;
err = js_get_reference_value(env, req->column_families, column_families);
assert(err == 0);
req->on_open.reset();
req->column_families.reset();
req->ctx.reset();
req->on_open.reset();
req->column_families.reset();
req->ctx.reset();
std::optional<js_string_t> error;
std::optional<js_string_t> error;
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
} else {
std::vector<js_arraybuffer_t> elements;
err = js_get_array_elements(env, column_families, elements);
assert(err == 0);
rocksdb_column_family_t **handles = handle->handles;
const auto len = elements.size();
if (req->handle.error == nullptr) {
std::vector<js_arraybuffer_t> elements;
err = js_get_array_elements(env, column_families, elements);
assert(err == 0);
const auto len = elements.size();
for (uint32_t i = 0; i < len; i++) {
for (uint32_t i = 0; i < len; i++) {
if (db->exiting) rocksdb_column_family_destroy(&db->handle, handles[i]);
else {
js_arraybuffer_t handle = elements[i];

@@ -257,11 +251,14 @@

}
}
js_call_function_with_checkpoint(env, cb, ctx, error);
if (!db->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx, error);
(void) err;
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
err = js_close_handle_scope(env, scope);
assert(err == 0);
delete[] descriptors;
delete[] handles;
}
delete[] descriptors;
delete[] handles;
}

@@ -284,4 +281,2 @@

db->column_families.~set();
for (auto &snapshot : db->snapshots) {

@@ -293,2 +288,3 @@ rocksdb_snapshot_destroy(&snapshot->handle);

db->column_families.~set();
db->snapshots.~set();

@@ -311,35 +307,28 @@ }

if (db->exiting) {
if (db->closing) {
req->on_close.reset();
req->ctx.reset();
} else {
free(req);
}
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
db->ctx.reset();
} else {
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
rocksdb_native_on_close_t cb;
err = js_get_reference_value(env, req->on_close, cb);
assert(err == 0);
rocksdb_native_on_close_t cb;
err = js_get_reference_value(env, req->on_close, cb);
assert(err == 0);
req->on_close.reset();
req->self.reset();
req->ctx.reset();
req->on_close.reset();
req->ctx.reset();
db->ctx.reset();
db->ctx.reset();
if (!db->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx);
(void) err;
}
js_call_function_with_checkpoint(env, cb, ctx);
err = js_close_handle_scope(env, scope);
assert(err == 0);
err = js_close_handle_scope(env, scope);
assert(err == 0);
}
err = js_finish_deferred_teardown_callback(teardown);

@@ -350,3 +339,3 @@ assert(err == 0);

static void
rocksdb_native__on_teardown(js_deferred_teardown_t *handle, void *data) {
rocksdb_native__on_teardown(js_deferred_teardown_t *teardown, void *data) {
int err;

@@ -356,4 +345,2 @@

auto env = db->env;
db->exiting = true;

@@ -363,4 +350,14 @@

auto req = reinterpret_cast<rocksdb_native_close_t *>(malloc(sizeof(rocksdb_native_close_t)));
auto env = db->env;
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_arraybuffer_t handle;
rocksdb_native_close_t *req;
err = js_create_arraybuffer(env, req, handle);
assert(err == 0);
req->env = env;

@@ -371,2 +368,22 @@ req->handle.data = req;

assert(err == 0);
js_receiver_t ctx;
err = js_get_null(env, static_cast<js_value_t **>(ctx));
assert(err == 0);
rocksdb_native_on_close_t on_close;
err = js_get_null(env, static_cast<js_value_t **>(on_close));
assert(err == 0);
err = js_create_reference(env, ctx, req->ctx);
assert(err == 0);
err = js_create_reference(env, handle, req->self);
assert(err == 0);
err = js_create_reference(env, on_close, req->on_close);
assert(err == 0);
err = js_close_handle_scope(env, scope);
assert(err == 0);
}

@@ -391,6 +408,2 @@

uv_loop_t *loop;
err = js_get_env_loop(env, &loop);
assert(err == 0);
js_arraybuffer_t handle;

@@ -425,11 +438,2 @@

err = rocksdb_init(loop, &db->handle);
if (err < 0) {
err = js_throw_error(env, uv_err_name(err), uv_strerror(err));
assert(err == 0);
throw js_pending_exception;
}
return handle;

@@ -473,2 +477,6 @@ }

uv_loop_t *loop;
err = js_get_env_loop(env, &loop);
assert(err == 0);
js_arraybuffer_t handle;

@@ -485,3 +493,3 @@

err = rocksdb_open(&db->handle, &req->handle, path, &db->options, column_families, handles, len, nullptr, rocksdb_native__on_open);
err = rocksdb_open(loop, &db->handle, &req->handle, path, &db->options, column_families, handles, len, nullptr, rocksdb_native__on_open);

@@ -549,2 +557,5 @@ if (err < 0) {

err = js_create_reference(env, handle, req->self);
assert(err == 0);
err = js_create_reference(env, on_close, req->on_close);

@@ -570,32 +581,31 @@ assert(err == 0);

auto teardown = db->teardown;
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
if (db->exiting) {
req->on_suspend.reset();
req->ctx.reset();
} else {
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
rocksdb_native_on_suspend_t cb;
err = js_get_reference_value(env, req->on_suspend, cb);
assert(err == 0);
rocksdb_native_on_suspend_t cb;
err = js_get_reference_value(env, req->on_suspend, cb);
assert(err == 0);
req->on_suspend.reset();
req->ctx.reset();
std::optional<js_string_t> error;
std::optional<js_string_t> error;
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
js_call_function_with_checkpoint(env, cb, ctx, error);
if (!db->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx, error);
(void) err;
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
}

@@ -651,35 +661,31 @@

auto teardown = db->teardown;
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
if (db->exiting) {
req->on_resume.reset();
req->ctx.reset();
} else {
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
rocksdb_native_on_resume_t cb;
err = js_get_reference_value(env, req->on_resume, cb);
assert(err == 0);
rocksdb_native_on_resume_t cb;
err = js_get_reference_value(env, req->on_resume, cb);
assert(err == 0);
req->on_resume.reset();
req->ctx.reset();
req->on_resume.reset();
req->ctx.reset();
std::optional<js_string_t> error;
std::optional<js_string_t> error;
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
if (!db->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx, error);
(void) err;
}
js_call_function_with_checkpoint(env, cb, ctx, error);
err = js_close_handle_scope(env, scope);
assert(err == 0);
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
}

@@ -837,3 +843,3 @@

req->env = env;
req->active = false;
req->closing = false;
req->exiting = false;

@@ -878,4 +884,2 @@ req->handle.data = req;

req->active = false;
auto env = req->env;

@@ -885,38 +889,34 @@

if (req->exiting) {
req->on_open.reset();
req->on_close.reset();
req->on_read.reset();
req->ctx.reset();
} else {
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
rocksdb_native_on_iterator_close_t cb;
err = js_get_reference_value(env, req->on_close, cb);
assert(err == 0);
rocksdb_native_on_iterator_close_t cb;
err = js_get_reference_value(env, req->on_close, cb);
assert(err == 0);
req->on_open.reset();
req->on_close.reset();
req->on_read.reset();
req->ctx.reset();
req->on_open.reset();
req->on_close.reset();
req->on_read.reset();
req->ctx.reset();
std::optional<js_string_t> error;
std::optional<js_string_t> error;
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
js_call_function_with_checkpoint(env, cb, ctx, error);
err = js_close_handle_scope(env, scope);
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
if (!req->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx, error);
(void) err;
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
err = js_finish_deferred_teardown_callback(teardown);

@@ -934,38 +934,34 @@ assert(err == 0);

req->active = false;
auto env = req->env;
if (req->exiting) {
err = rocksdb_iterator_close(&req->handle, rocksdb_native__on_iterator_close);
assert(err == 0);
} else {
auto env = req->env;
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
rocksdb_native_on_iterator_open_t cb;
err = js_get_reference_value(env, req->on_open, cb);
assert(err == 0);
rocksdb_native_on_iterator_open_t cb;
err = js_get_reference_value(env, req->on_open, cb);
std::optional<js_string_t> error;
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
std::optional<js_string_t> error;
if (!req->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx, error);
(void) err;
}
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
js_call_function_with_checkpoint(env, cb, ctx, error);
err = js_close_handle_scope(env, scope);
assert(err == 0);
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
}
static void
rocksdb_native__on_iterator_teardown(js_deferred_teardown_t *handle, void *data) {
rocksdb_native__on_iterator_teardown(js_deferred_teardown_t *teardown, void *data) {
int err;

@@ -977,3 +973,3 @@

if (req->active) return;
if (req->closing) return;

@@ -1035,4 +1031,2 @@ err = rocksdb_iterator_close(&req->handle, rocksdb_native__on_iterator_close);

req->active = true;
err = js_create_reference(env, ctx, req->ctx);

@@ -1067,3 +1061,3 @@ assert(err == 0);

req->active = true;
req->closing = true;
}

@@ -1079,53 +1073,42 @@

req->active = false;
auto db = reinterpret_cast<rocksdb_native_t *>(req->handle.req.db);
size_t len = req->handle.len;
auto len = req->handle.len;
if (db->exiting) {
if (status == 0 && req->handle.error == nullptr) {
for (size_t i = 0; i < len; i++) {
js_value_t *result;
auto env = req->env;
rocksdb_slice_destroy(&req->keys[i]);
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
rocksdb_slice_destroy(&req->values[i]);
}
}
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
err = rocksdb_iterator_close(&req->handle, rocksdb_native__on_iterator_close);
assert(err == 0);
} else {
auto env = req->env;
rocksdb_native_on_iterator_read_t cb;
err = js_get_reference_value(env, req->on_read, cb);
assert(err == 0);
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
std::optional<js_string_t> error;
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
std::vector<js_arraybuffer_t> keys;
keys.reserve(len);
rocksdb_native_on_iterator_read_t cb;
err = js_get_reference_value(env, req->on_read, cb);
std::vector<js_arraybuffer_t> values;
values.reserve(len);
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
} else {
for (size_t i = 0; i < len; i++) {
rocksdb_slice_t *key = &req->keys[i];
rocksdb_slice_t *value = &req->values[i];
std::optional<js_string_t> error;
std::vector<js_arraybuffer_t> keys;
keys.reserve(len);
std::vector<js_arraybuffer_t> values;
values.reserve(len);
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
} else {
for (size_t i = 0; i < len; i++) {
if (req->exiting) {
rocksdb_slice_destroy(key);
rocksdb_slice_destroy(value);
} else {
js_arraybuffer_t result;
rocksdb_slice_t *key = &req->keys[i];
err = rocksdb_native__try_create_external_arraybuffer(env, const_cast<char *>(key->data), key->len, result);

@@ -1136,4 +1119,2 @@ assert(err == 0);

rocksdb_slice_t *value = &req->values[i];
err = rocksdb_native__try_create_external_arraybuffer(env, const_cast<char *>(value->data), value->len, result);

@@ -1145,8 +1126,11 @@ assert(err == 0);

}
}
js_call_function_with_checkpoint(env, cb, ctx, error, keys, values);
if (!req->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx, error, keys, values);
(void) err;
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
}

@@ -1170,4 +1154,2 @@

}
req->active = true;
}

@@ -1221,53 +1203,52 @@

auto len = req->handle.len;
auto env = req->env;
size_t len = req->handle.len;
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
if (db->exiting) {
if (status == 0) {
for (size_t i = 0; i < len; i++) {
char *error = req->handle.errors[i];
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
if (error) continue;
rocksdb_native_on_read_t cb;
err = js_get_reference_value(env, req->on_read, cb);
assert(err == 0);
rocksdb_slice_destroy(&req->reads[i].value);
}
}
req->on_read.reset();
req->ctx.reset();
req->on_read.reset();
req->ctx.reset();
} else {
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_array_t errors;
err = js_create_array(env, len, errors);
assert(err == 0);
js_array_t errors;
err = js_create_array(env, len, errors);
assert(err == 0);
js_array_t values;
err = js_create_array(env, len, values);
assert(err == 0);
js_array_t values;
err = js_create_array(env, len, values);
assert(err == 0);
for (size_t i = 0; i < len; i++) {
char *error = req->handle.errors[i];
for (size_t i = 0; i < len; i++) {
char *error = req->handle.errors[i];
if (error) {
js_string_t result;
if (error) {
js_string_t result;
err = js_create_string(env, error, result);
assert(err == 0);
err = js_create_string(env, error, result);
assert(err == 0);
err = js_set_element(env, errors, i, result);
assert(err == 0);
} else {
rocksdb_slice_t *value = &req->reads[i].value;
err = js_set_element(env, errors, i, result);
assert(err == 0);
} else {
if (db->exiting) rocksdb_slice_destroy(value);
else {
js_arraybuffer_t result;
rocksdb_slice_t *slice = &req->reads[i].value;
if (slice->data == nullptr && slice->len == size_t(-1)) {
if (value->data == nullptr && value->len == size_t(-1)) {
err = js_get_null(env, static_cast<js_value_t **>(result));
assert(err == 0);
} else {
err = rocksdb_native__try_create_external_arraybuffer(env, const_cast<char *>(slice->data), slice->len, result);
err = rocksdb_native__try_create_external_arraybuffer(env, const_cast<char *>(value->data), value->len, result);
assert(err == 0);

@@ -1280,19 +1261,11 @@ }

}
}
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
if (!db->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx, errors, values);
(void) err;
}
rocksdb_native_on_read_t cb;
err = js_get_reference_value(env, req->on_read, cb);
assert(err == 0);
req->on_read.reset();
req->ctx.reset();
js_call_function_with_checkpoint(env, cb, ctx, errors, values);
err = js_close_handle_scope(env, scope);
assert(err == 0);
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
}

@@ -1427,33 +1400,31 @@

if (db->exiting) {
req->on_write.reset();
req->ctx.reset();
} else {
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
std::optional<js_string_t> error;
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
rocksdb_native_on_write_t cb;
err = js_get_reference_value(env, req->on_write, cb);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
req->on_write.reset();
req->ctx.reset();
rocksdb_native_on_write_t cb;
err = js_get_reference_value(env, req->on_write, cb);
std::optional<js_string_t> error;
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
req->on_write.reset();
req->ctx.reset();
if (!db->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx, error);
(void) err;
}
js_call_function_with_checkpoint(env, cb, ctx, error);
err = js_close_handle_scope(env, scope);
assert(err == 0);
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
}

@@ -1579,33 +1550,31 @@

if (db->exiting) {
req->on_flush.reset();
req->ctx.reset();
} else {
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
std::optional<js_string_t> error;
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
rocksdb_native_on_flush_t cb;
err = js_get_reference_value(env, req->on_flush, cb);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
req->on_flush.reset();
req->ctx.reset();
rocksdb_native_on_flush_t cb;
err = js_get_reference_value(env, req->on_flush, cb);
std::optional<js_string_t> error;
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
req->on_flush.reset();
req->ctx.reset();
if (!db->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx, error);
(void) err;
}
js_call_function_with_checkpoint(env, cb, ctx, error);
err = js_close_handle_scope(env, scope);
assert(err == 0);
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
}

@@ -1662,33 +1631,31 @@

if (db->exiting) {
req->on_compact_range.reset();
req->ctx.reset();
} else {
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
std::optional<js_string_t> error;
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
rocksdb_native_on_compact_range_t cb;
err = js_get_reference_value(env, req->on_compact_range, cb);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
req->on_compact_range.reset();
req->ctx.reset();
rocksdb_native_on_compact_range_t cb;
err = js_get_reference_value(env, req->on_compact_range, cb);
std::optional<js_string_t> error;
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
req->on_compact_range.reset();
req->ctx.reset();
if (!db->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx, error);
(void) err;
}
js_call_function_with_checkpoint(env, cb, ctx, error);
err = js_close_handle_scope(env, scope);
assert(err == 0);
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
}

@@ -1761,33 +1728,31 @@

if (db->exiting) {
req->on_approximate_size.reset();
req->ctx.reset();
} else {
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
js_handle_scope_t *scope;
err = js_open_handle_scope(env, &scope);
assert(err == 0);
std::optional<js_string_t> error;
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
rocksdb_native_on_approximate_size_t cb;
err = js_get_reference_value(env, req->on_approximate_size, cb);
assert(err == 0);
js_receiver_t ctx;
err = js_get_reference_value(env, req->ctx, ctx);
assert(err == 0);
req->on_approximate_size.reset();
req->ctx.reset();
rocksdb_native_on_approximate_size_t cb;
err = js_get_reference_value(env, req->on_approximate_size, cb);
std::optional<js_string_t> error;
if (req->handle.error) {
err = js_create_string(env, req->handle.error, error.emplace());
assert(err == 0);
}
req->on_approximate_size.reset();
req->ctx.reset();
if (!db->exiting) {
err = js_call_function_with_checkpoint(env, cb, ctx, error, req->handle.result);
(void) err;
}
js_call_function_with_checkpoint(env, cb, ctx, error, req->handle.result);
err = js_close_handle_scope(env, scope);
assert(err == 0);
}
err = js_close_handle_scope(env, scope);
assert(err == 0);
}

@@ -1794,0 +1759,0 @@

@@ -12,3 +12,3 @@ cmake_minimum_required(VERSION 4.0)

fetch_package("github:holepunchto/librocksdb#6a480d5")
fetch_package("github:holepunchto/librocksdb#d5b0f65")
fetch_package("github:holepunchto/libjstl#098664c")

@@ -15,0 +15,0 @@

{
"name": "rocksdb-native",
"version": "3.11.2",
"version": "3.11.3",
"description": "librocksdb bindings for JavaScript",

@@ -5,0 +5,0 @@ "exports": {

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display