fix(docs): keep deploy config scoped

This commit is contained in:
t8y2 2026-05-18 20:23:17 +08:00
parent 2c1b0e2b83
commit 90017d3dd1
1 changed files with 1 additions and 28 deletions

View File

@ -318,7 +318,7 @@ pub async fn execute_query(pool: &MySqlPool, sql: &str, bare: bool) -> Result<Qu
let start = Instant::now();
if is_result_set_query(sql) {
if bare || requires_text_protocol_query(sql) {
if bare {
let mut stream = sqlx::raw_sql(sql).fetch(&*pool);
let mut columns: Vec<String> = vec![];
let mut column_types: Vec<String> = vec![];
@ -408,23 +408,6 @@ fn is_result_set_query(sql: &str) -> bool {
starts_with_executable_sql_keyword(sql, &["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "WITH"])
}
fn requires_text_protocol_query(sql: &str) -> bool {
if !starts_with_executable_sql_keyword(sql, &["SHOW"]) {
return false;
}
let tokens =
sql.trim().trim_end_matches(';').split_whitespace().map(|token| token.to_ascii_lowercase()).collect::<Vec<_>>();
matches!(
tokens.iter().map(String::as_str).collect::<Vec<_>>().as_slice(),
["show", "processlist"]
| ["show", "full", "processlist"]
| ["show", "slave", "status"]
| ["show", "replica", "status"]
)
}
pub async fn list_indexes(pool: &MySqlPool, database: &str, table: &str) -> Result<Vec<IndexInfo>, String> {
let sql = format!(
"SELECT INDEX_NAME, GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) AS columns, \
@ -533,14 +516,4 @@ mod tests {
assert!(sql.contains("'PROCEDURE'"));
assert!(sql.contains("'FUNCTION'"));
}
#[test]
fn mysql_management_show_queries_use_text_protocol() {
assert!(requires_text_protocol_query("SHOW PROCESSLIST"));
assert!(requires_text_protocol_query("show full processlist"));
assert!(requires_text_protocol_query("SHOW SLAVE STATUS"));
assert!(requires_text_protocol_query("show replica status"));
assert!(!requires_text_protocol_query("SHOW TABLES"));
assert!(!requires_text_protocol_query("SELECT * FROM users"));
}
}