Add LOCK table support.

This commit is contained in:
zer0sub 2019-05-07 13:44:30 +02:00
parent dd9b815dbb
commit c9561ecc37
8 changed files with 142 additions and 116 deletions

View file

@ -0,0 +1,24 @@
package sqlbuilder
import (
"gotest.tools/assert"
"testing"
)
func TestLockSingleTable(t *testing.T) {
lock := table1.LOCK().IN(LOCK_ROW_SHARE)
queryStr, _, err := lock.Sql()
assert.NilError(t, err)
assert.Equal(t, queryStr, `LOCK TABLE db.table1 IN ROW SHARE MODE`)
}
func TestLockMultipleTable(t *testing.T) {
lock := LOCK(table2, table1).IN(LOCK_ACCESS_EXCLUSIVE).NOWAIT()
queryStr, _, err := lock.Sql()
assert.NilError(t, err)
assert.Equal(t, queryStr, `LOCK TABLE db.table2, db.table1 IN ACCESS EXCLUSIVE MODE NOWAIT`)
}