MCPcopy Index your code
hub / github.com/bytebase/bytebase / NewStatementFromRange

Function NewStatementFromRange

backend/plugin/parser/base/statement.go:36–50  ·  view source on GitHub ↗

NewStatementFromRange builds a Statement from a split segment range.

(sql string, mapper *ByteOffsetPositionMapper, byteStart, byteEnd int, empty bool)

Source from the content-addressed store, hash-verified

34
35// NewStatementFromRange builds a Statement from a split segment range.
36func NewStatementFromRange(sql string, mapper *ByteOffsetPositionMapper, byteStart, byteEnd int, empty bool) Statement {
37 if byteEnd < len(sql) && sql[byteEnd] == ';' {
38 byteEnd++
39 }
40 return Statement{
41 Text: sql[byteStart:byteEnd],
42 Empty: empty,
43 Start: mapper.Position(byteStart),
44 End: mapper.Position(byteEnd),
45 Range: &storepb.Range{
46 Start: int32(byteStart),
47 End: int32(byteEnd),
48 },
49 }
50}
51
52// ParsedStatement is the result of parsing SQL (Statement + AST).
53// AST is guaranteed to be non-nil after successful parsing.

Callers 2

SplitSQLFunction · 0.92
SplitSQLFunction · 0.92

Calls 1

PositionMethod · 0.80

Tested by

no test coverage detected