Skip to content

Commit fdf8f73

Browse files
authored
Merge pull request #534 from tidesdb/ts-ref2
update typescript reference
2 parents 40575c8 + c6c6d12 commit fdf8f73

1 file changed

Lines changed: 38 additions & 1 deletion

File tree

src/content/docs/reference/typescript.md

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ npm install tidesdb
7676
### Opening and Closing a Database
7777

7878
```typescript
79-
import { TidesDB, LogLevel } from 'tidesdb';
79+
import { TidesDB, LogLevel, SyncMode } from 'tidesdb';
8080

8181
const db = TidesDB.open({
8282
dbPath: './mydb',
@@ -97,6 +97,7 @@ const db = TidesDB.open({
9797
maxConcurrentFlushes: 0, // Cap on in-flight memtable flushes across all CFs (0 = library default)
9898
finishCompactionsOnClose: false, // false = fast shutdown (cancel in-flight compactions); true = let them finish
9999
objectStoreFsPath: '/path/to/store', // Enable object store mode (FS connector)
100+
objectStoreS3Config: { ... }, // Alternative connector: S3-compatible store (see Object Store Mode)
100101
objectStoreConfig: { ... }, // Object store behavior config (optional)
101102
});
102103

@@ -205,6 +206,42 @@ db.renameColumnFamily('old_name', 'new_name');
205206
db.cloneColumnFamily('source_cf', 'cloned_cf');
206207
```
207208

209+
#### Column Family Configuration Reference
210+
211+
Every field on `ColumnFamilyConfig` is optional; omitted fields inherit the library default returned by `defaultColumnFamilyConfig()`. The example above sets only a common subset.
212+
213+
| Field | Type | Description |
214+
|---|---|---|
215+
| `writeBufferSize` | `number` | Memtable size in bytes that triggers a flush |
216+
| `levelSizeRatio` | `number` | Size ratio between adjacent LSM levels |
217+
| `minLevels` | `number` | Minimum number of LSM levels |
218+
| `dividingLevelOffset` | `number` | Offset for the dividing level |
219+
| `klogValueThreshold` | `number` | Value size at/above which values are separated into the vlog |
220+
| `compressionAlgorithm` | `CompressionAlgorithm` | Compression backend for this CF's SSTables |
221+
| `enableBloomFilter` | `boolean` | Enable bloom filters on SSTables |
222+
| `bloomFpr` | `number` | Bloom filter target false-positive rate |
223+
| `enableBlockIndexes` | `boolean` | Enable per-block indexes |
224+
| `indexSampleRatio` | `number` | Sample 1 in N keys when building sparse indexes |
225+
| `blockIndexPrefixLen` | `number` | Block index key prefix length |
226+
| `syncMode` | `SyncMode` | WAL durability mode |
227+
| `syncIntervalUs` | `number` | Sync interval in microseconds (used by `SyncMode.Interval`) |
228+
| `comparatorName` | `string` | Key comparator name (built-in or registered) |
229+
| `skipListMaxLevel` | `number` | Skip list max level for new memtables |
230+
| `skipListProbability` | `number` | Skip list level probability for new memtables |
231+
| `defaultIsolationLevel` | `IsolationLevel` | Default isolation level for transactions on this CF |
232+
| `minDiskSpace` | `number` | Minimum free disk space required, in bytes |
233+
| `l1FileCountTrigger` | `number` | L1 file count that triggers compaction |
234+
| `l0QueueStallThreshold` | `number` | L0 queue depth that applies write backpressure |
235+
| `tombstoneDensityTrigger` | `number` | Per-SSTable tombstone density above which compaction escalates (`[0.0, 1.0]`, `0.0` = disabled) |
236+
| `tombstoneDensityMinEntries` | `number` | Minimum entry count for an SSTable to be considered by the density trigger (default `1024`) |
237+
| `useBtree` | `boolean` | Use B+tree klog format instead of block-based (default `false`); cannot be changed after creation |
238+
| `objectLazyCompaction` | `boolean` | Compact less aggressively in object store mode (default `false`) |
239+
| `objectPrefetchCompaction` | `boolean` | Download all inputs before a compaction merge in object store mode (default `true`) |
240+
241+
:::note[Immutable fields]
242+
Several fields cannot be changed once a column family exists -- see [Updating Runtime Configuration](#updating-runtime-configuration) for the exact updatable/non-updatable split.
243+
:::
244+
208245
### CRUD Operations
209246

210247
All operations in TidesDB are performed through transactions for ACID guarantees.

0 commit comments

Comments
 (0)