(parts: &[&str], original: &str)
| 77 | } |
| 78 | |
| 79 | fn parse_set(parts: &[&str], original: &str) -> Result<AlterDatabaseOperation, SqlError> { |
| 80 | let target = parts.get(4).map(|w| w.to_uppercase()).unwrap_or_default(); |
| 81 | match target.as_str() { |
| 82 | "QUOTA" => { |
| 83 | let spec = parse_quota_spec(original, "ALTER DATABASE SET QUOTA")?; |
| 84 | Ok(AlterDatabaseOperation::SetQuota(spec)) |
| 85 | } |
| 86 | "DEFAULT" => Ok(AlterDatabaseOperation::SetDefault), |
| 87 | "AUDIT_DML" => parse_set_audit_dml(parts), |
| 88 | "IDLE_TIMEOUT" => parse_set_idle_timeout(parts), |
| 89 | other => Err(SqlError::Parse { |
| 90 | detail: format!("ALTER DATABASE SET: unknown target '{other}'"), |
| 91 | }), |
| 92 | } |
| 93 | } |
| 94 | |
| 95 | fn parse_set_audit_dml(parts: &[&str]) -> Result<AlterDatabaseOperation, SqlError> { |
| 96 | let eq = parts.get(5).copied().unwrap_or(""); |
no test coverage detected