Skip to main content

max / balanced_breakfast

Bump sqlx to 0.9 sqlx 0.8.6 -> 0.9.0. Now co-links with synckit-client's rusqlite 0.39 on libsqlite3-sys 0.37 (the conflict that surfaced here is resolved by the shared version). 0.9 changes: dynamic SQL wrapped in sqlx::AssertSqlSafe, ArgumentBuffer/SqliteArguments lifetime dropped in custom Encode/Decode impls. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-21 01:23 UTC
Commit: 500e207a6ef06b4586895c7832f3043a7ba022a9
Parent: 4fb06de
7 files changed, +128 insertions, -155 deletions
M Cargo.lock +117 -144
@@ -14,7 +14,7 @@ version = "0.5.2"
14 14 source = "registry+https://github.com/rust-lang/crates.io-index"
15 15 checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
16 16 dependencies = [
17 - "crypto-common",
17 + "crypto-common 0.1.7",
18 18 "generic-array",
19 19 ]
20 20
@@ -375,7 +375,7 @@ dependencies = [
375 375 "roxmltree",
376 376 "serde",
377 377 "serde_json",
378 - "sha2",
378 + "sha2 0.10.9",
379 379 "sqlx",
380 380 "supernote-push",
381 381 "synckit-client",
@@ -514,7 +514,7 @@ version = "0.10.6"
514 514 source = "registry+https://github.com/rust-lang/crates.io-index"
515 515 checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
516 516 dependencies = [
517 - "digest",
517 + "digest 0.10.7",
518 518 ]
519 519
520 520 [[package]]
@@ -527,6 +527,15 @@ dependencies = [
527 527 ]
528 528
529 529 [[package]]
530 + name = "block-buffer"
531 + version = "0.12.1"
532 + source = "registry+https://github.com/rust-lang/crates.io-index"
533 + checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa"
534 + dependencies = [
535 + "hybrid-array",
536 + ]
537 +
538 + [[package]]
530 539 name = "block-padding"
531 540 version = "0.3.3"
532 541 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -798,7 +807,7 @@ version = "0.4.4"
798 807 source = "registry+https://github.com/rust-lang/crates.io-index"
799 808 checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
800 809 dependencies = [
801 - "crypto-common",
810 + "crypto-common 0.1.7",
802 811 "inout",
803 812 "zeroize",
804 813 ]
@@ -813,6 +822,12 @@ dependencies = [
813 822 ]
814 823
815 824 [[package]]
825 + name = "cmov"
826 + version = "0.5.4"
827 + source = "registry+https://github.com/rust-lang/crates.io-index"
828 + checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a"
829 +
830 + [[package]]
816 831 name = "combine"
817 832 version = "4.6.7"
818 833 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -832,12 +847,6 @@ dependencies = [
832 847 ]
833 848
834 849 [[package]]
835 - name = "const-oid"
836 - version = "0.9.6"
837 - source = "registry+https://github.com/rust-lang/crates.io-index"
838 - checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
839 -
840 - [[package]]
841 850 name = "const-random"
842 851 version = "0.1.18"
843 852 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1007,6 +1016,15 @@ dependencies = [
1007 1016 ]
1008 1017
1009 1018 [[package]]
1019 + name = "crypto-common"
1020 + version = "0.2.2"
1021 + source = "registry+https://github.com/rust-lang/crates.io-index"
1022 + checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453"
1023 + dependencies = [
1024 + "hybrid-array",
1025 + ]
1026 +
1027 + [[package]]
1010 1028 name = "cssparser"
1011 1029 version = "0.27.2"
1012 1030 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1096,6 +1114,15 @@ dependencies = [
1096 1114 ]
1097 1115
1098 1116 [[package]]
1117 + name = "ctutils"
1118 + version = "0.4.2"
1119 + source = "registry+https://github.com/rust-lang/crates.io-index"
1120 + checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e"
1121 + dependencies = [
1122 + "cmov",
1123 + ]
1124 +
1125 + [[package]]
1099 1126 name = "darling"
1100 1127 version = "0.21.3"
1101 1128 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1149,17 +1176,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1149 1176 checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b"
1150 1177
1151 1178 [[package]]
1152 - name = "der"
1153 - version = "0.7.10"
1154 - source = "registry+https://github.com/rust-lang/crates.io-index"
1155 - checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb"
1156 - dependencies = [
1157 - "const-oid",
1158 - "pem-rfc7468",
1159 - "zeroize",
1160 - ]
1161 -
1162 - [[package]]
1163 1179 name = "deranged"
1164 1180 version = "0.5.6"
1165 1181 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1220,13 +1236,23 @@ version = "0.10.7"
1220 1236 source = "registry+https://github.com/rust-lang/crates.io-index"
1221 1237 checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
1222 1238 dependencies = [
1223 - "block-buffer",
1224 - "const-oid",
1225 - "crypto-common",
1239 + "block-buffer 0.10.4",
1240 + "crypto-common 0.1.7",
1226 1241 "subtle",
1227 1242 ]
1228 1243
1229 1244 [[package]]
1245 + name = "digest"
1246 + version = "0.11.3"
1247 + source = "registry+https://github.com/rust-lang/crates.io-index"
1248 + checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
1249 + dependencies = [
1250 + "block-buffer 0.12.1",
1251 + "crypto-common 0.2.2",
1252 + "ctutils",
1253 + ]
1254 +
1255 + [[package]]
1230 1256 name = "dirs"
1231 1257 version = "6.0.0"
1232 1258 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1450,13 +1476,12 @@ dependencies = [
1450 1476
1451 1477 [[package]]
1452 1478 name = "etcetera"
1453 - version = "0.8.0"
1479 + version = "0.11.0"
1454 1480 source = "registry+https://github.com/rust-lang/crates.io-index"
1455 - checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943"
1481 + checksum = "de48cc4d1c1d97a20fd819def54b890cadde72ed3ad0c614822a0a433361be96"
1456 1482 dependencies = [
1457 1483 "cfg-if",
1458 - "home",
1459 - "windows-sys 0.48.0",
1484 + "windows-sys 0.61.2",
1460 1485 ]
1461 1486
1462 1487 [[package]]
@@ -1556,6 +1581,17 @@ dependencies = [
1556 1581 ]
1557 1582
1558 1583 [[package]]
1584 + name = "flume"
1585 + version = "0.12.0"
1586 + source = "registry+https://github.com/rust-lang/crates.io-index"
1587 + checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be"
1588 + dependencies = [
1589 + "futures-core",
1590 + "futures-sink",
1591 + "spin 0.9.8",
1592 + ]
1593 +
1594 + [[package]]
1559 1595 name = "fnv"
1560 1596 version = "1.0.7"
1561 1597 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1563,9 +1599,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
1563 1599
1564 1600 [[package]]
1565 1601 name = "foldhash"
1566 - version = "0.1.5"
1602 + version = "0.2.0"
1567 1603 source = "registry+https://github.com/rust-lang/crates.io-index"
1568 - checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
1604 + checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
1569 1605
1570 1606 [[package]]
1571 1607 name = "foreign-types"
@@ -1651,9 +1687,9 @@ dependencies = [
1651 1687
1652 1688 [[package]]
1653 1689 name = "futures-channel"
1654 - version = "0.3.31"
1690 + version = "0.3.33"
1655 1691 source = "registry+https://github.com/rust-lang/crates.io-index"
1656 - checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
1692 + checksum = "262590f4fe6afeb0bc83be1daa64e52657fe185690a958af7f3ad0e92085c5ae"
1657 1693 dependencies = [
1658 1694 "futures-core",
1659 1695 "futures-sink",
@@ -1661,15 +1697,15 @@ dependencies = [
1661 1697
1662 1698 [[package]]
1663 1699 name = "futures-core"
1664 - version = "0.3.31"
1700 + version = "0.3.33"
1665 1701 source = "registry+https://github.com/rust-lang/crates.io-index"
1666 - checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
1702 + checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7"
1667 1703
1668 1704 [[package]]
1669 1705 name = "futures-executor"
1670 - version = "0.3.31"
1706 + version = "0.3.33"
1671 1707 source = "registry+https://github.com/rust-lang/crates.io-index"
1672 - checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
1708 + checksum = "6754879cc9f2c66f88c6e5c35344bb0bdb0708b0352b1201815667c7eabc7458"
1673 1709 dependencies = [
1674 1710 "futures-core",
1675 1711 "futures-task",
@@ -1689,9 +1725,9 @@ dependencies = [
1689 1725
1690 1726 [[package]]
1691 1727 name = "futures-io"
1692 - version = "0.3.31"
1728 + version = "0.3.33"
1693 1729 source = "registry+https://github.com/rust-lang/crates.io-index"
1694 - checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
1730 + checksum = "4577ecaa3c4f96589d473f679a71b596316f6641bc350038b962a5daf0085d7a"
1695 1731
1696 1732 [[package]]
1697 1733 name = "futures-lite"
@@ -1708,9 +1744,9 @@ dependencies = [
1708 1744
1709 1745 [[package]]
1710 1746 name = "futures-macro"
1711 - version = "0.3.31"
1747 + version = "0.3.33"
1712 1748 source = "registry+https://github.com/rust-lang/crates.io-index"
1713 - checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
1749 + checksum = "2d6d3cde68c518367be28956066ddfef33813991b77a55005a69dae04bf3b10b"
1714 1750 dependencies = [
1715 1751 "proc-macro2",
1716 1752 "quote",
@@ -1719,21 +1755,21 @@ dependencies = [
1719 1755
1720 1756 [[package]]
1721 1757 name = "futures-sink"
1722 - version = "0.3.31"
1758 + version = "0.3.33"
1723 1759 source = "registry+https://github.com/rust-lang/crates.io-index"
1724 - checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
1760 + checksum = "e34418ac499d6305c2fb5ad0ed2f6ac998c5f8ca209b4510f7f94242c647e307"
1725 1761
1726 1762 [[package]]
1727 1763 name = "futures-task"
1728 - version = "0.3.31"
1764 + version = "0.3.33"
1729 1765 source = "registry+https://github.com/rust-lang/crates.io-index"
1730 - checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
1766 + checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109"
1731 1767
1732 1768 [[package]]
1733 1769 name = "futures-util"
1734 - version = "0.3.31"
1770 + version = "0.3.33"
1735 1771 source = "registry+https://github.com/rust-lang/crates.io-index"
1736 - checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
1772 + checksum = "a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa"
1737 1773 dependencies = [
1738 1774 "futures-channel",
1739 1775 "futures-core",
@@ -1743,7 +1779,6 @@ dependencies = [
1743 1779 "futures-task",
1744 1780 "memchr",
1745 1781 "pin-project-lite",
1746 - "pin-utils",
1747 1782 "slab",
1748 1783 ]
1749 1784
@@ -2109,18 +2144,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
2109 2144
2110 2145 [[package]]
2111 2146 name = "hashbrown"
2112 - version = "0.14.5"
2113 - source = "registry+https://github.com/rust-lang/crates.io-index"
2114 - checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
2115 - dependencies = [
2116 - "ahash",
2117 - ]
2118 -
2119 - [[package]]
2120 - name = "hashbrown"
2121 - version = "0.15.5"
2147 + version = "0.16.1"
2122 2148 source = "registry+https://github.com/rust-lang/crates.io-index"
2123 - checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
2149 + checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
2124 2150 dependencies = [
2125 2151 "allocator-api2",
2126 2152 "equivalent",
@@ -2128,27 +2154,12 @@ dependencies = [
2128 2154 ]
2129 2155
2130 2156 [[package]]
2131 - name = "hashbrown"
2132 - version = "0.16.1"
2133 - source = "registry+https://github.com/rust-lang/crates.io-index"
2134 - checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
2135 -
2136 - [[package]]
2137 - name = "hashlink"
2138 - version = "0.9.1"
2139 - source = "registry+https://github.com/rust-lang/crates.io-index"
2140 - checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af"
2141 - dependencies = [
2142 - "hashbrown 0.14.5",
2143 - ]
2144 -
2145 - [[package]]
2146 2157 name = "hashlink"
2147 - version = "0.10.0"
2158 + version = "0.11.1"
2148 2159 source = "registry+https://github.com/rust-lang/crates.io-index"
2149 - checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1"
2160 + checksum = "824e001ac4f3012dd16a264bec811403a67ca9deb6c102fc5049b32c4574b35f"
2150 2161 dependencies = [
2151 - "hashbrown 0.15.5",
2162 + "hashbrown 0.16.1",
2152 2163 ]
2153 2164
2154 2165 [[package]]
@@ -2181,7 +2192,16 @@ version = "0.12.4"
2181 2192 source = "registry+https://github.com/rust-lang/crates.io-index"
2182 2193 checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
2183 2194 dependencies = [
2184 - "hmac",
2195 + "hmac 0.12.1",
2196 + ]
2197 +
2198 + [[package]]
2199 + name = "hkdf"
2200 + version = "0.13.0"
2201 + source = "registry+https://github.com/rust-lang/crates.io-index"
2202 + checksum = "4aaa26c720c68b866f2c96ef5c1264b3e6f473fe5d4ce61cd44bbe913e553018"
2203 + dependencies = [
2204 + "hmac 0.13.0",
2185 2205 ]
2186 2206
2187 2207 [[package]]
@@ -2190,16 +2210,16 @@ version = "0.12.1"
2190 2210 source = "registry+https://github.com/rust-lang/crates.io-index"
2191 2211 checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
2192 2212 dependencies = [
2193 - "digest",
2213 + "digest 0.10.7",
2194 2214 ]
2195 2215
2196 2216 [[package]]
2197 - name = "home"
2198 - version = "0.5.12"
2217 + name = "hmac"
2218 + version = "0.13.0"
2199 2219 source = "registry+https://github.com/rust-lang/crates.io-index"
2200 - checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d"
2220 + checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f"
2201 2221 dependencies = [
2202 - "windows-sys 0.61.2",
2222 + "digest 0.11.3",
2203 2223 ]
2204 2224
2205 2225 [[package]]
@@ -2295,6 +2315,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2295 2315 checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
2296 2316
2297 2317 [[package]]
2318 + name = "hybrid-array"
2319 + version = "0.4.13"
2320 + source = "registry+https://github.com/rust-lang/crates.io-index"
2321 + checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c"
2322 + dependencies = [
2323 + "typenum",
2324 + ]
2325 +
2326 + [[package]]
2298 2327 name = "hyper"
2299 2328 version = "1.8.1"
2300 2329 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2782,9 +2811,6 @@ name = "lazy_static"
2782 2811 version = "1.5.0"
2783 2812 source = "registry+https://github.com/rust-lang/crates.io-index"
2784 2813 checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
2785 - dependencies = [
2786 - "spin 0.9.8",
2787 - ]
2788 2814
2789 2815 [[package]]
2790 2816 name = "libappindicator"
@@ -2827,12 +2853,6 @@ dependencies = [
2827 2853 ]
2828 2854
2829 2855 [[package]]
2830 - name = "libm"
2831 - version = "0.2.16"
2832 - source = "registry+https://github.com/rust-lang/crates.io-index"
2833 - checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
2834 -
2835 - [[package]]
2836 2856 name = "libredox"
2837 2857 version = "0.1.12"
2838 2858 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2845,9 +2865,9 @@ dependencies = [
2845 2865
2846 2866 [[package]]
2847 2867 name = "libsqlite3-sys"
2848 - version = "0.30.1"
2868 + version = "0.37.0"
2849 2869 source = "registry+https://github.com/rust-lang/crates.io-index"
2850 - checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149"
2870 + checksum = "b1f111c8c41e7c61a49cd34e44c7619462967221a6443b0ec299e0ac30cfb9b1"
2851 2871 dependencies = [
2852 2872 "cc",
2853 2873 "pkg-config",
@@ -3022,12 +3042,12 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
3022 3042
3023 3043 [[package]]
3024 3044 name = "md-5"
3025 - version = "0.10.6"
3045 + version = "0.11.0"
3026 3046 source = "registry+https://github.com/rust-lang/crates.io-index"
3027 - checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
3047 + checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98"
3028 3048 dependencies = [
3029 3049 "cfg-if",
3030 - "digest",
3050 + "digest 0.11.3",
3031 3051 ]
3032 3052
3033 3053 [[package]]
@@ -3042,7 +3062,7 @@ version = "0.11.5"
3042 3062 source = "registry+https://github.com/rust-lang/crates.io-index"
3043 3063 checksum = "8fe7c11a1eb3cfbfcf702d1601c1f5f4c102cdc8665b8a557783ef634741676e"
3044 3064 dependencies = [
3045 - "flume",
3065 + "flume 0.11.1",
3046 3066 "if-addrs",
3047 3067 "log",
3048 3068 "polling 2.8.0",
@@ -3220,22 +3240,6 @@ dependencies = [
3220 3240 ]
3221 3241
3222 3242 [[package]]
3223 - name = "num-bigint-dig"
3224 - version = "0.8.6"
3225 - source = "registry+https://github.com/rust-lang/crates.io-index"
3226 - checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7"
3227 - dependencies = [
3228 - "lazy_static",
3229 - "libm",
3230 - "num-integer",
3231 - "num-iter",
3232 - "num-traits",
3233 - "rand 0.8.5",
3234 - "smallvec",
3235 - "zeroize",
3236 - ]
3237 -
3238 - [[package]]
3239 3243 name = "num-complex"
3240 3244 version = "0.4.6"
3241 3245 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3288,7 +3292,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3288 3292 checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
3289 3293 dependencies = [
3290 3294 "autocfg",
3291 - "libm",
3292 3295 ]
3293 3296
3294 3297 [[package]]
@@ -3739,15 +3742,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3739 3742 checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3"
3740 3743
3741 3744 [[package]]
3742 - name = "pem-rfc7468"
3743 - version = "0.7.0"
3744 - source = "registry+https://github.com/rust-lang/crates.io-index"
3745 - checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
3746 - dependencies = [
3747 - "base64ct",
3748 - ]
3749 -
3750 - [[package]]
3751 3745 name = "percent-encoding"
3752 3746 version = "2.3.2"
3753 3747 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3980,27 +3974,6 @@ dependencies = [
3980 3974 ]
3981 3975
3982 3976 [[package]]
3983 - name = "pkcs1"
3984 - version = "0.7.5"
3985 - source = "registry+https://github.com/rust-lang/crates.io-index"
3986 - checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
3987 - dependencies = [
3988 - "der",
3989 - "pkcs8",
3990 - "spki",
3991 - ]
3992 -
3993 - [[package]]
3994 - name = "pkcs8"
3995 - version = "0.10.2"
3996 - source = "registry+https://github.com/rust-lang/crates.io-index"
3997 - checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
3998 - dependencies = [
3999 - "der",
4000 - "spki",
4001 - ]
4002 -
4003 - [[package]]
Lines truncated
M Cargo.toml +1 -1
@@ -26,7 +26,7 @@ tracing = "0.1.44"
26 26 tracing-subscriber = { version = "0.3.22", features = ["env-filter"] }
27 27
28 28 # Database
29 - sqlx = { version = "0.8.6", features = ["runtime-tokio", "sqlite", "chrono", "uuid"] }
29 + sqlx = { version = "0.9", features = ["runtime-tokio", "sqlite", "chrono", "uuid"] }
30 30
31 31 # XML parsing
32 32 roxmltree = "0.21"
@@ -76,7 +76,7 @@ macro_rules! define_uuid_id {
76 76 impl<'q> sqlx::Encode<'q, sqlx::Sqlite> for $name {
77 77 fn encode_by_ref(
78 78 &self,
79 - buf: &mut <sqlx::Sqlite as sqlx::Database>::ArgumentBuffer<'q>,
79 + buf: &mut <sqlx::Sqlite as sqlx::Database>::ArgumentBuffer,
80 80 ) -> Result<sqlx::encode::IsNull, sqlx::error::BoxDynError> {
81 81 let s = self.0.to_string();
82 82 <String as sqlx::Encode<'q, sqlx::Sqlite>>::encode_by_ref(&s, buf)
@@ -181,7 +181,7 @@ impl sqlx::Type<sqlx::Sqlite> for BusserId {
181 181 impl<'q> sqlx::Encode<'q, sqlx::Sqlite> for BusserId {
182 182 fn encode_by_ref(
183 183 &self,
184 - buf: &mut <sqlx::Sqlite as sqlx::Database>::ArgumentBuffer<'q>,
184 + buf: &mut <sqlx::Sqlite as sqlx::Database>::ArgumentBuffer,
185 185 ) -> Result<sqlx::encode::IsNull, sqlx::error::BoxDynError> {
186 186 <String as sqlx::Encode<'q, sqlx::Sqlite>>::encode_by_ref(&self.0, buf)
187 187 }
@@ -221,7 +221,7 @@ impl ItemsRepository {
221 221 }
222 222 sql.push_str(" ORDER BY fts.rank, fi.published_at DESC LIMIT ?2 OFFSET ?3");
223 223
224 - let mut q = sqlx::query_as::<_, DbFeedItem>(&sql)
224 + let mut q = sqlx::query_as::<_, DbFeedItem>(sqlx::AssertSqlSafe(sql.as_str()))
225 225 .bind(&fts_query) // ?1
226 226 .bind(limit) // ?2
227 227 .bind(offset); // ?3
@@ -268,7 +268,7 @@ impl ItemsRepository {
268 268 }
269 269 sql.push_str(" ORDER BY published_at DESC LIMIT ?1 OFFSET ?2");
270 270
271 - let mut q = sqlx::query_as::<_, DbFeedItem>(&sql)
271 + let mut q = sqlx::query_as::<_, DbFeedItem>(sqlx::AssertSqlSafe(sql.as_str()))
272 272 .bind(limit) // ?1
273 273 .bind(offset); // ?2
274 274
@@ -397,7 +397,7 @@ impl ItemsRepository {
397 397 if starred_only {
398 398 sql.push_str(" AND is_starred = 1");
399 399 }
400 - let mut query = sqlx::query_as::<_, (i64,)>(&sql);
400 + let mut query = sqlx::query_as::<_, (i64,)>(sqlx::AssertSqlSafe(sql.as_str()));
401 401 if let Some(s) = source {
402 402 query = query.bind(s);
403 403 }
@@ -103,7 +103,7 @@ impl TagsRepository {
103 103 "SELECT DISTINCT feed_id FROM feed_tags WHERE tag IN ({})",
104 104 placeholders.join(", ")
105 105 );
106 - let mut query = sqlx::query_as::<_, (FeedId,)>(&sql);
106 + let mut query = sqlx::query_as::<_, (FeedId,)>(sqlx::AssertSqlSafe(sql.as_str()));
107 107 for tag in tags {
108 108 query = query.bind(tag);
109 109 }
@@ -223,7 +223,7 @@ async fn apply_upsert_exec(
223 223 table, col_list, placeholders
224 224 );
225 225
226 - let mut query = sqlx::query(&sql);
226 + let mut query = sqlx::query(sqlx::AssertSqlSafe(sql.as_str()));
227 227
228 228 for col in columns {
229 229 let val = &data[*col];
@@ -303,7 +303,7 @@ async fn apply_delete_exec(
303 303 let tag = &row_id[37..];
304 304 let id_col = if table == "feed_tags" { "feed_id" } else { "bookmark_id" };
305 305 let sql = format!("DELETE FROM {} WHERE {} = ? AND tag = ?", table, id_col);
306 - sqlx::query(&sql)
306 + sqlx::query(sqlx::AssertSqlSafe(sql.as_str()))
307 307 .bind(id_val)
308 308 .bind(tag)
309 309 .execute(&mut *conn)
@@ -314,7 +314,7 @@ async fn apply_delete_exec(
314 314 }
315 315
316 316 let sql = format!("DELETE FROM {} WHERE {} = ?", table, pk);
317 - sqlx::query(&sql)
317 + sqlx::query(sqlx::AssertSqlSafe(sql.as_str()))
318 318 .bind(row_id)
319 319 .execute(&mut *conn)
320 320 .await
@@ -98,7 +98,7 @@ pub async fn push_changes(
98 98 "UPDATE sync_changelog SET pushed = 1 WHERE id IN ({})",
99 99 placeholders
100 100 );
101 - let mut query = sqlx::query(&sql);
101 + let mut query = sqlx::query(sqlx::AssertSqlSafe(sql.as_str()));
102 102 for id in chunk {
103 103 query = query.bind(id);
104 104 }