(stmt *pg_query.DeleteStmt)
| 299 | } |
| 300 | |
| 301 | func (t *OperatorTransform) transformDeleteStmt(stmt *pg_query.DeleteStmt) bool { |
| 302 | if stmt == nil { |
| 303 | return false |
| 304 | } |
| 305 | |
| 306 | changed := false |
| 307 | |
| 308 | // Transform WHERE clause |
| 309 | if stmt.WhereClause != nil { |
| 310 | if newWhere := t.transformExpression(stmt.WhereClause); newWhere != nil { |
| 311 | stmt.WhereClause = newWhere |
| 312 | changed = true |
| 313 | } |
| 314 | } |
| 315 | |
| 316 | // Transform USING clause (joined/subselect sources) |
| 317 | for _, using := range stmt.UsingClause { |
| 318 | if t.transformFromItem(using) { |
| 319 | changed = true |
| 320 | } |
| 321 | } |
| 322 | |
| 323 | if t.transformReturningList(stmt.ReturningList) { |
| 324 | changed = true |
| 325 | } |
| 326 | |
| 327 | return changed |
| 328 | } |
| 329 | |
| 330 | func (t *OperatorTransform) transformFromItem(node *pg_query.Node) bool { |
| 331 | if node == nil { |
no test coverage detected