1.1--- a/lisp/ffi/rocksdb/opts.lisp Wed Sep 25 21:39:39 2024 -0400
1.2+++ b/lisp/ffi/rocksdb/opts.lisp Thu Sep 26 21:16:45 2024 -0400
1.3@@ -231,8 +231,12 @@
1.4 ;; TODO 2024-04-17:
1.5 ;; may need to be an int -- check src
1.6 (define-opt-accessor rocksdb-options use-fsync boolean)
1.7-(define-opt-accessor rocksdb-options db-log-dir c-string)
1.8-(define-opt-accessor rocksdb-options wal-dir c-string)
1.9+(define-alien-routine rocksdb-options-set-db-log-dir void
1.10+ (opts (* rocksdb-options))
1.11+ (dir c-string))
1.12+(define-alien-routine rocksdb-options-set-wal-dir void
1.13+ (opts (* rocksdb-options))
1.14+ (dir c-string))
1.15 (define-opt-accessor rocksdb-options wal-ttl-seconds unsigned-long)
1.16 (define-opt-accessor rocksdb-options wal-size-limit-mb unsigned-long)
1.17 (define-opt-accessor rocksdb-options manifest-preallocation-size size-t)
1.18@@ -384,6 +388,18 @@
1.19 num-shard-bits
1.20 memory-allocator)
1.21
1.22+#|
1.23+Load the latest rocksdb options from the specified db_path.
1.24+
1.25+On success, num_column_families will be updated with a non-zero
1.26+number indicating the number of column families.
1.27+The returned db_options, column_family_names, and column_family_options
1.28+should be released via rocksdb_load_latest_options_destroy().
1.29+
1.30+On error, a non-null errptr that includes the error message will be
1.31+returned. db_options, column_family_names, and column_family_options
1.32+will be set to NULL.
1.33+|#
1.34 (def-with-errptr rocksdb-load-latest-options
1.35 void
1.36 (db-path c-string)
1.37@@ -396,7 +412,7 @@
1.38 (column-family-options (* (* (* rocksdb-options)))))
1.39
1.40 (define-alien-routine rocksdb-load-latest-options-destroy void
1.41- (db-options (* (* rocksdb-options)))
1.42+ (db-options (* rocksdb-options))
1.43 (list-column-family-names (* c-string))
1.44 (list-column-family-options (* (* rocksdb-options)))
1.45 (len size-t))