@nxtedition/rocksdb 7.1.1 → 7.1.4

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.cc CHANGED
@@ -1606,6 +1606,31 @@ NAPI_METHOD(db_get_sorted_wal_files) {
1606
1606
  return 0;
1607
1607
  }
1608
1608
 
1609
+ NAPI_METHOD(db_flush_wal) {
1610
+ NAPI_ARGV(3);
1611
+
1612
+ Database* database;
1613
+ NAPI_STATUS_THROWS(napi_get_value_external(env, argv[0], reinterpret_cast<void**>(&database)));
1614
+
1615
+ auto options = argv[1];
1616
+
1617
+ bool sync = false;
1618
+ NAPI_STATUS_THROWS(GetProperty(env, options, "sync", sync));
1619
+
1620
+ auto callback = argv[2];
1621
+
1622
+ runAsync<bool>(
1623
+ "leveldown.open", env, callback,
1624
+ [=](auto& state) {
1625
+ return database->db->FlushWAL(sync);
1626
+ },
1627
+ [=](auto& state, auto env, auto& argv) {
1628
+ return napi_ok;
1629
+ });
1630
+
1631
+ return 0;
1632
+ }
1633
+
1609
1634
  NAPI_INIT() {
1610
1635
  NAPI_EXPORT_FUNCTION(db_init);
1611
1636
  NAPI_EXPORT_FUNCTION(db_open);
@@ -1615,6 +1640,7 @@ NAPI_INIT() {
1615
1640
  NAPI_EXPORT_FUNCTION(db_get_property);
1616
1641
  NAPI_EXPORT_FUNCTION(db_get_latest_sequence);
1617
1642
  NAPI_EXPORT_FUNCTION(db_get_sorted_wal_files);
1643
+ NAPI_EXPORT_FUNCTION(db_flush_wal);
1618
1644
 
1619
1645
  NAPI_EXPORT_FUNCTION(iterator_init);
1620
1646
  NAPI_EXPORT_FUNCTION(iterator_seek);
package/index.js CHANGED
@@ -442,6 +442,12 @@ class RocksLevel extends AbstractLevel {
442
442
  }
443
443
  }
444
444
 
445
+ async flushWal(options) {
446
+ return new Promise((resolve, reject) => {
447
+ binding.db_flush_wal(this[kContext], options ?? {}, (err, val) => err ? reject(err) : resolve(val))
448
+ })
449
+ }
450
+
445
451
  async getSortedWalFiles () {
446
452
  return new Promise((resolve, reject) => {
447
453
  binding.db_get_sorted_wal_files(this[kContext], (err, val) => err ? reject(err) : resolve(val))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/rocksdb",
3
- "version": "7.1.1",
3
+ "version": "7.1.4",
4
4
  "description": "A low-level Node.js RocksDB binding",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
Binary file
Binary file