MCPcopy Create free account
hub / github.com/araddon/qlbridge / ParseSqlStatements

Function ParseSqlStatements

rel/parse_sql.go:69–87  ·  view source on GitHub ↗

ParseSqlStatements into array of SQL Statements

(sqlQuery string)

Source from the content-addressed store, hash-verified

67
68// ParseSqlStatements into array of SQL Statements
69func ParseSqlStatements(sqlQuery string) ([]SqlStatement, error) {
70 l := lex.NewSqlLexer(sqlQuery)
71 m := Sqlbridge{l: l, SqlTokenPager: NewSqlTokenPager(l)}
72 stmts := make([]SqlStatement, 0)
73 for {
74 stmt, err := m.parse()
75 if err != nil {
76 return nil, &ParseError{err}
77 }
78 stmts = append(stmts, stmt)
79 sqlRemaining, hasMore := l.Remainder()
80 if !hasMore {
81 break
82 }
83 l = lex.NewSqlLexer(sqlRemaining)
84 m = Sqlbridge{l: l, SqlTokenPager: NewSqlTokenPager(l)}
85 }
86 return stmts, nil
87}
88
89// Sqlbridge generic SQL parser evaluates should be sufficient for most
90// sql compatible languages

Callers 2

TestSqlParseFailFunction · 0.92
TestSqlMultiStatementFunction · 0.92

Calls 4

parseMethod · 0.95
NewSqlLexerFunction · 0.92
NewSqlTokenPagerFunction · 0.85
RemainderMethod · 0.80

Tested by 2

TestSqlParseFailFunction · 0.74
TestSqlMultiStatementFunction · 0.74