mirror of
https://github.com/facebook/rocksdb.git
synced 2026-10-23 08:09:02 +03:00
Summary: This continues and finishes **https://github.com/facebook/rocksdb/issues/14572** ("Add semi-automated code generation for RocksDB C API bindings") by xingbowang. The original author is unavailable to finish it, so I've taken it over. **All 13 of the original commits are preserved** (this branch was created from the PR head and builds on top of it — `git log` shows the original `Xingbo Wang` authorship intact); my follow-up work is in the commits prefixed `C API codegen:`. The underlying design is unchanged and is the original author's: hand-written source templates (`tools/c_api_gen/c_base.h` / `c_base.cc`) plus two generators (auto-discovery from the C++ headers + a spec-driven generator) are inlined into a single, self-contained, `generated` `include/rocksdb/c.h` and `db/c.cc`. This grows the public C API by **668 functions** while keeping `c.h` a single includable header with no `-I` requirement (so `bindgen` and other FFI tools keep working unchanged). This branch reconciles the PR with ~4 months of `main` and addresses the outstanding review feedback (clang-tidy bot, the automated code review, the `c.h` self-containedness discussion, and pdillinger's points about `include/rocksdb` hygiene and `generated` marking). ## What changed on top of the original PR ### Reconciled with current `main` - Merged current `main` (conflicts were confined to the generated/test files) and regenerated. Reconciled the 14 C API functions `main` added since the merge-base (e.g. `rocksdb_set_db_options`, the backup-engine rate limiters, `memtable_batch_lookup_optimization`, `optimize_multiget_for_io`, …) and restored 5 enum constants that upstream had added by hand (`rocksdb_txndb_write_policy_*`, `..._index_block_search_type_auto`, `rocksdb_blob_cache_read_byte`). ### Maintainer feedback (pdillinger) - **No non-user-includable files in `include/rocksdb`.** Moved the hand-written templates out of `include/rocksdb/` and `db/` to `tools/c_api_gen/c_base.{h,cc}`. They were `#include`-ing generated fragments, which broke `make check-headers` and was shipped by `make install`. `include/rocksdb/` now contains only the user-facing, self-contained, `generated` `c.h`. - `c.h` / `c.cc` carry the `// generated` marker. ### Backward compatibility (zero ABI break) - The generator derived each wrapper's C type purely from the C++ field, which had silently changed **5 already-shipped signatures** (e.g. `rocksdb_writeoptions_disable_WAL` `int` → `unsigned char`). Added an ABI type-pinning layer (`tools/c_api_gen/abi_type_overrides.json`) so already-shipped functions keep their historical C signature (the body still casts to the real field type). A repo-wide diff against the merge-base now reports **0 ABI drift**. - New `check_api_compatibility.py` gate (wired into CI + `make`) fails on any removed/changed public function **or** removed enum/typedef symbol, vs a reference revision. Intentional changes go in an allowlist with a reason. ### Correctness (from the automated review) - Restored 5 option setters that were declared in `c.h` but **defined nowhere** (link failure for downstream bindings such as `rust-rocksdb`). Added `check_api_completeness.py` (dependency-free; runs in CI + `make`) asserting every declared function has exactly one definition — this is the gate that would have caught it. - `CopyStringVector` now null-checks `malloc`; the WAL filter `std::move`s the `WriteBatch`; the backup exclude-files callback captures by value instead of the wrapper pointer. ### Build / CI robustness - Removed the dead `C_API_CODEGEN_STAMP` Makefile prerequisite (it was a silent no-op). - The `make check` staleness check is now opt-out-able (behind `SKIP_FORMAT_BUCK_CHECKS`) and skips gracefully when `clang++` is unavailable, so `make check` works without the codegen toolchain. CI remains the authoritative gate. - Pinned `clang-format` consistently through `regen_all.py` / `verify_generated_up_to_date.py` (CI uses clang-format-21) so regeneration is byte-reproducible across environments. - Cleared all 20 `clang-tidy` warnings the bot reported on `db/c.cc` changed lines (fixed in the `c_base.cc` template, not the generated output). - Updated the internal Buck `c_test_bin` wrapper to expose generated `c_api_gen/*.inc` fragments as headers, so sandboxed Buck builds can compile `db/c_test.c` after the generated round-trip tests are included. ### Test coverage - Added `gen_roundtrip_tests.py`, which derives **462 set→get→assert round-trip checks across 25 option objects** from the same generated fragments and wires them into `db/c_test.c`. Coverage now tracks the generated surface automatically. ### Docs - Added the `unreleased_history/public_api_changes` note and fixed `claude_md/add_public_api.md`, which still told contributors to hand-edit the now-`generated` `c.h`/`c.cc`. Pull Request resolved: https://github.com/facebook/rocksdb/pull/14868 Test Plan: - `make c_test && ./c_test` — **passes**, including the 462 generated round-trip assertions (a successful link also confirms the API is complete). - `python3 tools/c_api_gen/check_api_completeness.py` — all 1737 declared functions defined exactly once. - `python3 tools/c_api_gen/check_api_compatibility.py --ref <release>` — 1070 reference functions + 229 enum/typedef symbols preserved, 0 removed/changed. - `python3 tools/c_api_gen/verify_generated_up_to_date.py` — generated output is stable. - `include/rocksdb/c.h` confirmed self-contained (only `<stdbool.h>`, `<stddef.h>`, `<stdint.h>`). cc xingbowang - `buck2 build --flagfile fbcode//mode/dev fbcode//internal_repo_rocksdb/repo:c_test_bin` — passes. - `buck2 build --flagfile fbcode//mode/dev --config fbcode.arch=aarch64 fbcode//internal_repo_rocksdb/repo:c_test_bin` — passes. Reviewed By: pdillinger Differential Revision: D109149150 Pulled By: xingbowang fbshipit-source-id: 3417375345f360a4c78bdfe27e9850b89d0a226a
1735 lines
48 KiB
JSON
1735 lines
48 KiB
JSON
{
|
|
"sections": [
|
|
{
|
|
"name": "DB data operations",
|
|
"functions": [
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_put",
|
|
"call_expr": "db->rep->Put",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vallen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"Slice(key, keylen)",
|
|
"Slice(val, vallen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_put_cf",
|
|
"call_expr": "db->rep->Put",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vallen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep",
|
|
"Slice(key, keylen)",
|
|
"Slice(val, vallen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_delete",
|
|
"call_expr": "db->rep->Delete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"Slice(key, keylen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_delete_cf",
|
|
"call_expr": "db->rep->Delete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep",
|
|
"Slice(key, keylen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_merge",
|
|
"call_expr": "db->rep->Merge",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vallen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"Slice(key, keylen)",
|
|
"Slice(val, vallen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_merge_cf",
|
|
"call_expr": "db->rep->Merge",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vallen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep",
|
|
"Slice(key, keylen)",
|
|
"Slice(val, vallen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_write",
|
|
"call_expr": "db->rep->Write",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_writebatch_t*",
|
|
"name": "batch"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"&batch->rep"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_put_with_ts",
|
|
"call_expr": "db->rep->Put",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "ts",
|
|
"len_name": "tslen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vallen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"Slice(key, keylen)",
|
|
"Slice(ts, tslen)",
|
|
"Slice(val, vallen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_put_cf_with_ts",
|
|
"call_expr": "db->rep->Put",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "ts",
|
|
"len_name": "tslen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vallen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep",
|
|
"Slice(key, keylen)",
|
|
"Slice(ts, tslen)",
|
|
"Slice(val, vallen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_delete_with_ts",
|
|
"call_expr": "db->rep->Delete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "ts",
|
|
"len_name": "tslen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"Slice(key, keylen)",
|
|
"Slice(ts, tslen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_delete_cf_with_ts",
|
|
"call_expr": "db->rep->Delete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "ts",
|
|
"len_name": "tslen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep",
|
|
"Slice(key, keylen)",
|
|
"Slice(ts, tslen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_singledelete",
|
|
"call_expr": "db->rep->SingleDelete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"Slice(key, keylen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_singledelete_cf",
|
|
"call_expr": "db->rep->SingleDelete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep",
|
|
"Slice(key, keylen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_singledelete_with_ts",
|
|
"call_expr": "db->rep->SingleDelete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "ts",
|
|
"len_name": "tslen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"Slice(key, keylen)",
|
|
"Slice(ts, tslen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_singledelete_cf_with_ts",
|
|
"call_expr": "db->rep->SingleDelete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "ts",
|
|
"len_name": "tslen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep",
|
|
"Slice(key, keylen)",
|
|
"Slice(ts, tslen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_delete_range_cf",
|
|
"call_expr": "db->rep->DeleteRange",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "start_key",
|
|
"len_name": "start_key_len"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "end_key",
|
|
"len_name": "end_key_len"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep",
|
|
"Slice(start_key, start_key_len)",
|
|
"Slice(end_key, end_key_len)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_flush",
|
|
"call_expr": "db->rep->Flush",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_flushoptions_t*",
|
|
"name": "options"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_flush_cf",
|
|
"call_expr": "db->rep->Flush",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_flushoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_flush_wal",
|
|
"call_expr": "db->rep->FlushWAL",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "unsigned char",
|
|
"name": "sync"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"sync"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_pause_background_work",
|
|
"call_expr": "db->rep->PauseBackgroundWork",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_continue_background_work",
|
|
"call_expr": "db->rep->ContinueBackgroundWork",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_disable_file_deletions",
|
|
"call_expr": "db->rep->DisableFileDeletions",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_enable_file_deletions",
|
|
"call_expr": "db->rep->EnableFileDeletions",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_verify_checksum",
|
|
"call_expr": "db->rep->VerifyChecksum",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_verify_file_checksums",
|
|
"call_expr": "db->rep->VerifyFileChecksums",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_t*",
|
|
"name": "db"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"ReadOptions()"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_destroy_db",
|
|
"call_expr": "DestroyDB",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_options_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const char*",
|
|
"name": "name"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"name",
|
|
"options->rep"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_repair_db",
|
|
"call_expr": "RepairDB",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_options_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const char*",
|
|
"name": "name"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"name",
|
|
"options->rep"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "WriteBatch",
|
|
"functions": [
|
|
{
|
|
"kind": "void_method",
|
|
"name": "rocksdb_writebatch_clear",
|
|
"call_expr": "b->rep.Clear",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_writebatch_t*",
|
|
"name": "b"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "void_method",
|
|
"name": "rocksdb_writebatch_put",
|
|
"call_expr": "b->rep.Put",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_writebatch_t*",
|
|
"name": "b"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vlen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"Slice(key, klen)",
|
|
"Slice(val, vlen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "void_method",
|
|
"name": "rocksdb_writebatch_put_cf",
|
|
"call_expr": "b->rep.Put",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_writebatch_t*",
|
|
"name": "b"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vlen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"column_family->rep",
|
|
"Slice(key, klen)",
|
|
"Slice(val, vlen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "void_method",
|
|
"name": "rocksdb_writebatch_delete",
|
|
"call_expr": "b->rep.Delete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_writebatch_t*",
|
|
"name": "b"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"Slice(key, klen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "void_method",
|
|
"name": "rocksdb_writebatch_put_log_data",
|
|
"call_expr": "b->rep.PutLogData",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_writebatch_t*",
|
|
"name": "b"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "blob",
|
|
"len_name": "len"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"Slice(blob, len)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "void_method",
|
|
"name": "rocksdb_writebatch_set_save_point",
|
|
"call_expr": "b->rep.SetSavePoint",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_writebatch_t*",
|
|
"name": "b"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_writebatch_rollback_to_save_point",
|
|
"call_expr": "b->rep.RollbackToSavePoint",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_writebatch_t*",
|
|
"name": "b"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_writebatch_pop_save_point",
|
|
"call_expr": "b->rep.PopSavePoint",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_writebatch_t*",
|
|
"name": "b"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_writebatch_verify_checksum",
|
|
"call_expr": "b->rep.VerifyChecksum",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_writebatch_t*",
|
|
"name": "b"
|
|
}
|
|
],
|
|
"method_args": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Transaction",
|
|
"functions": [
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transaction_put",
|
|
"call_expr": "txn->rep->Put",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transaction_t*",
|
|
"name": "txn"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vlen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"Slice(key, klen)",
|
|
"Slice(val, vlen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transaction_put_cf",
|
|
"call_expr": "txn->rep->Put",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transaction_t*",
|
|
"name": "txn"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vlen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"column_family->rep",
|
|
"Slice(key, klen)",
|
|
"Slice(val, vlen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transaction_merge",
|
|
"call_expr": "txn->rep->Merge",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transaction_t*",
|
|
"name": "txn"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vlen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"Slice(key, klen)",
|
|
"Slice(val, vlen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transaction_merge_cf",
|
|
"call_expr": "txn->rep->Merge",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transaction_t*",
|
|
"name": "txn"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vlen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"column_family->rep",
|
|
"Slice(key, klen)",
|
|
"Slice(val, vlen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transaction_delete",
|
|
"call_expr": "txn->rep->Delete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transaction_t*",
|
|
"name": "txn"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"Slice(key, klen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transaction_delete_cf",
|
|
"call_expr": "txn->rep->Delete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transaction_t*",
|
|
"name": "txn"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"column_family->rep",
|
|
"Slice(key, klen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transaction_commit",
|
|
"call_expr": "txn->rep->Commit",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transaction_t*",
|
|
"name": "txn"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transaction_rollback",
|
|
"call_expr": "txn->rep->Rollback",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transaction_t*",
|
|
"name": "txn"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "void_method",
|
|
"name": "rocksdb_transaction_put_log_data",
|
|
"call_expr": "txn->rep->PutLogData",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transaction_t*",
|
|
"name": "txn"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "blob",
|
|
"len_name": "len"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"Slice(blob, len)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "void_method",
|
|
"name": "rocksdb_transaction_set_savepoint",
|
|
"call_expr": "txn->rep->SetSavePoint",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transaction_t*",
|
|
"name": "txn"
|
|
}
|
|
],
|
|
"method_args": []
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transaction_rollback_to_savepoint",
|
|
"call_expr": "txn->rep->RollbackToSavePoint",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transaction_t*",
|
|
"name": "txn"
|
|
}
|
|
],
|
|
"method_args": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "TransactionDB simple",
|
|
"functions": [
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transactiondb_put",
|
|
"call_expr": "txn_db->rep->Put",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transactiondb_t*",
|
|
"name": "txn_db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vlen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"Slice(key, klen)",
|
|
"Slice(val, vlen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transactiondb_put_cf",
|
|
"call_expr": "txn_db->rep->Put",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transactiondb_t*",
|
|
"name": "txn_db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vallen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep",
|
|
"Slice(key, keylen)",
|
|
"Slice(val, vallen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transactiondb_write",
|
|
"call_expr": "db->rep->Write",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transactiondb_t*",
|
|
"name": "db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_writebatch_t*",
|
|
"name": "batch"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"&batch->rep"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transactiondb_merge",
|
|
"call_expr": "txn_db->rep->Merge",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transactiondb_t*",
|
|
"name": "txn_db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vlen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"Slice(key, klen)",
|
|
"Slice(val, vlen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transactiondb_merge_cf",
|
|
"call_expr": "txn_db->rep->Merge",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transactiondb_t*",
|
|
"name": "txn_db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "val",
|
|
"len_name": "vlen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep",
|
|
"Slice(key, klen)",
|
|
"Slice(val, vlen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transactiondb_delete",
|
|
"call_expr": "txn_db->rep->Delete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transactiondb_t*",
|
|
"name": "txn_db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "klen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"Slice(key, klen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transactiondb_delete_cf",
|
|
"call_expr": "txn_db->rep->Delete",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transactiondb_t*",
|
|
"name": "txn_db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_writeoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
},
|
|
{
|
|
"kind": "slice",
|
|
"name": "key",
|
|
"len_name": "keylen"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep",
|
|
"Slice(key, keylen)"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transactiondb_flush_wal",
|
|
"call_expr": "txn_db->rep->FlushWAL",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transactiondb_t*",
|
|
"name": "txn_db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "unsigned char",
|
|
"name": "sync"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"sync"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transactiondb_flush",
|
|
"call_expr": "txn_db->rep->Flush",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transactiondb_t*",
|
|
"name": "txn_db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_flushoptions_t*",
|
|
"name": "options"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep"
|
|
]
|
|
},
|
|
{
|
|
"kind": "status_method",
|
|
"name": "rocksdb_transactiondb_flush_cf",
|
|
"call_expr": "txn_db->rep->Flush",
|
|
"params": [
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_transactiondb_t*",
|
|
"name": "txn_db"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "const rocksdb_flushoptions_t*",
|
|
"name": "options"
|
|
},
|
|
{
|
|
"kind": "scalar",
|
|
"c_type": "rocksdb_column_family_handle_t*",
|
|
"name": "column_family"
|
|
}
|
|
],
|
|
"method_args": [
|
|
"options->rep",
|
|
"column_family->rep"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "BlockBasedOptions simple",
|
|
"functions": [
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_block_based_options_set_data_block_hash_ratio",
|
|
"receiver_type": "rocksdb_block_based_table_options_t*",
|
|
"receiver_name": "options",
|
|
"value_type": "double",
|
|
"value_name": "v",
|
|
"field": "options->rep.data_block_hash_table_util_ratio"
|
|
},
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_block_based_options_set_top_level_index_pinning_tier",
|
|
"receiver_type": "rocksdb_block_based_table_options_t*",
|
|
"receiver_name": "options",
|
|
"value_type": "int",
|
|
"value_name": "v",
|
|
"field": "options->rep.metadata_cache_options.top_level_index_pinning",
|
|
"value_expr": "static_cast<ROCKSDB_NAMESPACE::PinningTier>(v)"
|
|
},
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_block_based_options_set_partition_pinning_tier",
|
|
"receiver_type": "rocksdb_block_based_table_options_t*",
|
|
"receiver_name": "options",
|
|
"value_type": "int",
|
|
"value_name": "v",
|
|
"field": "options->rep.metadata_cache_options.partition_pinning",
|
|
"value_expr": "static_cast<ROCKSDB_NAMESPACE::PinningTier>(v)"
|
|
},
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_block_based_options_set_unpartitioned_pinning_tier",
|
|
"receiver_type": "rocksdb_block_based_table_options_t*",
|
|
"receiver_name": "options",
|
|
"value_type": "int",
|
|
"value_name": "v",
|
|
"field": "options->rep.metadata_cache_options.unpartitioned_pinning",
|
|
"value_expr": "static_cast<ROCKSDB_NAMESPACE::PinningTier>(v)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "JobInfo metadata simple",
|
|
"functions": [
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_compactionjobinfo_input_files_count",
|
|
"receiver_type": "const rocksdb_compactionjobinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "size_t",
|
|
"expr": "info->rep.input_files.size()"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_compactionjobinfo_output_files_count",
|
|
"receiver_type": "const rocksdb_compactionjobinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "size_t",
|
|
"expr": "info->rep.output_files.size()"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_compactionjobinfo_elapsed_micros",
|
|
"receiver_type": "const rocksdb_compactionjobinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "uint64_t",
|
|
"expr": "info->rep.stats.elapsed_micros"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_compactionjobinfo_num_corrupt_keys",
|
|
"receiver_type": "const rocksdb_compactionjobinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "uint64_t",
|
|
"expr": "info->rep.stats.num_corrupt_keys"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_compactionjobinfo_input_records",
|
|
"receiver_type": "const rocksdb_compactionjobinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "uint64_t",
|
|
"expr": "info->rep.stats.num_input_records"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_compactionjobinfo_output_records",
|
|
"receiver_type": "const rocksdb_compactionjobinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "uint64_t",
|
|
"expr": "info->rep.stats.num_output_records"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_compactionjobinfo_total_input_bytes",
|
|
"receiver_type": "const rocksdb_compactionjobinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "uint64_t",
|
|
"expr": "info->rep.stats.total_input_bytes"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_compactionjobinfo_total_output_bytes",
|
|
"receiver_type": "const rocksdb_compactionjobinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "uint64_t",
|
|
"expr": "info->rep.stats.total_output_bytes"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_compactionjobinfo_num_input_files",
|
|
"receiver_type": "const rocksdb_compactionjobinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "size_t",
|
|
"expr": "info->rep.stats.num_input_files"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_compactionjobinfo_num_input_files_at_output_level",
|
|
"receiver_type": "const rocksdb_compactionjobinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "size_t",
|
|
"expr": "info->rep.stats.num_input_files_at_output_level"
|
|
},
|
|
{
|
|
"kind": "string_field_getter",
|
|
"name": "rocksdb_writestallinfo_cf_name",
|
|
"receiver_type": "const rocksdb_writestallinfo_t*",
|
|
"receiver_name": "info",
|
|
"len_type": "size_t*",
|
|
"len_name": "size",
|
|
"expr": "info->rep.cf_name"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_writestallinfo_cur",
|
|
"receiver_type": "const rocksdb_writestallinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "const rocksdb_writestallcondition_t*",
|
|
"expr": "reinterpret_cast<const rocksdb_writestallcondition_t*>(&info->rep.condition.cur)"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_writestallinfo_prev",
|
|
"receiver_type": "const rocksdb_writestallinfo_t*",
|
|
"receiver_name": "info",
|
|
"return_type": "const rocksdb_writestallcondition_t*",
|
|
"expr": "reinterpret_cast<const rocksdb_writestallcondition_t*>(&info->rep.condition.prev)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "CuckooOptions simple",
|
|
"functions": [
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_cuckoo_options_set_hash_ratio",
|
|
"receiver_type": "rocksdb_cuckoo_table_options_t*",
|
|
"receiver_name": "options",
|
|
"value_type": "double",
|
|
"value_name": "v",
|
|
"field": "options->rep.hash_table_ratio"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Options simple",
|
|
"functions": [
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_options_set_compression_options_zstd_max_train_bytes",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"value_type": "int",
|
|
"value_name": "zstd_max_train_bytes",
|
|
"field": "opt->rep.compression_opts.zstd_max_train_bytes"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_options_get_compression_options_zstd_max_train_bytes",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"return_type": "int",
|
|
"expr": "opt->rep.compression_opts.zstd_max_train_bytes"
|
|
},
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_options_set_compression_options_use_zstd_dict_trainer",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"value_type": "unsigned char",
|
|
"value_name": "use_zstd_dict_trainer",
|
|
"field": "opt->rep.compression_opts.use_zstd_dict_trainer"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_options_get_compression_options_use_zstd_dict_trainer",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"return_type": "unsigned char",
|
|
"expr": "opt->rep.compression_opts.use_zstd_dict_trainer"
|
|
},
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_options_set_compression_options_parallel_threads",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"value_type": "int",
|
|
"value_name": "value",
|
|
"field": "opt->rep.compression_opts.parallel_threads"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_options_get_compression_options_parallel_threads",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"return_type": "int",
|
|
"expr": "opt->rep.compression_opts.parallel_threads"
|
|
},
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_options_set_compression_options_max_dict_buffer_bytes",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"value_type": "uint64_t",
|
|
"value_name": "max_dict_buffer_bytes",
|
|
"field": "opt->rep.compression_opts.max_dict_buffer_bytes"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_options_get_compression_options_max_dict_buffer_bytes",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"return_type": "uint64_t",
|
|
"expr": "opt->rep.compression_opts.max_dict_buffer_bytes"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_options_get_bottommost_compression_options_use_zstd_dict_trainer",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"return_type": "unsigned char",
|
|
"expr": "opt->rep.bottommost_compression_opts.use_zstd_dict_trainer"
|
|
},
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_options_set_use_fsync",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"value_type": "int",
|
|
"value_name": "use_fsync",
|
|
"field": "opt->rep.use_fsync"
|
|
},
|
|
{
|
|
"kind": "field_getter",
|
|
"name": "rocksdb_options_get_use_fsync",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"return_type": "int",
|
|
"expr": "opt->rep.use_fsync"
|
|
},
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_options_set_disable_auto_compactions",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"value_type": "int",
|
|
"value_name": "disable",
|
|
"field": "opt->rep.disable_auto_compactions"
|
|
},
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_options_set_optimize_filters_for_hits",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"value_type": "int",
|
|
"value_name": "v",
|
|
"field": "opt->rep.optimize_filters_for_hits"
|
|
},
|
|
{
|
|
"kind": "field_setter",
|
|
"name": "rocksdb_options_set_report_bg_io_stats",
|
|
"receiver_type": "rocksdb_options_t*",
|
|
"receiver_name": "opt",
|
|
"value_type": "int",
|
|
"value_name": "v",
|
|
"field": "opt->rep.report_bg_io_stats"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|