ExtractTables extracts table references from a DML statement.
(databaseName string, node ast.Node, fullSQL string, offset int, dbMetadata *model.DatabaseMetadata)
| 113 | |
| 114 | // ExtractTables extracts table references from a DML statement. |
| 115 | func ExtractTables(databaseName string, node ast.Node, fullSQL string, offset int, dbMetadata *model.DatabaseMetadata) ([]StatementInfo, error) { |
| 116 | switch n := node.(type) { |
| 117 | case *ast.DeleteStmt: |
| 118 | return extractTablesFromDelete(databaseName, n, fullSQL, offset, dbMetadata) |
| 119 | case *ast.UpdateStmt: |
| 120 | return extractTablesFromUpdate(databaseName, n, fullSQL, offset, dbMetadata) |
| 121 | default: |
| 122 | return nil, nil |
| 123 | } |
| 124 | } |
| 125 | |
| 126 | func extractTablesFromDelete(databaseName string, n *ast.DeleteStmt, fullSQL string, offset int, _ *model.DatabaseMetadata) ([]StatementInfo, error) { |
| 127 | cteNames := collectCTENames(fullSQL, n.Loc) |
no test coverage detected