You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Opened database at './mydb' (object-store s3:minio.local:9000/tidesdb)
104
133
```
105
134
106
135
:::note[Unified Memtable Mode]
@@ -111,6 +140,10 @@ When `--unified` is set, all column families share a single skip list and WAL in
111
140
`--object-store-fs <root_dir>` attaches a filesystem-backed object-store connector that mirrors objects under the given directory. This is intended for testing and local replication scenarios. Object-store mode automatically enables unified memtable mode. The connector is destroyed when the database is closed. Combine with `--obj-cache-max-bytes`, `--obj-replica-mode`, `--obj-replica-sync-interval`, and `--obj-wal-sync-on-commit` to tune behavior.
112
141
:::
113
142
143
+
:::note[S3 Object Store]
144
+
`--object-store-s3` attaches an S3-compatible connector (AWS S3, MinIO, etc.). It is only available when the linked TidesDB library was built with `TIDESDB_WITH_S3=ON`; otherwise the command reports `This TidesDB library was built without S3 support` and the open is rejected (the connector symbol is resolved at runtime, so the tool still runs against an S3-off library). At a minimum supply `--s3-endpoint` and `--s3-bucket`; credentials may be passed with `--s3-access-key`/`--s3-secret-key` or left to the standard `AWS_ACCESS_KEY_ID`/`AWS_SECRET_ACCESS_KEY`/`AWS_REGION` environment variables. Use `--s3-path-style` for MinIO. The shared `--obj-*` tuning flags apply to both the filesystem and S3 connectors.
|`--reverse`| Iterate from the last key to the first (descending order) |
440
+
|`--isolation <level>`| Open the read transaction at a specific isolation level: `read_uncommitted`\|`read_committed`\|`repeatable_read`\|`snapshot`\|`serializable`|
@@ -426,27 +476,31 @@ Show SSTable file information.
426
476
sstable-info <klog_path>
427
477
```
428
478
479
+
:::note[On-disk format handling]
480
+
The SSTable inspectors parse the klog directly off disk: they read the trailing metadata block to find how many leading blocks are key/value data blocks (the remaining blocks are the block-index, bloom and metadata blobs), skip each data block's header, and decompress data blocks with the column family's compression algorithm before decoding entries. Entries written by `single-delete` are labelled `[SINGLE-DEL]`; plain tombstones are labelled `[DEL]`.
481
+
:::
482
+
429
483
### sstable-dump
430
-
Dump SSTable entries (keys and values).
484
+
Dump SSTable entries (keys and values). Tombstones are shown as `[DEL]`, single-deletes as `[SINGLE-DEL]`, expiring keys as `[TTL:<expiry>]`, and vlog-stored values as `[VLOG:<offset>]`.
431
485
```
432
486
sstable-dump <klog_path> [limit]
433
487
```
434
488
Default limit: 1000
435
489
436
490
### sstable-dump-full
437
-
Dump SSTable entries with vlog value resolution.
491
+
Dump SSTable entries with vlog value resolution. When `vlog_path` is supplied, values stored in the vlog are read back and decompressed (using the SSTable's compression algorithm) instead of being shown as `(in vlog, N bytes)`.
438
492
```
439
493
sstable-dump-full <klog_path> [vlog_path] [limit]
440
494
```
441
495
442
496
### sstable-stats
443
-
Show SSTable statistics.
497
+
Show SSTable statistics, including total entries, tombstones (and how many are single-deletes), TTL entries, vlog references, sequence range, and key/value size distribution.
444
498
```
445
499
sstable-stats <klog_path>
446
500
```
447
501
448
502
### sstable-keys
449
-
List only keys from an SSTable.
503
+
List only keys from an SSTable. Single-delete and plain tombstones are flagged inline.
450
504
```
451
505
sstable-keys <klog_path> [limit]
452
506
```
@@ -458,7 +512,7 @@ sstable-checksum <klog_path>
458
512
```
459
513
460
514
### bloom-stats
461
-
Show bloom filter statistics for an SSTable.
515
+
Show bloom filter statistics for an SSTable, including the filter size, hash function count, hash version (1 = legacy, 2 = fmix-finalized), fill ratio, and estimated false-positive rate.
462
516
```
463
517
bloom-stats <klog_path>
464
518
```
@@ -484,11 +538,11 @@ wal-dump <wal_path> [limit]
484
538
```
485
539
Default limit: 1000
486
540
487
-
For unified WAL files (created when using `--unified` mode), each entry is prefixed with `[CF:<index>]` showing which column family the entry belongs to. Unified WAL blocks can contain multiple entries per block.
541
+
For unified WAL files (created when using `--unified` mode), each entry is prefixed with `[CF:<index>]` showing which column family the entry belongs to. Both WAL formats pack every operation of a committed transaction into a single block, so one block can hold many entries — `wal-dump` decodes them all. Entries are labelled `[PUT]`, `[DELETE]`, or `[SINGLE-DELETE]`.
@@ -811,6 +865,123 @@ Promoted to primary successfully.
811
865
- After promotion, writes are accepted normally
812
866
- Returns an error if the database is already a primary
813
867
868
+
### cancel-background-work
869
+
Cancel background compaction across the whole database for a fast shutdown. In-flight merges bail out safely and queued compaction is skipped; flushes are left untouched so durability is preserved. The cancellation is sticky for the session and is reset on the next `open` — typically issued right before `close`.
870
+
```
871
+
cancel-background-work
872
+
```
873
+
874
+
**Example**
875
+
```
876
+
admintool(./mydb)> cancel-background-work
877
+
Background compaction cancelled (flushes preserved). Sticky until next open.
878
+
```
879
+
880
+
### raise-open-file-limit
881
+
Raise this process's open-file ceiling so the engine can keep more SSTables open. Because the engine sizes `max_open_sstables` to fit the ceiling at open time, run this **before**`open`. With no argument (or a non-positive one) it just reports the current ceiling.
882
+
```
883
+
raise-open-file-limit [n]
884
+
```
885
+
886
+
**Example**
887
+
```
888
+
admintool> raise-open-file-limit 100000
889
+
Requested open-file ceiling 100000; effective ceiling now 100000.
890
+
admintool> open ./mydb
891
+
```
892
+
893
+
## Transactions
894
+
895
+
admintool can hold a single transaction open across interactive prompts, which makes the isolation, savepoint, and reset APIs reachable from the command line. Begin a transaction with `txn-begin`, stage operations with the `txn-*` commands, then finish with `txn-commit` or `txn-rollback`. Closing the database (or leaving admintool) automatically rolls back an open transaction.
896
+
897
+
### txn-begin
898
+
Begin a transaction, optionally at a specific isolation level (default `read_committed`).
0 commit comments