Coverage for src / local_deep_research / settings / env_definitions / db_config.py: 100%
2 statements
« prev ^ index » next coverage.py v7.12.0, created at 2026-01-11 00:51 +0000
« prev ^ index » next coverage.py v7.12.0, created at 2026-01-11 00:51 +0000
1"""
2Database configuration environment settings.
4These settings control SQLite and SQLCipher database parameters
5that must be set before opening the database connection.
6"""
8from ..env_settings import (
9 IntegerSetting,
10 StringSetting,
11 EnumSetting,
12)
15# Database configuration settings
16DB_CONFIG_SETTINGS = [
17 # Performance settings
18 IntegerSetting(
19 key="db_config.cache_size_mb",
20 description="SQLite cache size in MB",
21 min_value=1,
22 max_value=10000,
23 default=100,
24 ),
25 EnumSetting(
26 key="db_config.journal_mode",
27 description="SQLite journal mode",
28 allowed_values={
29 "DELETE",
30 "TRUNCATE",
31 "PERSIST",
32 "MEMORY",
33 "WAL",
34 "OFF",
35 },
36 default="WAL",
37 case_sensitive=False,
38 ),
39 EnumSetting(
40 key="db_config.synchronous",
41 description="SQLite synchronous mode",
42 allowed_values={"OFF", "NORMAL", "FULL", "EXTRA"},
43 default="NORMAL",
44 case_sensitive=False,
45 ),
46 # Storage settings
47 IntegerSetting(
48 key="db_config.page_size",
49 description="SQLite page size (must be power of 2)",
50 min_value=512,
51 max_value=65536,
52 default=4096,
53 ),
54 # Encryption settings
55 IntegerSetting(
56 key="db_config.kdf_iterations",
57 description="Number of KDF iterations for key derivation",
58 min_value=1000,
59 max_value=1000000,
60 default=256000,
61 ),
62 StringSetting(
63 key="db_config.kdf_algorithm",
64 description="Key derivation function algorithm",
65 default="PBKDF2_HMAC_SHA512",
66 ),
67 StringSetting(
68 key="db_config.hmac_algorithm",
69 description="HMAC algorithm for database integrity",
70 default="HMAC_SHA512",
71 ),
72]