From 67e6772d881d410cd6c9f8f59843349d88b6e3ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BF=86=E7=81=AC=E5=87=9D?= <92204592+org-org-org@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:23:08 +0800 Subject: [PATCH] comment updates for gdb.Builder (#2513) --- .../mysql/mysql_feature_model_builder_test.go | 14 ++++++++++++++ database/gdb/gdb_model_builder.go | 5 ++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/contrib/drivers/mysql/mysql_feature_model_builder_test.go b/contrib/drivers/mysql/mysql_feature_model_builder_test.go index 97490523e..97d7c5ee1 100644 --- a/contrib/drivers/mysql/mysql_feature_model_builder_test.go +++ b/contrib/drivers/mysql/mysql_feature_model_builder_test.go @@ -125,3 +125,17 @@ func Test_Model_Builder(t *testing.T) { t.Assert(args, []interface{}{1}) }) } + +func Test_Safe_Builder(t *testing.T) { + // test whether m.Builder() is chain safe + gtest.C(t, func(t *gtest.T) { + b := db.Model().Builder() + b.Where("id", 1) + _, args := b.Build() + t.AssertNil(args) + + b = b.Where("id", 1) + _, args = b.Build() + t.Assert(args, g.Slice{1}) + }) +} diff --git a/database/gdb/gdb_model_builder.go b/database/gdb/gdb_model_builder.go index 981dffb27..47c0fca21 100644 --- a/database/gdb/gdb_model_builder.go +++ b/database/gdb/gdb_model_builder.go @@ -25,7 +25,7 @@ type WhereHolder struct { Prefix string // Field prefix, eg: "user.", "order.". } -// Builder creates and returns a WhereBuilder. +// Builder creates and returns a WhereBuilder. Please note that the builder is chain-safe. func (m *Model) Builder() *WhereBuilder { b := &WhereBuilder{ model: m, @@ -34,8 +34,7 @@ func (m *Model) Builder() *WhereBuilder { return b } -// getBuilder creates and returns a cloned WhereBuilder of current WhereBuilder if `safe` is true, -// or else it returns the current WhereBuilder. +// getBuilder creates and returns a cloned WhereBuilder of current WhereBuilder func (b *WhereBuilder) getBuilder() *WhereBuilder { return b.Clone() }