在 #6212 批 B(aggregate 收窄)实施期间实测发现,记录备查。观察类,不挂 pm:queue,请分诊轮定级。
事实
packages/drivers/driver-turso/src/turso-driver.ts 里五个 override 的 options 形参是 any,而它们各自的基类(SqlDriver / IDataDriver)声明的是 DriverOptions:
| 方法 |
当前签名(options 部分) |
update |
options?: any |
upsert |
options?: any |
delete |
options?: any |
count |
options?: any(query 已在 #6075 / PR #6210 收成 DriverQuery) |
aggregate |
options?: any(query 已在 #6212 批 B 收成 DriverQuery) |
DriverOptions 声明的键(bypassTenantAudit / tenantId / trx 等)在这五处一律不受检 —— 与 #5181 对 query 参数的那条论证逐字同构:一个内部调用方拼错 bypassTenantAudit,tsc 是唯一会说话的通道,而这里把它关掉了。
为什么记一笔而不是顺手改
因此这是一次性五处一起收的活,或者一次性判定「不收,并写下理由」,不适合搭在别的 PR 上。
判级需要的量
我没有量过:这五处 override 的实际调用方是否都已经在传 DriverOptions 形状的值(若是,收窄就是纯注解、零报错,与 #6210 在 query 上的实测同形)。收窄前应先跑一遍这个量。
今天没有人踩:没有已知缺陷从这个口子出来过,故判级请按观察类走。
关联:#6212、#5181、#6075。
在 #6212 批 B(
aggregate收窄)实施期间实测发现,记录备查。观察类,不挂pm:queue,请分诊轮定级。事实
packages/drivers/driver-turso/src/turso-driver.ts里五个 override 的options形参是any,而它们各自的基类(SqlDriver/IDataDriver)声明的是DriverOptions:options部分)updateoptions?: anyupsertoptions?: anydeleteoptions?: anycountoptions?: any(query 已在 #6075 / PR #6210 收成DriverQuery)aggregateoptions?: any(query 已在 #6212 批 B 收成DriverQuery)DriverOptions声明的键(bypassTenantAudit/tenantId/trx等)在这五处一律不受检 —— 与 #5181 对 query 参数的那条论证逐字同构:一个内部调用方拼错bypassTenantAudit,tsc是唯一会说话的通道,而这里把它关掉了。为什么记一笔而不是顺手改
QueryAST.object与第一实参重复 —— 下游被迫as any(20 处实测),提议 Omit/optional 化 #5181(PR refactor(spec)!: IDataDriver 的 query 参数改为 DriverQuery,对象名只写一遍 (#5181) #6076)/ [finding][drivers] 五个驱动的find/count/…仍声明query: QueryAST,而调用方已可省略object—— 双变让它编译,但声明开始说谎 #6075(PR refactor(drivers)!: 五个驱动的 query 参数跟进 DriverQuery,休眠的类型谎言没有藏身处 (#6075) #6210)/ [finding][drivers]DriverQuery收窄之外:aggregate/distinct/analyzeQuery等驱动自有查询方法仍要求把对象名写两遍 #6212 收窄的都是 query 那条轴,options从未在范围内;options?: any是逐字相同的一处形状,五改其一(比如只改aggregate的)会被下一个读者读成「对另外四个的判断」。PR refactor(drivers)!: 五个驱动的 query 参数跟进 DriverQuery,休眠的类型谎言没有藏身处 (#6075) #6210 在count上、[finding][drivers]DriverQuery收窄之外:aggregate/distinct/analyzeQuery等驱动自有查询方法仍要求把对象名写两遍 #6212 批 B 在aggregate上都因此刻意留下了它。因此这是一次性五处一起收的活,或者一次性判定「不收,并写下理由」,不适合搭在别的 PR 上。
判级需要的量
我没有量过:这五处 override 的实际调用方是否都已经在传
DriverOptions形状的值(若是,收窄就是纯注解、零报错,与 #6210 在 query 上的实测同形)。收窄前应先跑一遍这个量。今天没有人踩:没有已知缺陷从这个口子出来过,故判级请按观察类走。
关联:#6212、#5181、#6075。