MCPcopy Create free account
hub / github.com/bytebase/bytebase / containsTable

Function containsTable

backend/plugin/parser/mysql/restore.go:324–346  ·  view source on GitHub ↗

containsTable checks whether the given AST node references the specified table.

(node ast.Node, database, table string)

Source from the content-addressed store, hash-verified

322
323// containsTable checks whether the given AST node references the specified table.
324func containsTable(node ast.Node, database, table string) bool {
325 switch n := node.(type) {
326 case *ast.UpdateStmt:
327 for _, expr := range n.Tables {
328 if tableExprReferences(expr, database, table) {
329 return true
330 }
331 }
332 case *ast.DeleteStmt:
333 for _, expr := range n.Tables {
334 if tableExprReferences(expr, database, table) {
335 return true
336 }
337 }
338 for _, expr := range n.Using {
339 if tableExprReferences(expr, database, table) {
340 return true
341 }
342 }
343 default:
344 }
345 return false
346}
347
348func tableExprReferences(expr ast.TableExpr, database, table string) bool {
349 switch n := expr.(type) {

Callers 1

extractStatementFunction · 0.70

Calls 1

tableExprReferencesFunction · 0.70

Tested by

no test coverage detected