aboutsummaryrefslogtreecommitdiff
path: root/internal/database/database_test.go
diff options
context:
space:
mode:
authorJonathan Amsterdam <jba@google.com>2020-06-01 15:32:59 -0400
committerJonathan Amsterdam <jba@google.com>2020-06-02 15:12:19 +0000
commite66341ffa9aaedd9fee511576e2e501738faa281 (patch)
tree081bf2bea81e7118e164dafd3787ad638658153e /internal/database/database_test.go
parent7557ba489297ee225fc0cad232619d21fbc93f83 (diff)
downloadgo-x-pkgsite-e66341ffa9aaedd9fee511576e2e501738faa281.tar.xz
internal/database: Transact supports any isolation level
- Add an arg to Transact for the isolation level - Remove TransactSerializable This makes it possible to use other levels, and makes it easier to see which level is being used for each transaction. Change-Id: Iba5e2920b4139e5e2f0f8c6b331a658d7c84f60f Reviewed-on: https://team-review.git.corp.google.com/c/golang/discovery/+/758942 CI-Result: Cloud Build <devtools-proctor-result-processor@system.gserviceaccount.com> Reviewed-by: Julie Qiu <julieqiu@google.com>
Diffstat (limited to 'internal/database/database_test.go')
-rw-r--r--internal/database/database_test.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/internal/database/database_test.go b/internal/database/database_test.go
index 7d95bd83..935b6707 100644
--- a/internal/database/database_test.go
+++ b/internal/database/database_test.go
@@ -193,7 +193,7 @@ func TestLargeBulkInsert(t *testing.T) {
for i := 0; i < size; i++ {
vals[i] = i + 1
}
- if err := testDB.Transact(ctx, func(db *DB) error {
+ if err := testDB.Transact(ctx, sql.LevelDefault, func(db *DB) error {
return db.BulkInsert(ctx, "test_large_bulk", []string{"i"}, vals, "")
}); err != nil {
t.Fatal(err)
@@ -220,7 +220,7 @@ func TestLargeBulkInsert(t *testing.T) {
func TestDBAfterTransactFails(t *testing.T) {
ctx := context.Background()
var tx *DB
- err := testDB.Transact(ctx, func(d *DB) error {
+ err := testDB.Transact(ctx, sql.LevelDefault, func(d *DB) error {
tx = d
return nil
})
@@ -269,7 +269,7 @@ func TestBulkUpdate(t *testing.T) {
for i := 0; i < 50; i++ {
values = append(values, i, i)
}
- err := testDB.Transact(ctx, func(tx *DB) error {
+ err := testDB.Transact(ctx, sql.LevelDefault, func(tx *DB) error {
return tx.BulkInsert(ctx, "bulk_update", cols, values, "")
})
if err != nil {
@@ -283,7 +283,7 @@ func TestBulkUpdate(t *testing.T) {
updateVals[1] = append(updateVals[1], -i)
}
- err = testDB.Transact(ctx, func(tx *DB) error {
+ err = testDB.Transact(ctx, sql.LevelDefault, func(tx *DB) error {
return tx.BulkUpdate(ctx, "bulk_update", cols, []string{"INT", "INT"}, updateVals)
})
if err != nil {
@@ -349,7 +349,8 @@ func TestTransactSerializable(t *testing.T) {
for i := 0; i < numTransactions; i++ {
i := i
go func() {
- errc <- testDB.TransactSerializable(ctx, func(tx *DB) error { return insertSum(tx, 1+i%2) })
+ errc <- testDB.Transact(ctx, sql.LevelSerializable,
+ func(tx *DB) error { return insertSum(tx, 1+i%2) })
}()
}
// None of the transactions should fail.