(source string, relation ast.TableExpr, fromClause *ast.List, stmtLoc ast.Loc, where ast.ExprNode, option *ast.List)
| 318 | } |
| 319 | |
| 320 | func dmlFromSource(source string, relation ast.TableExpr, fromClause *ast.List, stmtLoc ast.Loc, where ast.ExprNode, option *ast.List) (string, int) { |
| 321 | if fromClause != nil && len(fromClause.Items) > 0 { |
| 322 | loc := listLoc(fromClause) |
| 323 | end := dmlTailStart(source, loc.End, stmtLoc, where, option) |
| 324 | if end < 0 { |
| 325 | end = trimDMLStatementEnd(source, stmtLoc.End) |
| 326 | } |
| 327 | return strings.TrimSpace(source[loc.Start:end]), end |
| 328 | } |
| 329 | loc := dmlNodeLoc(relation) |
| 330 | return sourceFromLoc(source, loc), loc.End |
| 331 | } |
| 332 | |
| 333 | func buildDMLFromClause(source, fromSource string, searchStart int, stmtLoc ast.Loc, where ast.ExprNode, option *ast.List) string { |
| 334 | if fromSource == "" { |
no test coverage detected