MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / TestParser_ComplexQuery

Function TestParser_ComplexQuery

cmd/gosqlx/cmd/parser_cmd_test.go:268–292  ·  view source on GitHub ↗

TestParser_ComplexQuery tests parsing complex queries

(t *testing.T)

Source from the content-addressed store, hash-verified

266
267// TestParser_ComplexQuery tests parsing complex queries
268func TestParser_ComplexQuery(t *testing.T) {
269 complexQueries := []string{
270 "SELECT u.name, COUNT(o.id) FROM users u LEFT JOIN orders o ON u.id = o.user_id GROUP BY u.name",
271 "WITH temp AS (SELECT id FROM users) SELECT * FROM temp",
272 "SELECT name, ROW_NUMBER() OVER (ORDER BY salary DESC) FROM employees",
273 "INSERT INTO users (name, email) VALUES ('John', 'john@example.com')",
274 "UPDATE users SET active = true WHERE id = 1",
275 "DELETE FROM users WHERE created_at < '2020-01-01'",
276 }
277
278 for _, query := range complexQueries {
279 t.Run(query[:30]+"...", func(t *testing.T) {
280 var outBuf, errBuf bytes.Buffer
281 parser := NewParser(&outBuf, &errBuf, CLIParserOptions{Format: "table"})
282
283 result, err := parser.Parse(query)
284 if err != nil {
285 t.Errorf("Failed to parse complex query: %v", err)
286 }
287 if result != nil && result.AST != nil {
288 ast.ReleaseAST(result.AST)
289 }
290 })
291 }
292}
293
294// TestConvertStatement tests statement conversion
295func TestConvertStatement(t *testing.T) {

Callers

nothing calls this directly

Calls 5

ParseMethod · 0.95
ReleaseASTFunction · 0.92
RunMethod · 0.80
NewParserFunction · 0.70
ErrorfMethod · 0.65

Tested by

no test coverage detected