mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
rollback mysql driver
this https://github.com/go-sql-driver/mysql/pull/302 seems to have pretty much crippled the ability to use mysql, so we need to lock a version before that until that issue gets fixed.
This commit is contained in:
38
vendor/github.com/go-sql-driver/mysql/driver_go18_test.go
generated
vendored
38
vendor/github.com/go-sql-driver/mysql/driver_go18_test.go
generated
vendored
@@ -520,41 +520,3 @@ func TestContextBeginIsolationLevel(t *testing.T) {
|
||||
tx2.Commit()
|
||||
})
|
||||
}
|
||||
|
||||
func TestContextBeginReadOnly(t *testing.T) {
|
||||
runTests(t, dsn, func(dbt *DBTest) {
|
||||
dbt.mustExec("CREATE TABLE test (v INTEGER)")
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
|
||||
tx, err := dbt.db.BeginTx(ctx, &sql.TxOptions{
|
||||
ReadOnly: true,
|
||||
})
|
||||
if _, ok := err.(*MySQLError); ok {
|
||||
dbt.Skip("It seems that your MySQL does not support READ ONLY transactions")
|
||||
return
|
||||
} else if err != nil {
|
||||
dbt.Fatal(err)
|
||||
}
|
||||
|
||||
// INSERT queries fail in a READ ONLY transaction.
|
||||
_, err = tx.ExecContext(ctx, "INSERT INTO test VALUES (1)")
|
||||
if _, ok := err.(*MySQLError); !ok {
|
||||
dbt.Errorf("expected MySQLError, got %v", err)
|
||||
}
|
||||
|
||||
// SELECT queries can be executed.
|
||||
var v int
|
||||
row := tx.QueryRowContext(ctx, "SELECT COUNT(*) FROM test")
|
||||
if err := row.Scan(&v); err != nil {
|
||||
dbt.Fatal(err)
|
||||
}
|
||||
if v != 0 {
|
||||
dbt.Errorf("expected val to be 0, got %d", v)
|
||||
}
|
||||
|
||||
if err := tx.Commit(); err != nil {
|
||||
dbt.Fatal(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user