resolveExecuteSQL 返回要执行的 SQL,在用时(DryRun/Execute)现读,使 --file 的内容 不被写回公开的 --sql flag(避免泄露进 flag dump / 结构化日志)。优先 --sql(内联或 stdin, 已由输入框架解析到 flag 值);否则现读 --file。Validate 已先行校验可读且非空。
(rctx *common.RuntimeContext)
| 301 | // 不被写回公开的 --sql flag(避免泄露进 flag dump / 结构化日志)。优先 --sql(内联或 stdin, |
| 302 | // 已由输入框架解析到 flag 值);否则现读 --file。Validate 已先行校验可读且非空。 |
| 303 | func resolveExecuteSQL(rctx *common.RuntimeContext) (string, error) { |
| 304 | if strings.TrimSpace(rctx.Str("sql")) != "" { |
| 305 | return rctx.Str("sql"), nil |
| 306 | } |
| 307 | file := strings.TrimSpace(rctx.Str("file")) |
| 308 | if file == "" { |
| 309 | return "", nil |
| 310 | } |
| 311 | data, err := cmdutil.ReadInputFile(rctx.FileIO(), file) |
| 312 | if err != nil { |
| 313 | return "", err |
| 314 | } |
| 315 | return string(data), nil |
| 316 | } |
| 317 | |
| 318 | // buildDBSQLBody 构造 sql 接口的 body:仅 sql(由 resolveExecuteSQL 在用时解析,--file 不入 flag)。 |
| 319 | func buildDBSQLBody(rctx *common.RuntimeContext) map[string]interface{} { |
no test coverage detected