From 203f322ab0acc53a8109c91ae5e618c644e69b2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Carlos=20Nieto?= <jose.carlos@menteslibres.net> Date: Thu, 22 Sep 2016 08:40:45 -0500 Subject: [PATCH] Add hasIsZero() interface to prevent errors. --- lib/sqlbuilder/builder.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/sqlbuilder/builder.go b/lib/sqlbuilder/builder.go index 9993bd90..bbaa08f8 100644 --- a/lib/sqlbuilder/builder.go +++ b/lib/sqlbuilder/builder.go @@ -15,6 +15,10 @@ import ( "upper.io/db.v2/lib/reflectx" ) +type hasIsZero interface { + IsZero() bool +} + type hasArguments interface { Arguments() []interface{} } @@ -215,7 +219,11 @@ func Map(item interface{}) ([]string, []interface{}, error) { } if _, ok := fi.Options["omitempty"]; ok { - if value == fi.Zero.Interface() { + if t, ok := fld.Interface().(hasIsZero); ok { + if t.IsZero() { + continue + } + } else if value == fi.Zero.Interface() { continue } } -- GitLab