fix(docs): keep deploy config scoped
This commit is contained in:
parent
2c1b0e2b83
commit
90017d3dd1
|
|
@ -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"));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue