Database schema optimization - part 10

This commit is contained in:
mdecimus
2025-11-11 18:47:29 +01:00
parent 836bc5b7fd
commit 3e181ae467
71 changed files with 1134 additions and 773 deletions

345
Cargo.lock generated
View File

@@ -378,18 +378,17 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]]
name = "attohttpc"
version = "0.30.1"
version = "0.28.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16e2cdb6d5ed835199484bb92bb8b3edd526effe995c61732580439c1a67e2e9"
checksum = "07a9b245ba0739fc90935094c29adbaee3f977218b5fb95e822e261cda7f56a3"
dependencies = [
"base64 0.22.1",
"http 1.3.1",
"log",
"rustls 0.23.35",
"serde",
"serde_json",
"url",
"webpki-roots 1.0.4",
"webpki-roots 0.26.11",
]
[[package]]
@@ -400,51 +399,28 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
[[package]]
name = "aws-creds"
version = "0.39.0"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b13804829a843b3f26e151c97acbb315ee1177a2724690edfcd28f1894146200"
checksum = "7f84143206b9c72b3c5cb65415de60c7539c79cd1559290fddec657939131be0"
dependencies = [
"attohttpc",
"home",
"log",
"quick-xml 0.38.3",
"quick-xml 0.32.0",
"rust-ini",
"serde",
"thiserror 2.0.17",
"thiserror 1.0.69",
"time",
"url",
]
[[package]]
name = "aws-lc-rs"
version = "1.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "879b6c89592deb404ba4dc0ae6b58ffd1795c78991cbb5b8bc441c48a070440d"
dependencies = [
"aws-lc-sys",
"zeroize",
]
[[package]]
name = "aws-lc-sys"
version = "0.32.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "107a4e9d9cab9963e04e84bb8dee0e25f2a987f9a8bad5ed054abd439caa8f8c"
dependencies = [
"bindgen 0.72.1",
"cc",
"cmake",
"dunce",
"fs_extra",
]
[[package]]
name = "aws-region"
version = "0.28.0"
version = "0.25.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5532f65342f789f9c1b7078ea9c9cd9293cd62dcc284fa99adc4a1c9ba43469c"
checksum = "e9aed3f9c7eac9be28662fdb3b0f4d1951e812f7c64fed4f0327ba702f459b3b"
dependencies = [
"thiserror 2.0.17",
"thiserror 1.0.69",
]
[[package]]
@@ -643,8 +619,6 @@ dependencies = [
"cexpr",
"clang-sys",
"itertools 0.13.0",
"log",
"prettyplease",
"proc-macro2",
"quote",
"regex",
@@ -1190,7 +1164,7 @@ dependencies = [
"futures",
"hashify",
"hostname",
"hyper",
"hyper 1.7.0",
"idna",
"imagesize",
"imap_proto",
@@ -1202,7 +1176,7 @@ dependencies = [
"mail-builder",
"mail-parser",
"mail-send",
"md5",
"md5 0.8.0",
"nlp",
"num_cpus",
"opentelemetry",
@@ -1673,7 +1647,7 @@ dependencies = [
"groupware",
"hashify",
"http_proto",
"hyper",
"hyper 1.7.0",
"percent-encoding",
"rkyv",
"store",
@@ -1690,7 +1664,7 @@ dependencies = [
"chrono",
"compact_str",
"hashify",
"hyper",
"hyper 1.7.0",
"mail-parser",
"quick-xml 0.38.3",
"rkyv",
@@ -1863,7 +1837,7 @@ dependencies = [
"mail-builder",
"mail-parser",
"mail-send",
"md5",
"md5 0.8.0",
"nlp",
"password-hash",
"pbkdf2",
@@ -1988,12 +1962,6 @@ dependencies = [
"zeroize",
]
[[package]]
name = "dunce"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
[[package]]
name = "dyn-clone"
version = "1.0.20"
@@ -2489,12 +2457,6 @@ dependencies = [
"uuid",
]
[[package]]
name = "fs_extra"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
[[package]]
name = "funty"
version = "2.0.0"
@@ -3048,7 +3010,7 @@ dependencies = [
"groupware",
"http-body-util",
"http_proto",
"hyper",
"hyper 1.7.0",
"hyper-util",
"jmap",
"jmap_proto",
@@ -3089,6 +3051,17 @@ dependencies = [
"itoa",
]
[[package]]
name = "http-body"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
dependencies = [
"bytes",
"http 0.2.12",
"pin-project-lite",
]
[[package]]
name = "http-body"
version = "1.0.1"
@@ -3108,7 +3081,7 @@ dependencies = [
"bytes",
"futures-core",
"http 1.3.1",
"http-body",
"http-body 1.0.1",
"pin-project-lite",
]
@@ -3140,7 +3113,7 @@ dependencies = [
"compact_str",
"form_urlencoded",
"http-body-util",
"hyper",
"hyper 1.7.0",
"hyper-util",
"percent-encoding",
"serde",
@@ -3172,6 +3145,29 @@ version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424"
[[package]]
name = "hyper"
version = "0.14.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7"
dependencies = [
"bytes",
"futures-channel",
"futures-core",
"futures-util",
"http 0.2.12",
"http-body 0.4.6",
"httparse",
"httpdate",
"itoa",
"pin-project-lite",
"socket2 0.5.10",
"tokio",
"tower-service",
"tracing",
"want",
]
[[package]]
name = "hyper"
version = "1.7.0"
@@ -3184,7 +3180,7 @@ dependencies = [
"futures-core",
"h2 0.4.12",
"http 1.3.1",
"http-body",
"http-body 1.0.1",
"httparse",
"httpdate",
"itoa",
@@ -3195,6 +3191,20 @@ dependencies = [
"want",
]
[[package]]
name = "hyper-rustls"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
dependencies = [
"futures-util",
"http 0.2.12",
"hyper 0.14.32",
"rustls 0.21.12",
"tokio",
"tokio-rustls 0.24.1",
]
[[package]]
name = "hyper-rustls"
version = "0.27.7"
@@ -3202,7 +3212,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58"
dependencies = [
"http 1.3.1",
"hyper",
"hyper 1.7.0",
"hyper-util",
"rustls 0.23.35",
"rustls-pki-types",
@@ -3218,7 +3228,7 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0"
dependencies = [
"hyper",
"hyper 1.7.0",
"hyper-util",
"pin-project-lite",
"tokio",
@@ -3237,8 +3247,8 @@ dependencies = [
"futures-core",
"futures-util",
"http 1.3.1",
"http-body",
"hyper",
"http-body 1.0.1",
"hyper 1.7.0",
"ipnet",
"libc",
"percent-encoding",
@@ -3261,7 +3271,7 @@ dependencies = [
"js-sys",
"log",
"wasm-bindgen",
"windows-core 0.62.2",
"windows-core",
]
[[package]]
@@ -3409,7 +3419,7 @@ dependencies = [
"indexmap 2.12.0",
"mail-parser",
"mail-send",
"md5",
"md5 0.8.0",
"nlp",
"parking_lot",
"rand 0.9.2",
@@ -3703,7 +3713,7 @@ dependencies = [
"hkdf",
"http-body-util",
"http_proto",
"hyper",
"hyper 1.7.0",
"hyper-util",
"jmap-tools",
"jmap_proto",
@@ -4235,7 +4245,7 @@ checksum = "114a4e27f3cfaf8918783e8fa4149b820c813b1bedc7755e20e12eff4518331e"
dependencies = [
"base64 0.22.1",
"gethostname",
"md5",
"md5 0.8.0",
"rustls 0.23.35",
"rustls-pki-types",
"smtp-proto",
@@ -4258,7 +4268,7 @@ dependencies = [
"jmap_proto",
"mail-parser",
"mail-send",
"md5",
"md5 0.8.0",
"parking_lot",
"rkyv",
"rustls 0.23.35",
@@ -4319,6 +4329,12 @@ dependencies = [
"digest 0.10.7",
]
[[package]]
name = "md5"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
[[package]]
name = "md5"
version = "0.8.0"
@@ -4648,15 +4664,6 @@ dependencies = [
"serde",
]
[[package]]
name = "ntapi"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
dependencies = [
"winapi",
]
[[package]]
name = "nu-ansi-term"
version = "0.50.3"
@@ -4775,25 +4782,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
[[package]]
name = "objc2-core-foundation"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
dependencies = [
"bitflags",
]
[[package]]
name = "objc2-io-kit"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15"
dependencies = [
"libc",
"objc2-core-foundation",
]
[[package]]
name = "object"
version = "0.37.3"
@@ -5680,6 +5668,16 @@ dependencies = [
"serde",
]
[[package]]
name = "quick-xml"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2"
dependencies = [
"memchr",
"serde",
]
[[package]]
name = "quick-xml"
version = "0.38.3"
@@ -5687,7 +5685,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89"
dependencies = [
"memchr",
"serde",
]
[[package]]
@@ -6184,10 +6181,10 @@ dependencies = [
"futures-util",
"h2 0.4.12",
"http 1.3.1",
"http-body",
"http-body 1.0.1",
"http-body-util",
"hyper",
"hyper-rustls",
"hyper 1.7.0",
"hyper-rustls 0.27.7",
"hyper-util",
"js-sys",
"log",
@@ -6415,9 +6412,9 @@ dependencies = [
[[package]]
name = "rust-s3"
version = "0.37.0"
version = "0.35.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94f9b973bd4097f5bb47e5827dcb9fb5dc17e93879e46badc27d2a4e9a4e5588"
checksum = "c3df3f353b1f4209dcf437d777cda90279c397ab15a0cd6fd06bd32c88591533"
dependencies = [
"async-trait",
"aws-creds",
@@ -6425,24 +6422,27 @@ dependencies = [
"base64 0.22.1",
"bytes",
"cfg-if",
"futures-util",
"futures",
"hex",
"hmac 0.12.1",
"http 1.3.1",
"http 0.2.12",
"hyper 0.14.32",
"hyper-rustls 0.24.2",
"log",
"maybe-async",
"md5",
"md5 0.7.0",
"percent-encoding",
"quick-xml 0.38.3",
"reqwest",
"quick-xml 0.32.0",
"rustls 0.21.12",
"rustls-native-certs 0.6.3",
"serde",
"serde_derive",
"serde_json",
"sha2 0.10.9",
"sysinfo",
"thiserror 2.0.17",
"thiserror 1.0.69",
"time",
"tokio",
"tokio-rustls 0.24.1",
"tokio-stream",
"url",
]
@@ -6524,7 +6524,6 @@ version = "0.23.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f"
dependencies = [
"aws-lc-rs",
"log",
"once_cell",
"ring",
@@ -6534,6 +6533,18 @@ dependencies = [
"zeroize",
]
[[package]]
name = "rustls-native-certs"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
dependencies = [
"openssl-probe",
"rustls-pemfile 1.0.4",
"schannel",
"security-framework 2.11.1",
]
[[package]]
name = "rustls-native-certs"
version = "0.7.3"
@@ -6641,7 +6652,6 @@ version = "0.103.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52"
dependencies = [
"aws-lc-rs",
"ring",
"rustls-pki-types",
"untrusted",
@@ -7324,14 +7334,14 @@ dependencies = [
"email",
"form_urlencoded",
"http-body-util",
"hyper",
"hyper 1.7.0",
"hyper-util",
"lru-cache",
"mail-auth",
"mail-builder",
"mail-parser",
"mail-send",
"md5",
"md5 0.8.0",
"nlp",
"num_cpus",
"parking_lot",
@@ -7420,7 +7430,7 @@ dependencies = [
"common",
"compact_str",
"decancer",
"hyper",
"hyper 1.7.0",
"idna",
"infer 0.19.0",
"mail-auth",
@@ -7603,6 +7613,7 @@ dependencies = [
"rocksdb",
"rusqlite",
"rust-s3",
"rustls 0.21.12",
"rustls 0.23.35",
"rustls-pki-types",
"serde",
@@ -7694,20 +7705,6 @@ dependencies = [
"syn 2.0.108",
]
[[package]]
name = "sysinfo"
version = "0.37.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f"
dependencies = [
"libc",
"memchr",
"ntapi",
"objc2-core-foundation",
"objc2-io-kit",
"windows",
]
[[package]]
name = "tagptr"
version = "0.2.0"
@@ -7766,7 +7763,7 @@ dependencies = [
"http 0.14.1",
"http-body-util",
"http_proto",
"hyper",
"hyper 1.7.0",
"hyper-util",
"imap",
"imap_proto",
@@ -7775,6 +7772,7 @@ dependencies = [
"jmap-client 0.4.0",
"jmap_proto",
"mail-auth",
"mail-builder",
"mail-parser",
"mail-send",
"managesieve",
@@ -8119,9 +8117,9 @@ dependencies = [
"base64 0.22.1",
"bytes",
"http 1.3.1",
"http-body",
"http-body 1.0.1",
"http-body-util",
"hyper",
"hyper 1.7.0",
"hyper-timeout",
"hyper-util",
"percent-encoding",
@@ -8198,7 +8196,7 @@ dependencies = [
"bytes",
"futures-util",
"http 1.3.1",
"http-body",
"http-body 1.0.1",
"iri-string",
"pin-project-lite",
"tower 0.5.2",
@@ -8901,41 +8899,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows"
version = "0.61.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893"
dependencies = [
"windows-collections",
"windows-core 0.61.2",
"windows-future",
"windows-link 0.1.3",
"windows-numerics",
]
[[package]]
name = "windows-collections"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8"
dependencies = [
"windows-core 0.61.2",
]
[[package]]
name = "windows-core"
version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
dependencies = [
"windows-implement",
"windows-interface",
"windows-link 0.1.3",
"windows-result 0.3.4",
"windows-strings 0.4.2",
]
[[package]]
name = "windows-core"
version = "0.62.2"
@@ -8945,19 +8908,8 @@ dependencies = [
"windows-implement",
"windows-interface",
"windows-link 0.2.1",
"windows-result 0.4.1",
"windows-strings 0.5.1",
]
[[package]]
name = "windows-future"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e"
dependencies = [
"windows-core 0.61.2",
"windows-link 0.1.3",
"windows-threading",
"windows-result",
"windows-strings",
]
[[package]]
@@ -8994,25 +8946,6 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
[[package]]
name = "windows-numerics"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1"
dependencies = [
"windows-core 0.61.2",
"windows-link 0.1.3",
]
[[package]]
name = "windows-result"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
dependencies = [
"windows-link 0.1.3",
]
[[package]]
name = "windows-result"
version = "0.4.1"
@@ -9022,15 +8955,6 @@ dependencies = [
"windows-link 0.2.1",
]
[[package]]
name = "windows-strings"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
dependencies = [
"windows-link 0.1.3",
]
[[package]]
name = "windows-strings"
version = "0.5.1"
@@ -9157,15 +9081,6 @@ dependencies = [
"windows_x86_64_msvc 0.53.1",
]
[[package]]
name = "windows-threading"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6"
dependencies = [
"windows-link 0.1.3",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.42.2"