From 7d95f5f47f3d48e7198e9f1be39e7fdd22fda743 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20Nieto?= <jose.carlos@menteslibres.net>
Date: Wed, 3 Aug 2016 07:29:26 -0500
Subject: [PATCH] Keep sqlbuilder name.

---
 internal/sqladapter/database.go               |  4 +--
 internal/sqladapter/result.go                 |  8 +++---
 internal/sqladapter/testing/adapter.go.tpl    |  2 +-
 .../testing/adapter_benchmark.go.tpl          |  4 +--
 internal/sqladapter/tx.go                     |  2 +-
 lib/sqlbuilder/builder.go                     |  2 +-
 lib/sqlbuilder/builder_test.go                |  2 +-
 lib/sqlbuilder/convert.go                     |  2 +-
 lib/sqlbuilder/delete.go                      |  2 +-
 lib/sqlbuilder/errors.go                      |  2 +-
 lib/sqlbuilder/fetch.go                       |  2 +-
 lib/sqlbuilder/insert.go                      |  2 +-
 lib/sqlbuilder/interfaces.go                  | 26 +++++++++----------
 lib/sqlbuilder/scanner.go                     |  2 +-
 lib/sqlbuilder/select.go                      |  2 +-
 lib/sqlbuilder/template_test.go               |  2 +-
 lib/sqlbuilder/update.go                      |  2 +-
 lib/sqlbuilder/wrapper.go                     |  2 +-
 mysql/collection.go                           |  2 +-
 mysql/database.go                             | 12 ++++-----
 mysql/mysql.go                                | 16 ++++++------
 mysql/template_test.go                        |  8 +++---
 postgresql/collection.go                      |  2 +-
 postgresql/database.go                        | 12 ++++-----
 postgresql/postgresql.go                      | 16 ++++++------
 postgresql/template_test.go                   |  8 +++---
 postgresql/tx.go                              |  2 +-
 ql/collection.go                              |  2 +-
 ql/database.go                                | 26 +++++++++----------
 ql/ql.go                                      |  2 +-
 ql/template_test.go                           |  8 +++---
 sqlite/collection.go                          |  2 +-
 sqlite/database.go                            | 14 +++++-----
 sqlite/sqlite.go                              | 16 ++++++------
 sqlite/template_test.go                       |  8 +++---
 wrapper.go                                    |  1 +
 36 files changed, 114 insertions(+), 113 deletions(-)

diff --git a/internal/sqladapter/database.go b/internal/sqladapter/database.go
index 6572dbd6..955106a2 100644
--- a/internal/sqladapter/database.go
+++ b/internal/sqladapter/database.go
@@ -7,9 +7,9 @@ import (
 	"time"
 
 	"upper.io/db.v2"
+	"upper.io/db.v2/internal/cache"
 	"upper.io/db.v2/internal/logger"
 	"upper.io/db.v2/lib/sqlbuilder"
-	"upper.io/db.v2/internal/cache"
 	"upper.io/db.v2/lib/sqlbuilder/exql"
 )
 
@@ -31,7 +31,7 @@ type Database interface {
 
 // PartialDatabase defines all the methods an adapter must provide.
 type PartialDatabase interface {
-	builder.Builder
+	sqlbuilder.Builder
 
 	Collections() ([]string, error)
 	Open(db.ConnectionURL) error
diff --git a/internal/sqladapter/result.go b/internal/sqladapter/result.go
index a491a506..fef6bbbc 100644
--- a/internal/sqladapter/result.go
+++ b/internal/sqladapter/result.go
@@ -30,9 +30,9 @@ import (
 
 // Result represents a delimited set of items bound by a condition.
 type Result struct {
-	b       builder.Builder
+	b       sqlbuilder.Builder
 	table   string
-	iter    builder.Iterator
+	iter    sqlbuilder.Iterator
 	limit   int
 	offset  int
 	fields  []interface{}
@@ -51,7 +51,7 @@ func filter(conds []interface{}) []interface{} {
 
 // NewResult creates and Results a new Result set on the given table, this set
 // is limited by the given exql.Where conditions.
-func NewResult(b builder.Builder, table string, conds []interface{}) *Result {
+func NewResult(b sqlbuilder.Builder, table string, conds []interface{}) *Result {
 	return &Result{
 		b:     b,
 		table: table,
@@ -205,7 +205,7 @@ func (r *Result) Count() (uint64, error) {
 	return counter.Count, nil
 }
 
-func (r *Result) buildSelect() builder.Selector {
+func (r *Result) buildSelect() sqlbuilder.Selector {
 	q := r.b.Select(r.fields...)
 
 	q.From(r.table)
diff --git a/internal/sqladapter/testing/adapter.go.tpl b/internal/sqladapter/testing/adapter.go.tpl
index efc881c0..6c68a922 100644
--- a/internal/sqladapter/testing/adapter.go.tpl
+++ b/internal/sqladapter/testing/adapter.go.tpl
@@ -39,7 +39,7 @@ func TestMain(m *testing.M) {
 	os.Exit(m.Run())
 }
 
-func mustOpen() builder.Database {
+func mustOpen() sqlbuilder.Database {
 	sess, err := Open(settings)
 	if err != nil {
 		panic(err.Error())
diff --git a/internal/sqladapter/testing/adapter_benchmark.go.tpl b/internal/sqladapter/testing/adapter_benchmark.go.tpl
index 6e661a14..0438aca1 100644
--- a/internal/sqladapter/testing/adapter_benchmark.go.tpl
+++ b/internal/sqladapter/testing/adapter_benchmark.go.tpl
@@ -277,7 +277,7 @@ func BenchmarkUpperCommitManyTransactions(b *testing.B) {
 	b.ResetTimer()
 
 	for i := 0; i < b.N; i++ {
-		var tx builder.Tx
+		var tx sqlbuilder.Tx
 		if tx, err = sess.NewTx(); err != nil {
 			b.Fatal(err)
 		}
@@ -315,7 +315,7 @@ func BenchmarkUpperRollbackManyTransactions(b *testing.B) {
 	b.ResetTimer()
 
 	for i := 0; i < b.N; i++ {
-		var tx builder.Tx
+		var tx sqlbuilder.Tx
 		if tx, err = sess.NewTx(); err != nil {
 			b.Fatal(err)
 		}
diff --git a/internal/sqladapter/tx.go b/internal/sqladapter/tx.go
index d5d37b36..059c3f8e 100644
--- a/internal/sqladapter/tx.go
+++ b/internal/sqladapter/tx.go
@@ -96,7 +96,7 @@ func (t *txWrapper) Rollback() error {
 	return t.BaseTx.Rollback()
 }
 
-func RunTx(d builder.Database, fn func(tx builder.Tx) error) error {
+func RunTx(d sqlbuilder.Database, fn func(tx sqlbuilder.Tx) error) error {
 	tx, err := d.NewTx()
 	if err != nil {
 		return err
diff --git a/lib/sqlbuilder/builder.go b/lib/sqlbuilder/builder.go
index 75090243..20ba860c 100644
--- a/lib/sqlbuilder/builder.go
+++ b/lib/sqlbuilder/builder.go
@@ -1,4 +1,4 @@
-package builder
+package sqlbuilder
 
 import (
 	"database/sql"
diff --git a/lib/sqlbuilder/builder_test.go b/lib/sqlbuilder/builder_test.go
index aaa332de..6726cedb 100644
--- a/lib/sqlbuilder/builder_test.go
+++ b/lib/sqlbuilder/builder_test.go
@@ -1,4 +1,4 @@
-package builder
+package sqlbuilder
 
 import (
 	"testing"
diff --git a/lib/sqlbuilder/convert.go b/lib/sqlbuilder/convert.go
index 47d8c3ce..12550f01 100644
--- a/lib/sqlbuilder/convert.go
+++ b/lib/sqlbuilder/convert.go
@@ -1,4 +1,4 @@
-package builder
+package sqlbuilder
 
 import (
 	"fmt"
diff --git a/lib/sqlbuilder/delete.go b/lib/sqlbuilder/delete.go
index c6044e8a..c0bf81d6 100644
--- a/lib/sqlbuilder/delete.go
+++ b/lib/sqlbuilder/delete.go
@@ -1,4 +1,4 @@
-package builder
+package sqlbuilder
 
 import (
 	"database/sql"
diff --git a/lib/sqlbuilder/errors.go b/lib/sqlbuilder/errors.go
index 015b29b3..1fbdaec9 100644
--- a/lib/sqlbuilder/errors.go
+++ b/lib/sqlbuilder/errors.go
@@ -1,4 +1,4 @@
-package builder
+package sqlbuilder
 
 import (
 	"errors"
diff --git a/lib/sqlbuilder/fetch.go b/lib/sqlbuilder/fetch.go
index d0802173..b5bf577f 100644
--- a/lib/sqlbuilder/fetch.go
+++ b/lib/sqlbuilder/fetch.go
@@ -19,7 +19,7 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-package builder
+package sqlbuilder
 
 import (
 	"database/sql"
diff --git a/lib/sqlbuilder/insert.go b/lib/sqlbuilder/insert.go
index 29e06f3c..9693885c 100644
--- a/lib/sqlbuilder/insert.go
+++ b/lib/sqlbuilder/insert.go
@@ -1,4 +1,4 @@
-package builder
+package sqlbuilder
 
 import (
 	"database/sql"
diff --git a/lib/sqlbuilder/interfaces.go b/lib/sqlbuilder/interfaces.go
index 409cd594..ccdb7c57 100644
--- a/lib/sqlbuilder/interfaces.go
+++ b/lib/sqlbuilder/interfaces.go
@@ -19,7 +19,7 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-package builder
+package sqlbuilder
 
 import (
 	"database/sql"
@@ -36,7 +36,7 @@ type Builder interface {
 	//
 	// Example:
 	//
-	//  q := builder.Select("first_name", "last_name").From("people").Where(...)
+	//  q := sqlbuilder.Select("first_name", "last_name").From("people").Where(...)
 	Select(columns ...interface{}) Selector
 
 	// SelectFrom creates a Selector that selects all columns (like SELECT *)
@@ -44,56 +44,56 @@ type Builder interface {
 	//
 	// Example:
 	//
-	//  q := builder.SelectFrom("people").Where(...)
+	//  q := sqlbuilder.SelectFrom("people").Where(...)
 	SelectFrom(table string) Selector
 
 	// InsertInto prepares an returns a Inserter that points at the given table.
 	//
 	// Example:
 	//
-	//   q := builder.InsertInto("books").Columns(...).Values(...)
+	//   q := sqlbuilder.InsertInto("books").Columns(...).Values(...)
 	InsertInto(table string) Inserter
 
 	// DeleteFrom prepares a Deleter that points at the given table.
 	//
 	// Example:
 	//
-	//  q := builder.DeleteFrom("tasks").Where(...)
+	//  q := sqlbuilder.DeleteFrom("tasks").Where(...)
 	DeleteFrom(table string) Deleter
 
 	// Update prepares and returns an Updater that points at the given table.
 	//
 	// Example:
 	//
-	//  q := builder.Update("profile").Set(...).Where(...)
+	//  q := sqlbuilder.Update("profile").Set(...).Where(...)
 	Update(table string) Updater
 
 	// Exec executes the given SQL query and returns the sql.Result.
 	//
 	// Example:
 	//
-	//  builder.Exec(`INSERT INTO books (title) VALUES("La Ciudad y los Perros")`)
+	//  sqlbuilder.Exec(`INSERT INTO books (title) VALUES("La Ciudad y los Perros")`)
 	Exec(query interface{}, args ...interface{}) (sql.Result, error)
 
 	// Query executes the given SQL query and returns *sql.Rows.
 	//
 	// Example:
 	//
-	//  builder.Query(`SELECT * FROM people WHERE name = "Mateo"`)
+	//  sqlbuilder.Query(`SELECT * FROM people WHERE name = "Mateo"`)
 	Query(query interface{}, args ...interface{}) (*sql.Rows, error)
 
 	// QueryRow executes the given SQL query and returns *sql.Row.
 	//
 	// Example:
 	//
-	//  builder.QueryRow(`SELECT * FROM people WHERE name = "Haruki" AND last_name = "Murakami" LIMIT 1`)
+	//  sqlbuilder.QueryRow(`SELECT * FROM people WHERE name = "Haruki" AND last_name = "Murakami" LIMIT 1`)
 	QueryRow(query interface{}, args ...interface{}) (*sql.Row, error)
 
 	// Iterator executes the given SQL query and returns an Iterator.
 	//
 	// Example:
 	//
-	//  builder.Iterator(`SELECT * FROM people WHERE name LIKE "M%"`)
+	//  sqlbuilder.Iterator(`SELECT * FROM people WHERE name LIKE "M%"`)
 	Iterator(query interface{}, args ...interface{}) Iterator
 }
 
@@ -115,14 +115,14 @@ type Selector interface {
 	//
 	//   s.Columns("name n")
 	//
-	// If you don't want the column to be escaped use the builder.RawString
+	// If you don't want the column to be escaped use the sqlbuilder.RawString
 	// function.
 	//
-	//   s.Columns(builder.RawString("DATABASE_NAME()"))
+	//   s.Columns(sqlbuilder.RawString("DATABASE_NAME()"))
 	//
 	// The above statement is equivalent to:
 	//
-	//   s.Columns(builder.Func("DATABASE_NAME"))
+	//   s.Columns(sqlbuilder.Func("DATABASE_NAME"))
 	Columns(columns ...interface{}) Selector
 
 	// From represents a FROM clause and is tipically used after Columns().
diff --git a/lib/sqlbuilder/scanner.go b/lib/sqlbuilder/scanner.go
index 9e841d43..6cc8df36 100644
--- a/lib/sqlbuilder/scanner.go
+++ b/lib/sqlbuilder/scanner.go
@@ -19,7 +19,7 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-package builder
+package sqlbuilder
 
 import (
 	"database/sql"
diff --git a/lib/sqlbuilder/select.go b/lib/sqlbuilder/select.go
index 276f089e..ee729526 100644
--- a/lib/sqlbuilder/select.go
+++ b/lib/sqlbuilder/select.go
@@ -1,4 +1,4 @@
-package builder
+package sqlbuilder
 
 import (
 	"database/sql"
diff --git a/lib/sqlbuilder/template_test.go b/lib/sqlbuilder/template_test.go
index c473da57..d5629f65 100644
--- a/lib/sqlbuilder/template_test.go
+++ b/lib/sqlbuilder/template_test.go
@@ -1,4 +1,4 @@
-package builder
+package sqlbuilder
 
 import (
 	"upper.io/db.v2/internal/cache"
diff --git a/lib/sqlbuilder/update.go b/lib/sqlbuilder/update.go
index 23ad57d1..de285515 100644
--- a/lib/sqlbuilder/update.go
+++ b/lib/sqlbuilder/update.go
@@ -1,4 +1,4 @@
-package builder
+package sqlbuilder
 
 import (
 	"database/sql"
diff --git a/lib/sqlbuilder/wrapper.go b/lib/sqlbuilder/wrapper.go
index ef28556c..b3d9f188 100644
--- a/lib/sqlbuilder/wrapper.go
+++ b/lib/sqlbuilder/wrapper.go
@@ -19,7 +19,7 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-package builder
+package sqlbuilder
 
 import (
 	"database/sql"
diff --git a/mysql/collection.go b/mysql/collection.go
index 782c2341..3d967a38 100644
--- a/mysql/collection.go
+++ b/mysql/collection.go
@@ -75,7 +75,7 @@ func (t *table) Conds(conds ...interface{}) []interface{} {
 
 // Insert inserts an item (map or struct) into the collection.
 func (t *table) Insert(item interface{}) (interface{}, error) {
-	columnNames, columnValues, err := builder.Map(item)
+	columnNames, columnValues, err := sqlbuilder.Map(item)
 	if err != nil {
 		return nil, err
 	}
diff --git a/mysql/database.go b/mysql/database.go
index 9d21f90d..d1c8e0d8 100644
--- a/mysql/database.go
+++ b/mysql/database.go
@@ -37,14 +37,14 @@ import (
 // database is the actual implementation of Database
 type database struct {
 	sqladapter.BaseDatabase // Leveraged by sqladapter
-	builder.Builder
+	sqlbuilder.Builder
 
 	connURL db.ConnectionURL
 	txMu    sync.Mutex
 }
 
 var (
-	_ = builder.Database(&database{})
+	_ = sqlbuilder.Database(&database{})
 )
 
 // newDatabase binds *database with sqladapter and the SQL builer.
@@ -70,7 +70,7 @@ func (d *database) Open(connURL db.ConnectionURL) error {
 }
 
 // NewTx starts a transaction block.
-func (d *database) NewTx() (builder.Tx, error) {
+func (d *database) NewTx() (sqlbuilder.Tx, error) {
 	nTx, err := d.NewLocalTransaction()
 	if err != nil {
 		return nil, err
@@ -102,8 +102,8 @@ func (d *database) open() error {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return err
 	}
@@ -162,7 +162,7 @@ func (d *database) NewLocalCollection(name string) db.Collection {
 
 // Tx creates a transaction and passes it to the given function, if if the
 // function returns no error then the transaction is commited.
-func (d *database) Tx(fn func(tx builder.Tx) error) error {
+func (d *database) Tx(fn func(tx sqlbuilder.Tx) error) error {
 	return sqladapter.RunTx(d, fn)
 }
 
diff --git a/mysql/mysql.go b/mysql/mysql.go
index 357f221c..56d42cf4 100644
--- a/mysql/mysql.go
+++ b/mysql/mysql.go
@@ -36,7 +36,7 @@ const sqlDriver = `mysql`
 const Adapter = sqlDriver
 
 func init() {
-	builder.RegisterAdapter(Adapter, &builder.AdapterFuncMap{
+	sqlbuilder.RegisterAdapter(Adapter, &sqlbuilder.AdapterFuncMap{
 		New:   New,
 		NewTx: NewTx,
 		Open:  Open,
@@ -44,7 +44,7 @@ func init() {
 }
 
 // Open stablishes a new connection with the SQL server.
-func Open(settings db.ConnectionURL) (builder.Database, error) {
+func Open(settings db.ConnectionURL) (sqlbuilder.Database, error) {
 	d, err := newDatabase(settings)
 	if err != nil {
 		return nil, err
@@ -56,7 +56,7 @@ func Open(settings db.ConnectionURL) (builder.Database, error) {
 }
 
 // NewTx returns a transaction session.
-func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
+func NewTx(sqlTx *sql.Tx) (sqlbuilder.Tx, error) {
 	d, err := newDatabase(nil)
 	if err != nil {
 		return nil, err
@@ -65,8 +65,8 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return nil, err
 	}
@@ -81,7 +81,7 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
 }
 
 // New wraps the given *sql.DB session and creates a new db session.
-func New(sess *sql.DB) (builder.Database, error) {
+func New(sess *sql.DB) (sqlbuilder.Database, error) {
 	d, err := newDatabase(nil)
 	if err != nil {
 		return nil, err
@@ -90,8 +90,8 @@ func New(sess *sql.DB) (builder.Database, error) {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return nil, err
 	}
diff --git a/mysql/template_test.go b/mysql/template_test.go
index d7f09992..725cd0b0 100644
--- a/mysql/template_test.go
+++ b/mysql/template_test.go
@@ -9,7 +9,7 @@ import (
 )
 
 func TestTemplateSelect(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -147,7 +147,7 @@ func TestTemplateSelect(t *testing.T) {
 }
 
 func TestTemplateInsert(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -189,7 +189,7 @@ func TestTemplateInsert(t *testing.T) {
 }
 
 func TestTemplateUpdate(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -231,7 +231,7 @@ func TestTemplateUpdate(t *testing.T) {
 }
 
 func TestTemplateDelete(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
diff --git a/postgresql/collection.go b/postgresql/collection.go
index 71fba4bb..65ea696d 100644
--- a/postgresql/collection.go
+++ b/postgresql/collection.go
@@ -75,7 +75,7 @@ func (t *table) Conds(conds ...interface{}) []interface{} {
 
 // Insert inserts an item (map or struct) into the collection.
 func (t *table) Insert(item interface{}) (interface{}, error) {
-	columnNames, columnValues, err := builder.Map(item)
+	columnNames, columnValues, err := sqlbuilder.Map(item)
 	if err != nil {
 		return nil, err
 	}
diff --git a/postgresql/database.go b/postgresql/database.go
index 687957fd..c2b2f0d6 100644
--- a/postgresql/database.go
+++ b/postgresql/database.go
@@ -36,14 +36,14 @@ import (
 // database is the actual implementation of Database
 type database struct {
 	sqladapter.BaseDatabase // Leveraged by sqladapter
-	builder.Builder
+	sqlbuilder.Builder
 
 	connURL db.ConnectionURL
 	txMu    sync.Mutex
 }
 
 var (
-	_ = builder.Database(&database{})
+	_ = sqlbuilder.Database(&database{})
 )
 
 // newDatabase binds *database with sqladapter and the SQL builer.
@@ -69,7 +69,7 @@ func (d *database) Open(connURL db.ConnectionURL) error {
 }
 
 // NewTx starts a transaction block.
-func (d *database) NewTx() (builder.Tx, error) {
+func (d *database) NewTx() (sqlbuilder.Tx, error) {
 	nTx, err := d.NewLocalTransaction()
 	if err != nil {
 		return nil, err
@@ -101,8 +101,8 @@ func (d *database) open() error {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return err
 	}
@@ -161,7 +161,7 @@ func (d *database) NewLocalCollection(name string) db.Collection {
 
 // Tx creates a transaction and passes it to the given function, if if the
 // function returns no error then the transaction is commited.
-func (d *database) Tx(fn func(tx builder.Tx) error) error {
+func (d *database) Tx(fn func(tx sqlbuilder.Tx) error) error {
 	return sqladapter.RunTx(d, fn)
 }
 
diff --git a/postgresql/postgresql.go b/postgresql/postgresql.go
index aba4d744..9612e6aa 100644
--- a/postgresql/postgresql.go
+++ b/postgresql/postgresql.go
@@ -36,7 +36,7 @@ const sqlDriver = `postgres`
 const Adapter = `postgresql`
 
 func init() {
-	builder.RegisterAdapter(Adapter, &builder.AdapterFuncMap{
+	sqlbuilder.RegisterAdapter(Adapter, &sqlbuilder.AdapterFuncMap{
 		New:   New,
 		NewTx: NewTx,
 		Open:  Open,
@@ -44,7 +44,7 @@ func init() {
 }
 
 // Open stablishes a new connection with the SQL server.
-func Open(settings db.ConnectionURL) (builder.Database, error) {
+func Open(settings db.ConnectionURL) (sqlbuilder.Database, error) {
 	d, err := newDatabase(settings)
 	if err != nil {
 		return nil, err
@@ -56,7 +56,7 @@ func Open(settings db.ConnectionURL) (builder.Database, error) {
 }
 
 // NewTx returns a transaction session.
-func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
+func NewTx(sqlTx *sql.Tx) (sqlbuilder.Tx, error) {
 	d, err := newDatabase(nil)
 	if err != nil {
 		return nil, err
@@ -65,8 +65,8 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return nil, err
 	}
@@ -81,7 +81,7 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
 }
 
 // New wraps the given *sql.DB session and creates a new db session.
-func New(sess *sql.DB) (builder.Database, error) {
+func New(sess *sql.DB) (sqlbuilder.Database, error) {
 	d, err := newDatabase(nil)
 	if err != nil {
 		return nil, err
@@ -90,8 +90,8 @@ func New(sess *sql.DB) (builder.Database, error) {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return nil, err
 	}
diff --git a/postgresql/template_test.go b/postgresql/template_test.go
index 02f0defc..fd1f237a 100644
--- a/postgresql/template_test.go
+++ b/postgresql/template_test.go
@@ -10,7 +10,7 @@ import (
 
 func TestTemplateSelect(t *testing.T) {
 
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -148,7 +148,7 @@ func TestTemplateSelect(t *testing.T) {
 }
 
 func TestTemplateInsert(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -190,7 +190,7 @@ func TestTemplateInsert(t *testing.T) {
 }
 
 func TestTemplateUpdate(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -232,7 +232,7 @@ func TestTemplateUpdate(t *testing.T) {
 }
 
 func TestTemplateDelete(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
diff --git a/postgresql/tx.go b/postgresql/tx.go
index 9d89e2fc..9d37aa9c 100644
--- a/postgresql/tx.go
+++ b/postgresql/tx.go
@@ -31,5 +31,5 @@ type tx struct {
 }
 
 var (
-	_ = builder.Tx(&tx{})
+	_ = sqlbuilder.Tx(&tx{})
 )
diff --git a/ql/collection.go b/ql/collection.go
index fd663641..0a0e423d 100644
--- a/ql/collection.go
+++ b/ql/collection.go
@@ -112,7 +112,7 @@ func (t *table) Find(conds ...interface{}) db.Result {
 
 // Insert inserts an item (map or struct) into the collection.
 func (t *table) Insert(item interface{}) (interface{}, error) {
-	columnNames, columnValues, err := builder.Map(item)
+	columnNames, columnValues, err := sqlbuilder.Map(item)
 	if err != nil {
 		return nil, err
 	}
diff --git a/ql/database.go b/ql/database.go
index 2458fcff..e86da2db 100644
--- a/ql/database.go
+++ b/ql/database.go
@@ -37,7 +37,7 @@ import (
 // database is the actual implementation of Database
 type database struct {
 	sqladapter.BaseDatabase // Leveraged by sqladapter
-	builder.Builder
+	sqlbuilder.Builder
 
 	connURL db.ConnectionURL
 	txMu    sync.Mutex
@@ -50,7 +50,7 @@ var (
 )
 
 var (
-	_ = builder.Database(&database{})
+	_ = sqlbuilder.Database(&database{})
 )
 
 // newDatabase binds *database with sqladapter and the SQL builer.
@@ -62,7 +62,7 @@ func newDatabase(settings db.ConnectionURL) (*database, error) {
 }
 
 // Open stablishes a new connection to a SQL server.
-func Open(settings db.ConnectionURL) (builder.Database, error) {
+func Open(settings db.ConnectionURL) (sqlbuilder.Database, error) {
 	d, err := newDatabase(settings)
 	if err != nil {
 		return nil, err
@@ -96,7 +96,7 @@ func (d *database) Open(connURL db.ConnectionURL) error {
 }
 
 // NewTx returns a transaction session.
-func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
+func NewTx(sqlTx *sql.Tx) (sqlbuilder.Tx, error) {
 	d, err := newDatabase(nil)
 	if err != nil {
 		return nil, err
@@ -105,8 +105,8 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return nil, err
 	}
@@ -121,7 +121,7 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
 }
 
 // New wraps the given *sql.DB session and creates a new db session.
-func New(sess *sql.DB) (builder.Database, error) {
+func New(sess *sql.DB) (sqlbuilder.Database, error) {
 	d, err := newDatabase(nil)
 	if err != nil {
 		return nil, err
@@ -130,8 +130,8 @@ func New(sess *sql.DB) (builder.Database, error) {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return nil, err
 	}
@@ -144,7 +144,7 @@ func New(sess *sql.DB) (builder.Database, error) {
 }
 
 // NewTx starts a transaction block.
-func (d *database) NewTx() (builder.Tx, error) {
+func (d *database) NewTx() (sqlbuilder.Tx, error) {
 	nTx, err := d.NewLocalTransaction()
 	if err != nil {
 		return nil, err
@@ -175,8 +175,8 @@ func (d *database) open() error {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return err
 	}
@@ -267,7 +267,7 @@ func (d *database) NewLocalCollection(name string) db.Collection {
 
 // Tx creates a transaction and passes it to the given function, if if the
 // function returns no error then the transaction is commited.
-func (d *database) Tx(fn func(tx builder.Tx) error) error {
+func (d *database) Tx(fn func(tx sqlbuilder.Tx) error) error {
 	return sqladapter.RunTx(d, fn)
 }
 
diff --git a/ql/ql.go b/ql/ql.go
index f0682f1d..3c9a06b2 100644
--- a/ql/ql.go
+++ b/ql/ql.go
@@ -31,7 +31,7 @@ const sqlDriver = `ql`
 const Adapter = sqlDriver
 
 func init() {
-	builder.RegisterAdapter(Adapter, &builder.AdapterFuncMap{
+	sqlbuilder.RegisterAdapter(Adapter, &sqlbuilder.AdapterFuncMap{
 		New:   New,
 		NewTx: NewTx,
 		Open:  Open,
diff --git a/ql/template_test.go b/ql/template_test.go
index 286dad76..7feef59c 100644
--- a/ql/template_test.go
+++ b/ql/template_test.go
@@ -9,7 +9,7 @@ import (
 )
 
 func TestTemplateSelect(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -147,7 +147,7 @@ func TestTemplateSelect(t *testing.T) {
 }
 
 func TestTemplateInsert(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -189,7 +189,7 @@ func TestTemplateInsert(t *testing.T) {
 }
 
 func TestTemplateUpdate(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -231,7 +231,7 @@ func TestTemplateUpdate(t *testing.T) {
 }
 
 func TestTemplateDelete(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
diff --git a/sqlite/collection.go b/sqlite/collection.go
index ed27f6b3..214c7d53 100644
--- a/sqlite/collection.go
+++ b/sqlite/collection.go
@@ -75,7 +75,7 @@ func (t *table) Conds(conds ...interface{}) []interface{} {
 
 // Insert inserts an item (map or struct) into the collection.
 func (t *table) Insert(item interface{}) (interface{}, error) {
-	columnNames, columnValues, err := builder.Map(item)
+	columnNames, columnValues, err := sqlbuilder.Map(item)
 	if err != nil {
 		return nil, err
 	}
diff --git a/sqlite/database.go b/sqlite/database.go
index 7c71b38d..d368273d 100644
--- a/sqlite/database.go
+++ b/sqlite/database.go
@@ -38,14 +38,14 @@ import (
 // database is the actual implementation of Database
 type database struct {
 	sqladapter.BaseDatabase // Leveraged by sqladapter
-	builder.Builder
+	sqlbuilder.Builder
 
 	connURL db.ConnectionURL
 	txMu    sync.Mutex
 }
 
 var (
-	_ = builder.Database(&database{})
+	_ = sqlbuilder.Database(&database{})
 )
 
 var (
@@ -85,7 +85,7 @@ func (d *database) Open(connURL db.ConnectionURL) error {
 }
 
 // NewTx starts a transaction block.
-func (d *database) NewTx() (builder.Tx, error) {
+func (d *database) NewTx() (sqlbuilder.Tx, error) {
 	nTx, err := d.NewLocalTransaction()
 	if err != nil {
 		return nil, err
@@ -117,8 +117,8 @@ func (d *database) open() error {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return err
 	}
@@ -183,7 +183,7 @@ func (d *database) NewLocalCollection(name string) db.Collection {
 
 // Tx creates a transaction and passes it to the given function, if if the
 // function returns no error then the transaction is commited.
-func (d *database) Tx(fn func(tx builder.Tx) error) error {
+func (d *database) Tx(fn func(tx sqlbuilder.Tx) error) error {
 	return sqladapter.RunTx(d, fn)
 }
 
@@ -254,7 +254,7 @@ func (d *database) FindTablePrimaryKeys(tableName string) ([]string, error) {
 		PK   int    `db:"pk"`
 	}{}
 
-	if err := builder.NewIterator(rows).All(&columns); err != nil {
+	if err := sqlbuilder.NewIterator(rows).All(&columns); err != nil {
 		return nil, err
 	}
 
diff --git a/sqlite/sqlite.go b/sqlite/sqlite.go
index 48bf9877..641b5d85 100644
--- a/sqlite/sqlite.go
+++ b/sqlite/sqlite.go
@@ -36,7 +36,7 @@ const sqlDriver = `sqlite`
 const Adapter = sqlDriver
 
 func init() {
-	builder.RegisterAdapter(Adapter, &builder.AdapterFuncMap{
+	sqlbuilder.RegisterAdapter(Adapter, &sqlbuilder.AdapterFuncMap{
 		New:   New,
 		NewTx: NewTx,
 		Open:  Open,
@@ -44,7 +44,7 @@ func init() {
 }
 
 // Open stablishes a new connection with the SQL server.
-func Open(settings db.ConnectionURL) (builder.Database, error) {
+func Open(settings db.ConnectionURL) (sqlbuilder.Database, error) {
 	d, err := newDatabase(settings)
 	if err != nil {
 		return nil, err
@@ -56,7 +56,7 @@ func Open(settings db.ConnectionURL) (builder.Database, error) {
 }
 
 // NewTx returns a transaction session.
-func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
+func NewTx(sqlTx *sql.Tx) (sqlbuilder.Tx, error) {
 	d, err := newDatabase(nil)
 	if err != nil {
 		return nil, err
@@ -65,8 +65,8 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return nil, err
 	}
@@ -81,7 +81,7 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) {
 }
 
 // New wraps the given *sql.DB session and creates a new db session.
-func New(sess *sql.DB) (builder.Database, error) {
+func New(sess *sql.DB) (sqlbuilder.Database, error) {
 	d, err := newDatabase(nil)
 	if err != nil {
 		return nil, err
@@ -90,8 +90,8 @@ func New(sess *sql.DB) (builder.Database, error) {
 	// Binding with sqladapter's logic.
 	d.BaseDatabase = sqladapter.NewBaseDatabase(d)
 
-	// Binding with builder.
-	b, err := builder.WithSession(d.BaseDatabase, template)
+	// Binding with sqlbuilder.
+	b, err := sqlbuilder.WithSession(d.BaseDatabase, template)
 	if err != nil {
 		return nil, err
 	}
diff --git a/sqlite/template_test.go b/sqlite/template_test.go
index a550ce4b..39f023f8 100644
--- a/sqlite/template_test.go
+++ b/sqlite/template_test.go
@@ -9,7 +9,7 @@ import (
 )
 
 func TestTemplateSelect(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -147,7 +147,7 @@ func TestTemplateSelect(t *testing.T) {
 }
 
 func TestTemplateInsert(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -189,7 +189,7 @@ func TestTemplateInsert(t *testing.T) {
 }
 
 func TestTemplateUpdate(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
@@ -231,7 +231,7 @@ func TestTemplateUpdate(t *testing.T) {
 }
 
 func TestTemplateDelete(t *testing.T) {
-	b := builder.WithTemplate(template)
+	b := sqlbuilder.WithTemplate(template)
 	assert := assert.New(t)
 
 	assert.Equal(
diff --git a/wrapper.go b/wrapper.go
index de7efc28..f5974ec7 100644
--- a/wrapper.go
+++ b/wrapper.go
@@ -35,6 +35,7 @@ func init() {
 	adapters = make(map[string]*AdapterFuncMap)
 }
 
+// AdapterFuncMap defines functions that need to be implemented by adapters.
 type AdapterFuncMap struct {
 	Open func(settings ConnectionURL) (Database, error)
 }
-- 
GitLab