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

Function TestSqlMultiStatement

rel/parse_sql_test.go:607–621  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

605}
606
607func TestSqlMultiStatement(t *testing.T) {
608 t.Parallel()
609 sql := `SET @var1 = "hello"; select a, b from accounts where name = @var1;`
610 stmts, err := rel.ParseSqlStatements(sql)
611 assert.True(t, err == nil, "Must parse: %s \n\t%v", sql, err)
612 assert.True(t, len(stmts) == 2, "want 2 statements has %d", len(stmts))
613 set, ok := stmts[0].(*rel.SqlCommand)
614 assert.True(t, ok, "Wanted *SqlCommand but got %T", stmts[0])
615 assert.True(t, set.Keyword().String() == "set", "Wanted set statement %v", set.Keyword().String())
616
617 sel, ok := stmts[1].(*rel.SqlSelect)
618 assert.True(t, ok, "wanted *SqlUpdate but got %T", stmts[1])
619 assert.True(t, sel.From[0].Name == "accounts", "has accounts: %v", sel.From[0])
620 assert.True(t, len(sel.Columns) == 2, "want 2 cols has %v", len(sel.Columns))
621}
622
623func TestSqlUpdate(t *testing.T) {
624 t.Parallel()

Callers

nothing calls this directly

Calls 3

ParseSqlStatementsFunction · 0.92
StringMethod · 0.65
KeywordMethod · 0.65

Tested by

no test coverage detected