前两次 commit 把机制写成"靠 reverse_pull_from 反向拉主档"。测试服实测日志里 cohort 模式**没有**出现反向拉那一行:reversePullPatientMaster 只在 loadAllTables (single-shot)里调用,日常增量走 loadTablesForCohort,不经过它。 真正生效的是 listPatientPairs 把每张「配了 cursor 且有水位」的表拼成 UNION 分支来列患者 —— 也就是 incremental.per_query 里给 fact_complex_cases_out 配的 changed_at。 reverse_pull_from 的声明仍保留(single-shot 路径要用,且把硬编码挪进 yaml 本身是目的), 但注释已写明它在 cohort 模式下不参与。 同时补一条上线须知:**新表首轮不生效** —— 无历史水位 → cursorValue 为空 → 该分支被跳过, 第一轮只建水位,第二轮起才感知变化。实测第一轮 UNION 是 6 张、第二轮才 7 张。 最终验证(第三轮增量,10153aab 之后):6 个"末次就诊在 2025-09 ~ 2026-04、但复杂病例刚变" 的患者全部写上 host_follow_up_active=t,时间戳与该轮一致 —— 主档 cursor 不可能够到他们, 只能是复杂病例表的变化带进来的。全库 t=1164 / f=14553 / null=323576。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| clickhouse-source.service.ts | Loading commit data... | |
| cold-import.module.ts | Loading commit data... | |
| cold-import.service.ts | Loading commit data... | |
| manifest.schema.ts | Loading commit data... | |
| patient-upsert.util.ts | Loading commit data... | |
| push-lookup-fallback.ts | Loading commit data... | |
| tenant-resolver.ts | Loading commit data... |