Skip to main content

executed_statements

Function executed_statements 

Source
pub(crate) fn executed_statements(stmt: &Statement) -> Vec<&Statement>
Expand description

返回语句本身及其内部会被执行的数据修改语句。

内部语句包括 EXPLAIN 的内层语句,以及查询树里的 INSERT/UPDATE/DELETE/MERGE (如 WITH d AS (DELETE FROM t RETURNING *) SELECT ...、WITH x AS (...) DELETE ...)。 SQL 控制台护栏要逐条检查这些语句,否则包一层 EXPLAIN ANALYZE 或 CTE 就能绕过“UPDATE/DELETE 必须带 WHERE“。