| 548 | } |
| 549 | |
| 550 | func TestSqlCommands(t *testing.T) { |
| 551 | t.Parallel() |
| 552 | // Administrative commands |
| 553 | sql := `set autocommit` |
| 554 | req, err := rel.ParseSql(sql) |
| 555 | assert.True(t, err == nil && req != nil, "Must parse: %s \n\t%v", sql, err) |
| 556 | cmd, ok := req.(*rel.SqlCommand) |
| 557 | assert.True(t, ok, "is SqlCommand: %T", req) |
| 558 | assert.True(t, cmd.Keyword() == lex.TokenSet, "has SET kw: %#v", cmd) |
| 559 | assert.True(t, len(cmd.Columns) == 1 && cmd.Columns[0].Name == "autocommit", "has autocommit: %#v", cmd.Columns) |
| 560 | |
| 561 | sql = `SET @@local.sort_buffer_size=10000;` |
| 562 | req, err = rel.ParseSql(sql) |
| 563 | assert.True(t, err == nil && req != nil, "Must parse: %s \n\t%v", sql, err) |
| 564 | cmd, ok = req.(*rel.SqlCommand) |
| 565 | assert.True(t, ok, "is SqlCommand: %T", req) |
| 566 | assert.True(t, cmd.Keyword() == lex.TokenSet, "has SET kw: %#v", cmd) |
| 567 | assert.True(t, len(cmd.Columns) == 1 && cmd.Columns[0].Name == "@@local.sort_buffer_size", "has autocommit: %#v", cmd.Columns) |
| 568 | |
| 569 | sql = "USE `myschema`;" |
| 570 | req, err = rel.ParseSql(sql) |
| 571 | assert.True(t, err == nil && req != nil, "Must parse: %s \n\t%v", sql, err) |
| 572 | cmd, ok = req.(*rel.SqlCommand) |
| 573 | assert.True(t, ok, "is SqlCommand: %T", req) |
| 574 | assert.True(t, cmd.Keyword() == lex.TokenUse, "has USE kw: %#v", cmd) |
| 575 | assert.True(t, cmd.Identity == "myschema", "has myschema: %#v", cmd.Identity) |
| 576 | } |
| 577 | |
| 578 | func TestSqlAlias(t *testing.T) { |
| 579 | t.Parallel() |