Rust in Everything
基于 sqlx 0.9.0

导读

开始读源码之前,先把两件事讲清楚:

  1. 怎么读这一卷:为什么是 sqlx 0.9.0(仓库已从 launchbadge 搬到 transact-rs),和本站经 sea-orm 用的 0.8.6 差在哪几项破坏性改动;查询、连接池、编译期检查三条主线每一步落在哪个函数、哪一页讲;阅读路线、前置知识;RUST_LOG=sqlx=debug 能看到什么、看不到什么,为什么看协议消息要用代理。
  2. 源码地图:门面 sqlx、sqlx-core、sqlx-postgres、sqlx-macros(101 行的薄壳)和 sqlx-macros-core、sqlx-cli 各管什么、谁依赖谁;运行时、TLS、数据库、类型、功能几组 feature;rt/ 怎么在运行时选 tokio,不在 tokio 上下文里调 sqlx 时 panic 在哪;Any 驱动怎么装驱动表。
flowchart TB
  read[怎么读这一卷] --> ver["版本:0.8.6 到 0.9.0"]
  read --> lines[三条主线]
  read --> logs["日志与抓包"]
  map[源码地图] --> crates[各个 crate]
  map --> feat[feature 体系]
  map --> rt["rt 选运行时"]
  map --> anydrv["Any 驱动"]

💬 关联讨论

发起讨论
加载中...