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

Function ExtractTables

backend/plugin/parser/mysql/backup.go:115–124  ·  view source on GitHub ↗

ExtractTables extracts table references from a DML statement.

(databaseName string, node ast.Node, fullSQL string, offset int, dbMetadata *model.DatabaseMetadata)

Source from the content-addressed store, hash-verified

113
114// ExtractTables extracts table references from a DML statement.
115func 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
126func extractTablesFromDelete(databaseName string, n *ast.DeleteStmt, fullSQL string, offset int, _ *model.DatabaseMetadata) ([]StatementInfo, error) {
127 cteNames := collectCTENames(fullSQL, n.Loc)

Callers 1

prepareTransformationFunction · 0.85

Calls 2

extractTablesFromDeleteFunction · 0.70
extractTablesFromUpdateFunction · 0.70

Tested by

no test coverage detected