| 46 | } |
| 47 | |
| 48 | pub fn run_sql_timeout( |
| 49 | mut cmd: BuiltinCommand, |
| 50 | state: &mut State, |
| 51 | ) -> Result<ControlFlow, anyhow::Error> { |
| 52 | let duration = cmd.args.string("duration")?; |
| 53 | let duration = if duration.to_lowercase() == "default" { |
| 54 | None |
| 55 | } else { |
| 56 | Some(humantime::parse_duration(&duration).context("parsing duration")?) |
| 57 | }; |
| 58 | let force = cmd.args.opt_bool("force")?.unwrap_or(false); |
| 59 | cmd.args.done()?; |
| 60 | state.timeout = duration.unwrap_or(state.default_timeout); |
| 61 | if !force { |
| 62 | // Bump the timeout to be at least the default timeout unless the |
| 63 | // timeout has been forced. |
| 64 | state.timeout = cmp::max(state.timeout, state.default_timeout); |
| 65 | } |
| 66 | Ok(ControlFlow::Continue) |
| 67 | } |
| 68 | |
| 69 | pub fn run_max_tries( |
| 70 | mut cmd: BuiltinCommand, |