chore: import upstream snapshot with attribution
This commit is contained in:
Executable
+104
@@ -0,0 +1,104 @@
|
||||
package _go
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/dolthub/go-mysql-server/sql"
|
||||
)
|
||||
|
||||
func TestDiscard(t *testing.T) {
|
||||
RunScripts(t, []ScriptTest{
|
||||
{
|
||||
Name: "Test discard",
|
||||
SetUpScript: []string{
|
||||
`CREATE temporary TABLE test (a INT)`,
|
||||
`insert into test values (1)`,
|
||||
},
|
||||
Assertions: []ScriptTestAssertion{
|
||||
{
|
||||
Query: "select * from test",
|
||||
Expected: []sql.Row{
|
||||
{1},
|
||||
},
|
||||
},
|
||||
{
|
||||
Query: "DISCARD ALL",
|
||||
Expected: []sql.Row{},
|
||||
},
|
||||
{
|
||||
Query: "select * from test",
|
||||
ExpectedErr: "table not found",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "Test discard errors",
|
||||
SetUpScript: []string{
|
||||
`CREATE temporary TABLE test (a INT)`,
|
||||
`insert into test values (1)`,
|
||||
},
|
||||
Assertions: []ScriptTestAssertion{
|
||||
{
|
||||
Query: "DISCARD SEQUENCES",
|
||||
ExpectedErr: "unimplemented",
|
||||
},
|
||||
{
|
||||
Query: "select * from test",
|
||||
Expected: []sql.Row{
|
||||
{1},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "Test discard in transaction",
|
||||
SetUpScript: []string{
|
||||
`CREATE temporary TABLE test (a INT)`,
|
||||
`insert into test values (1)`,
|
||||
},
|
||||
Assertions: []ScriptTestAssertion{
|
||||
{
|
||||
Query: "BEGIN",
|
||||
},
|
||||
{
|
||||
Query: "DISCARD ALL",
|
||||
ExpectedErr: "DISCARD ALL cannot run inside a transaction block",
|
||||
Skip: true, // not yet implemented
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func TestRollback(t *testing.T) {
|
||||
RunScripts(t, []ScriptTest{
|
||||
{
|
||||
Name: "Test rollback transaction",
|
||||
SetUpScript: []string{
|
||||
`BEGIN`,
|
||||
`CREATE temporary TABLE test (a INT)`,
|
||||
`insert into test values (1)`,
|
||||
},
|
||||
Assertions: []ScriptTestAssertion{
|
||||
{
|
||||
Query: "select * from test",
|
||||
Expected: []sql.Row{{1}},
|
||||
},
|
||||
{
|
||||
Query: "ROLLBACK",
|
||||
Expected: []sql.Row{},
|
||||
},
|
||||
{
|
||||
Query: "select * from test",
|
||||
ExpectedErr: "table not found",
|
||||
Skip: true, // temp table should be dropped after ROLLBACK
|
||||
},
|
||||
{
|
||||
Query: "create temp table test (b int)",
|
||||
Expected: []sql.Row{},
|
||||
Skip: true, // temp table should be dropped after ROLLBACK
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user