Add support for prepared statement caching.

This commit is contained in:
go-jet 2024-03-07 18:01:31 +01:00
parent 1b63280b74
commit 0918e5503e
30 changed files with 603 additions and 289 deletions

View file

@ -14,10 +14,14 @@ func TestLockRead(t *testing.T) {
testutils.AssertStatementSql(t, query, `
LOCK TABLES dvds.customer READ;
`)
_, err := query.Exec(db)
tx, err := db.DB.Begin() // can't prepare LOCK statement
require.NoError(t, err)
requireLogged(t, query)
defer func() {
err := tx.Rollback()
require.NoError(t, err)
}()
testutils.AssertExec(t, query, tx)
}
func TestLockWrite(t *testing.T) {
@ -27,9 +31,14 @@ func TestLockWrite(t *testing.T) {
LOCK TABLES dvds.customer WRITE;
`)
_, err := query.Exec(db)
tx, err := db.DB.Begin() // can't prepare LOCK statement
require.NoError(t, err)
requireLogged(t, query)
defer func() {
err := tx.Rollback()
require.NoError(t, err)
}()
testutils.AssertExec(t, query, tx)
}
func TestUnlockTables(t *testing.T) {
@ -39,7 +48,12 @@ func TestUnlockTables(t *testing.T) {
UNLOCK TABLES;
`)
_, err := query.Exec(db)
tx, err := db.DB.Begin() // can't prepare LOCK statement
require.NoError(t, err)
requireLogged(t, query)
defer func() {
err := tx.Rollback()
require.NoError(t, err)
}()
testutils.AssertExec(t, query, tx)
}