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