| 523 | } |
| 524 | |
| 525 | func TestSqlShowAst(t *testing.T) { |
| 526 | t.Parallel() |
| 527 | /* |
| 528 | SHOW [FULL] TABLES [{FROM | IN} db_name] |
| 529 | [LIKE 'pattern' | WHERE expr] |
| 530 | */ |
| 531 | sql := `show tables` |
| 532 | req, err := rel.ParseSql(sql) |
| 533 | assert.True(t, err == nil && req != nil, "Must parse: %s \n\t%v", sql, err) |
| 534 | show, ok := req.(*rel.SqlShow) |
| 535 | assert.True(t, ok, "is SqlShow: %T", req) |
| 536 | assert.True(t, show.ShowType == "tables", "has SHOW kw: %#v", show) |
| 537 | |
| 538 | sql = "SHOW FULL COLUMNS FROM `tablex` FROM `dbx` LIKE '%';" |
| 539 | req, err = rel.ParseSql(sql) |
| 540 | assert.True(t, err == nil && req != nil, "Must parse: %s \n\t%v", sql, err) |
| 541 | show, ok = req.(*rel.SqlShow) |
| 542 | assert.True(t, ok, "is SqlShow: %T", req) |
| 543 | assert.True(t, show.Full, "Wanted full") |
| 544 | assert.True(t, show.ShowType == "columns", "has SHOW 'Columns'? %#v", show) |
| 545 | assert.True(t, show.Db == "dbx", "has SHOW db: %q", show.Db) |
| 546 | assert.True(t, show.Identity == "tablex", "has identity: %q", show.Identity) |
| 547 | assert.True(t, show.Like.String() == "Field LIKE \"%\"", "has Like? %q", show.Like.String()) |
| 548 | } |
| 549 | |
| 550 | func TestSqlCommands(t *testing.T) { |
| 551 | t.Parallel() |