From 2bc4ffcba8fa2e9536c11a84404368dd8567d95d Mon Sep 17 00:00:00 2001 From: Paul Xue Date: Tue, 16 Oct 2018 01:09:32 -0400 Subject: [PATCH] add SetColumn to sqlbuilder interface, export setColumns --- lib/sqlbuilder/interfaces.go | 8 ++++++++ lib/sqlbuilder/select.go | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/lib/sqlbuilder/interfaces.go b/lib/sqlbuilder/interfaces.go index b03eed4d..176652b1 100644 --- a/lib/sqlbuilder/interfaces.go +++ b/lib/sqlbuilder/interfaces.go @@ -185,6 +185,14 @@ type Selector interface { // s.Columns(sqlbuilder.Func("DATABASE_NAME")) Columns(columns ...interface{}) Selector + // SetColumns overrides previously selected columns + // + // Using SetColumns will replace any previously selected columns. + // + // s.Columns("name", "last_name").SetColumns("first_name") + // + SetColumns(columns ...interface{}) Selector + // From represents a FROM clause and is tipically used after Columns(). // // FROM defines from which table data is going to be retrieved diff --git a/lib/sqlbuilder/select.go b/lib/sqlbuilder/select.go index fa305c1b..eb7677bc 100644 --- a/lib/sqlbuilder/select.go +++ b/lib/sqlbuilder/select.go @@ -162,6 +162,10 @@ func (sel *selector) setColumns(columns ...interface{}) Selector { }) } +func (sel *selector) SetColumns(columns ...interface{}) Selector { + return sel.setColumns(columns...) +} + func (sel *selector) Columns(columns ...interface{}) Selector { return sel.frame(func(sq *selectorQuery) error { return sq.pushColumns(columns...)