From 0df40b8d98b064f7d4792e6bb6a256e8913e9a8d Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Tue, 4 Jul 2023 14:42:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=8F=E5=B0=91=E5=9C=A8=E8=87=AA=E5=A2=9E?= =?UTF-8?q?=E9=94=81=E4=B8=AD=E7=94=9F=E6=88=90=E7=9A=84sql=20statements?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/sys_locker_dao.go | 2 ++ internal/db/models/sys_locker_dao_test.go | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/internal/db/models/sys_locker_dao.go b/internal/db/models/sys_locker_dao.go index 232fe10c..76448fa7 100644 --- a/internal/db/models/sys_locker_dao.go +++ b/internal/db/models/sys_locker_dao.go @@ -138,6 +138,7 @@ func (this *SysLockerDAO) Increase(tx *dbs.Tx, key string, defaultValue int64) ( return result, err } err := this.Query(tx). + Reuse(false). // no need to prepare statement in every transaction InsertOrUpdateQuickly(maps.Map{ "key": key, "version": defaultValue, @@ -148,6 +149,7 @@ func (this *SysLockerDAO) Increase(tx *dbs.Tx, key string, defaultValue int64) ( return 0, err } return this.Query(tx). + Reuse(false). // no need to prepare statement in every transaction Attr("key", key). Result("version"). FindInt64Col(0) diff --git a/internal/db/models/sys_locker_dao_test.go b/internal/db/models/sys_locker_dao_test.go index 70af37bc..2df3c5d2 100644 --- a/internal/db/models/sys_locker_dao_test.go +++ b/internal/db/models/sys_locker_dao_test.go @@ -26,6 +26,21 @@ func TestSysLockerDAO_Lock(t *testing.T) { } } +func TestSysLocker_Increase_SQL(t *testing.T) { + var dao = NewSysLockerDAO() + value, err := dao.Read(nil, "hello") + if err != nil { + t.Fatal(err) + } + t.Log("before:", value) + v, err := dao.Increase(nil, "hello", 0) + if err != nil { + t.Log("err:", err) + return + } + t.Log("after:", v) +} + func TestSysLocker_Increase(t *testing.T) { dbs.NotifyReady()