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

Function findMySQLLimitInsertPosition

backend/plugin/db/mysql/query.go:217–231  ·  view source on GitHub ↗
(sql string, stmt *ast.SelectStmt)

Source from the content-addressed store, hash-verified

215}
216
217func findMySQLLimitInsertPosition(sql string, stmt *ast.SelectStmt) (int, bool) {
218 if stmt.Into != nil && stmt.Into.Loc.Start > 0 {
219 intoStart := findMySQLKeywordBefore(sql, stmt.Into.Loc.Start, "INTO")
220 if intoStart >= maxMySQLLocEndBeforeTailClauses(stmt) {
221 return intoStart, true
222 }
223 }
224 if stmt.ForUpdate != nil && stmt.ForUpdate.Loc.Start > 0 {
225 return stmt.ForUpdate.Loc.Start, true
226 }
227 if stmt.Loc.End > 0 {
228 return stmt.Loc.End, false
229 }
230 return -1, false
231}
232
233func extractMySQLLimit(node ast.Node) int {
234 limit, ok := node.(*ast.IntLit)

Callers 1

rewriteMySQLSelectLimitFunction · 0.85

Calls 2

findMySQLKeywordBeforeFunction · 0.85

Tested by

no test coverage detected