diff --git a/Makefile b/Makefile index e5e35f6240408296ed081aabe76fe06fad37d3cc..926c4a9df8e444869147e7c47fb5217567d87884 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ DB_HOST ?= 127.0.0.1 export DB_HOST test: - go test -v ./sqlbuilder/... && \ + go test -v ./lib/... && \ go test -v ./internal/... && \ $(MAKE) test -C postgresql && \ $(MAKE) test -C mysql && \ diff --git a/errors.go b/errors.go index c492ef8148d444f3427ded626c437cedf172da87..afccfc4c5e0609c3f288c3fd610df0f06f9398fb 100644 --- a/errors.go +++ b/errors.go @@ -33,9 +33,9 @@ var ( ErrMissingCollectionName = errors.New(`upper: missing collection name`) ErrCollectionDoesNotExist = errors.New(`upper: collection does not exist`) ErrSockerOrHost = errors.New(`upper: you may connect either to a unix socket or a tcp address, but not both`) - ErrQueryLimitParam = errors.New(`upper: a query can accept only one dbLimit() parameter`) - ErrQuerySortParam = errors.New(`upper: a query can accept only one dbSort{} parameter`) - ErrQueryOffsetParam = errors.New(`upper: a query can accept only one dbOffset() parameter`) + ErrQueryLimitParam = errors.New(`upper: a query can accept only one limit parameter`) + ErrQuerySortParam = errors.New(`upper: a query can accept only one order by parameter`) + ErrQueryOffsetParam = errors.New(`upper: a query can accept only one offset parameter`) ErrMissingConditions = errors.New(`upper: missing selector conditions`) ErrUnsupported = errors.New(`upper: this action is currently unsupported on this database`) ErrUndefined = errors.New(`upper: this value is undefined`) diff --git a/internal/sqladapter/collection.go b/internal/sqladapter/collection.go index 9b767f22c85a6d1413511010987f5415b5b2d3e8..83984b39b8f68e8c70d23a2f3d4925bcb9deeeb3 100644 --- a/internal/sqladapter/collection.go +++ b/internal/sqladapter/collection.go @@ -5,7 +5,7 @@ import ( "reflect" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder/exql" ) // Collection represents a SQL table. diff --git a/internal/sqladapter/database.go b/internal/sqladapter/database.go index 71f86a8ee268aff0a04135820aa477510dc94b66..0aa1506b1c9225688a51aeff2eb26801e09227d9 100644 --- a/internal/sqladapter/database.go +++ b/internal/sqladapter/database.go @@ -8,9 +8,9 @@ import ( "upper.io/db.v2" "upper.io/db.v2/internal/logger" - "upper.io/db.v2/sqlbuilder" - "upper.io/db.v2/sqlbuilder/cache" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder/cache" + "upper.io/db.v2/lib/sqlbuilder/exql" ) // HasCleanUp @@ -31,7 +31,7 @@ type Database interface { // PartialDatabase defines all the methods an adapter must provide. type PartialDatabase interface { - builder.SQLBuilder + builder.Builder Collections() ([]string, error) Open(db.ConnectionURL) error diff --git a/internal/sqladapter/result.go b/internal/sqladapter/result.go index e90a7b2a351d4cd41aee010860839f5a64515808..3ad00023f095222f8ae0fcd56d7897d6a2f73fc0 100644 --- a/internal/sqladapter/result.go +++ b/internal/sqladapter/result.go @@ -25,12 +25,12 @@ import ( "sync" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) // Result represents a delimited set of items bound by a condition. type Result struct { - b builder.SQLBuilder + b builder.Builder table string iter builder.Iterator limit int @@ -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.SQLBuilder, table string, conds []interface{}) *Result { +func NewResult(b builder.Builder, table string, conds []interface{}) *Result { return &Result{ b: b, table: table, diff --git a/internal/sqladapter/testing/adapter.go.tpl b/internal/sqladapter/testing/adapter.go.tpl index b79fedbf5d0af7ec71faedab451e17d794d8cde0..efc881c0285f7310ca4a31af592ff1dfad88231b 100644 --- a/internal/sqladapter/testing/adapter.go.tpl +++ b/internal/sqladapter/testing/adapter.go.tpl @@ -15,7 +15,7 @@ import ( "github.com/stretchr/testify/assert" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) type artistType struct { diff --git a/internal/sqladapter/testing/adapter_benchmark.go.tpl b/internal/sqladapter/testing/adapter_benchmark.go.tpl index 26fb3d4e19bcf1708bee9b4c3beaf51454f6f9bc..6e661a143119a4f9bdb1f82a9f7e7d3576047af7 100644 --- a/internal/sqladapter/testing/adapter_benchmark.go.tpl +++ b/internal/sqladapter/testing/adapter_benchmark.go.tpl @@ -8,7 +8,7 @@ import ( "github.com/gocraft/dbr" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) const ( diff --git a/internal/sqladapter/tx.go b/internal/sqladapter/tx.go index 18dd7cd231fd763f692d7f59ae638c71ed1e5454..d5d37b36f96cff296f152978d2156935f35b3dd8 100644 --- a/internal/sqladapter/tx.go +++ b/internal/sqladapter/tx.go @@ -26,7 +26,7 @@ import ( "sync/atomic" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) // Tx represents a database session within a transaction. diff --git a/sqlbuilder/reflectx/LICENSE b/lib/reflectx/LICENSE similarity index 100% rename from sqlbuilder/reflectx/LICENSE rename to lib/reflectx/LICENSE diff --git a/sqlbuilder/reflectx/README.md b/lib/reflectx/README.md similarity index 100% rename from sqlbuilder/reflectx/README.md rename to lib/reflectx/README.md diff --git a/sqlbuilder/reflectx/reflect.go b/lib/reflectx/reflect.go similarity index 100% rename from sqlbuilder/reflectx/reflect.go rename to lib/reflectx/reflect.go diff --git a/sqlbuilder/reflectx/reflect_test.go b/lib/reflectx/reflect_test.go similarity index 100% rename from sqlbuilder/reflectx/reflect_test.go rename to lib/reflectx/reflect_test.go diff --git a/sqlbuilder/.travis.yml b/lib/sqlbuilder/.travis.yml similarity index 57% rename from sqlbuilder/.travis.yml rename to lib/sqlbuilder/.travis.yml index 5aa9a5afb2aecb15e2ce1dd0d2a22cbb9a8a4c83..c6f97b1cdd2e63b36005532e1a8cfd17abc886bc 100644 --- a/sqlbuilder/.travis.yml +++ b/lib/sqlbuilder/.travis.yml @@ -15,10 +15,10 @@ go: install: - mkdir -p $GOPATH/src/upper.io - - mv $PWD $GOPATH/src/upper.io/db.v2/sqlbuilder - - cd $GOPATH/src/upper.io/db.v2/sqlbuilder + - mv $PWD $GOPATH/src/upper.io/db.v2/lib/sqlbuilder + - cd $GOPATH/src/upper.io/db.v2/lib/sqlbuilder - go get -v -d -t ./... script: - - cd $GOPATH/src/upper.io/db.v2/sqlbuilder + - cd $GOPATH/src/upper.io/db.v2/lib/sqlbuilder - make test diff --git a/sqlbuilder/builder.go b/lib/sqlbuilder/builder.go similarity index 97% rename from sqlbuilder/builder.go rename to lib/sqlbuilder/builder.go index 9820276bf14d8ab1a8f834d6cf1892981069e553..b2fa6caeb606005bd58198e722c795f0485fa6d6 100644 --- a/sqlbuilder/builder.go +++ b/lib/sqlbuilder/builder.go @@ -11,8 +11,8 @@ import ( "strings" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder/exql" - "upper.io/db.v2/sqlbuilder/reflectx" + "upper.io/db.v2/lib/reflectx" + "upper.io/db.v2/lib/sqlbuilder/exql" ) type hasStatement interface { @@ -55,7 +55,7 @@ type sqlBuilder struct { } // WithSession returns a query builder that is bound to the given database session. -func WithSession(sess interface{}, t *exql.Template) (SQLBuilder, error) { +func WithSession(sess interface{}, t *exql.Template) (Builder, error) { switch v := sess.(type) { case *sql.DB: sess = newSqlgenProxy(v, t) @@ -72,7 +72,7 @@ func WithSession(sess interface{}, t *exql.Template) (SQLBuilder, error) { } // WithTemplate returns a builder that is based on the given template. -func WithTemplate(t *exql.Template) SQLBuilder { +func WithTemplate(t *exql.Template) Builder { return &sqlBuilder{ t: newTemplateWithUtils(t), } @@ -436,6 +436,6 @@ func (p *exprProxy) StatementQueryRow(stmt *exql.Statement, args ...interface{}) } var ( - _ = SQLBuilder(&sqlBuilder{}) + _ = Builder(&sqlBuilder{}) _ = exprDB(&exprProxy{}) ) diff --git a/sqlbuilder/builder_test.go b/lib/sqlbuilder/builder_test.go similarity index 100% rename from sqlbuilder/builder_test.go rename to lib/sqlbuilder/builder_test.go diff --git a/sqlbuilder/cache/cache.go b/lib/sqlbuilder/cache/cache.go similarity index 98% rename from sqlbuilder/cache/cache.go rename to lib/sqlbuilder/cache/cache.go index 93eb38ab58d70edb78ebcc30f74ce0c1d9dc2890..0f85117ce494c1ca8f4968335a2e46638c875d0f 100644 --- a/sqlbuilder/cache/cache.go +++ b/lib/sqlbuilder/cache/cache.go @@ -28,7 +28,7 @@ import ( "strconv" "sync" - "upper.io/db.v2/sqlbuilder/cache/hashstructure" + "upper.io/db.v2/lib/sqlbuilder/cache/hashstructure" ) const defaultCapacity = 128 diff --git a/sqlbuilder/cache/cache_test.go b/lib/sqlbuilder/cache/cache_test.go similarity index 100% rename from sqlbuilder/cache/cache_test.go rename to lib/sqlbuilder/cache/cache_test.go diff --git a/sqlbuilder/cache/hashstructure/LICENSE b/lib/sqlbuilder/cache/hashstructure/LICENSE similarity index 100% rename from sqlbuilder/cache/hashstructure/LICENSE rename to lib/sqlbuilder/cache/hashstructure/LICENSE diff --git a/sqlbuilder/cache/hashstructure/README.md b/lib/sqlbuilder/cache/hashstructure/README.md similarity index 100% rename from sqlbuilder/cache/hashstructure/README.md rename to lib/sqlbuilder/cache/hashstructure/README.md diff --git a/sqlbuilder/cache/hashstructure/hashstructure.go b/lib/sqlbuilder/cache/hashstructure/hashstructure.go similarity index 100% rename from sqlbuilder/cache/hashstructure/hashstructure.go rename to lib/sqlbuilder/cache/hashstructure/hashstructure.go diff --git a/sqlbuilder/cache/hashstructure/hashstructure_test.go b/lib/sqlbuilder/cache/hashstructure/hashstructure_test.go similarity index 100% rename from sqlbuilder/cache/hashstructure/hashstructure_test.go rename to lib/sqlbuilder/cache/hashstructure/hashstructure_test.go diff --git a/sqlbuilder/cache/hashstructure/include.go b/lib/sqlbuilder/cache/hashstructure/include.go similarity index 100% rename from sqlbuilder/cache/hashstructure/include.go rename to lib/sqlbuilder/cache/hashstructure/include.go diff --git a/sqlbuilder/cache/interface.go b/lib/sqlbuilder/cache/interface.go similarity index 100% rename from sqlbuilder/cache/interface.go rename to lib/sqlbuilder/cache/interface.go diff --git a/sqlbuilder/convert.go b/lib/sqlbuilder/convert.go similarity index 99% rename from sqlbuilder/convert.go rename to lib/sqlbuilder/convert.go index d9e22eee652f2a1e1d41563907f4c0a39651b1b2..0e1f3d94c09e1e5e6dba6269d5ca2de7e64ec280 100644 --- a/sqlbuilder/convert.go +++ b/lib/sqlbuilder/convert.go @@ -6,7 +6,7 @@ import ( "strings" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder/exql" ) var ( diff --git a/sqlbuilder/delete.go b/lib/sqlbuilder/delete.go similarity index 95% rename from sqlbuilder/delete.go rename to lib/sqlbuilder/delete.go index 113d95e2d351c9b41cc80506b0040e683e162501..c6044e8ab3877f2fd217f4076f6c5f5a2eb5c0ab 100644 --- a/sqlbuilder/delete.go +++ b/lib/sqlbuilder/delete.go @@ -3,7 +3,7 @@ package builder import ( "database/sql" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder/exql" ) type deleter struct { diff --git a/sqlbuilder/errors.go b/lib/sqlbuilder/errors.go similarity index 100% rename from sqlbuilder/errors.go rename to lib/sqlbuilder/errors.go diff --git a/sqlbuilder/exql/column.go b/lib/sqlbuilder/exql/column.go similarity index 100% rename from sqlbuilder/exql/column.go rename to lib/sqlbuilder/exql/column.go diff --git a/sqlbuilder/exql/column_test.go b/lib/sqlbuilder/exql/column_test.go similarity index 100% rename from sqlbuilder/exql/column_test.go rename to lib/sqlbuilder/exql/column_test.go diff --git a/sqlbuilder/exql/column_value.go b/lib/sqlbuilder/exql/column_value.go similarity index 100% rename from sqlbuilder/exql/column_value.go rename to lib/sqlbuilder/exql/column_value.go diff --git a/sqlbuilder/exql/column_value_test.go b/lib/sqlbuilder/exql/column_value_test.go similarity index 100% rename from sqlbuilder/exql/column_value_test.go rename to lib/sqlbuilder/exql/column_value_test.go diff --git a/sqlbuilder/exql/columns.go b/lib/sqlbuilder/exql/columns.go similarity index 100% rename from sqlbuilder/exql/columns.go rename to lib/sqlbuilder/exql/columns.go diff --git a/sqlbuilder/exql/columns_test.go b/lib/sqlbuilder/exql/columns_test.go similarity index 100% rename from sqlbuilder/exql/columns_test.go rename to lib/sqlbuilder/exql/columns_test.go diff --git a/sqlbuilder/exql/database.go b/lib/sqlbuilder/exql/database.go similarity index 100% rename from sqlbuilder/exql/database.go rename to lib/sqlbuilder/exql/database.go diff --git a/sqlbuilder/exql/database_test.go b/lib/sqlbuilder/exql/database_test.go similarity index 100% rename from sqlbuilder/exql/database_test.go rename to lib/sqlbuilder/exql/database_test.go diff --git a/sqlbuilder/exql/default.go b/lib/sqlbuilder/exql/default.go similarity index 99% rename from sqlbuilder/exql/default.go rename to lib/sqlbuilder/exql/default.go index c0f26c7d619e098f43c68a1b5c9129fdaf945604..09b18e5240f4e44bda133755bc4a1bd92f618ee4 100644 --- a/sqlbuilder/exql/default.go +++ b/lib/sqlbuilder/exql/default.go @@ -1,7 +1,7 @@ package exql import ( - "upper.io/db.v2/sqlbuilder/cache" + "upper.io/db.v2/lib/sqlbuilder/cache" ) const ( diff --git a/sqlbuilder/exql/group_by.go b/lib/sqlbuilder/exql/group_by.go similarity index 100% rename from sqlbuilder/exql/group_by.go rename to lib/sqlbuilder/exql/group_by.go diff --git a/sqlbuilder/exql/group_by_test.go b/lib/sqlbuilder/exql/group_by_test.go similarity index 100% rename from sqlbuilder/exql/group_by_test.go rename to lib/sqlbuilder/exql/group_by_test.go diff --git a/sqlbuilder/exql/hash.go b/lib/sqlbuilder/exql/hash.go similarity index 89% rename from sqlbuilder/exql/hash.go rename to lib/sqlbuilder/exql/hash.go index a198fe4eac47a9279da73cf4546dad999a6c1da6..828837f22be5426f5b8a46aac73a5bbb3c827a9e 100644 --- a/sqlbuilder/exql/hash.go +++ b/lib/sqlbuilder/exql/hash.go @@ -4,7 +4,7 @@ import ( "reflect" "sync/atomic" - "upper.io/db.v2/sqlbuilder/cache" + "upper.io/db.v2/lib/sqlbuilder/cache" ) type hash struct { diff --git a/sqlbuilder/exql/interfaces.go b/lib/sqlbuilder/exql/interfaces.go similarity index 84% rename from sqlbuilder/exql/interfaces.go rename to lib/sqlbuilder/exql/interfaces.go index 0515646a87d7578edf5591d68d469b42de03a6a7..a2ef820494728802d15dacfbb4bcba7cb2e3b0e5 100644 --- a/sqlbuilder/exql/interfaces.go +++ b/lib/sqlbuilder/exql/interfaces.go @@ -1,7 +1,7 @@ package exql import ( - "upper.io/db.v2/sqlbuilder/cache" + "upper.io/db.v2/lib/sqlbuilder/cache" ) // Fragment is any interface that can be both cached and compiled. diff --git a/sqlbuilder/exql/join.go b/lib/sqlbuilder/exql/join.go similarity index 100% rename from sqlbuilder/exql/join.go rename to lib/sqlbuilder/exql/join.go diff --git a/sqlbuilder/exql/join_test.go b/lib/sqlbuilder/exql/join_test.go similarity index 100% rename from sqlbuilder/exql/join_test.go rename to lib/sqlbuilder/exql/join_test.go diff --git a/sqlbuilder/exql/order_by.go b/lib/sqlbuilder/exql/order_by.go similarity index 100% rename from sqlbuilder/exql/order_by.go rename to lib/sqlbuilder/exql/order_by.go diff --git a/sqlbuilder/exql/order_by_test.go b/lib/sqlbuilder/exql/order_by_test.go similarity index 100% rename from sqlbuilder/exql/order_by_test.go rename to lib/sqlbuilder/exql/order_by_test.go diff --git a/sqlbuilder/exql/raw.go b/lib/sqlbuilder/exql/raw.go similarity index 100% rename from sqlbuilder/exql/raw.go rename to lib/sqlbuilder/exql/raw.go diff --git a/sqlbuilder/exql/raw_test.go b/lib/sqlbuilder/exql/raw_test.go similarity index 100% rename from sqlbuilder/exql/raw_test.go rename to lib/sqlbuilder/exql/raw_test.go diff --git a/sqlbuilder/exql/returning.go b/lib/sqlbuilder/exql/returning.go similarity index 100% rename from sqlbuilder/exql/returning.go rename to lib/sqlbuilder/exql/returning.go diff --git a/sqlbuilder/exql/statement.go b/lib/sqlbuilder/exql/statement.go similarity index 98% rename from sqlbuilder/exql/statement.go rename to lib/sqlbuilder/exql/statement.go index 79a6d07ee0b16017fa8e698db549008fc57f5e6a..d0654cfefd62f39280c6488a7af0b11e893fff2c 100644 --- a/sqlbuilder/exql/statement.go +++ b/lib/sqlbuilder/exql/statement.go @@ -3,7 +3,7 @@ package exql import ( "reflect" - "upper.io/db.v2/sqlbuilder/cache" + "upper.io/db.v2/lib/sqlbuilder/cache" ) // Statement represents different kinds of SQL statements. diff --git a/sqlbuilder/exql/statement_test.go b/lib/sqlbuilder/exql/statement_test.go similarity index 100% rename from sqlbuilder/exql/statement_test.go rename to lib/sqlbuilder/exql/statement_test.go diff --git a/sqlbuilder/exql/table.go b/lib/sqlbuilder/exql/table.go similarity index 100% rename from sqlbuilder/exql/table.go rename to lib/sqlbuilder/exql/table.go diff --git a/sqlbuilder/exql/table_test.go b/lib/sqlbuilder/exql/table_test.go similarity index 100% rename from sqlbuilder/exql/table_test.go rename to lib/sqlbuilder/exql/table_test.go diff --git a/sqlbuilder/exql/template.go b/lib/sqlbuilder/exql/template.go similarity index 97% rename from sqlbuilder/exql/template.go rename to lib/sqlbuilder/exql/template.go index 557f4df23d9d92a6f20f530029eb4d2d292f026a..c85c5da5cc092116d3db025ec09786c60272accf 100644 --- a/sqlbuilder/exql/template.go +++ b/lib/sqlbuilder/exql/template.go @@ -4,7 +4,7 @@ import ( "bytes" "text/template" - "upper.io/db.v2/sqlbuilder/cache" + "upper.io/db.v2/lib/sqlbuilder/cache" ) // Type is the type of SQL query the statement represents. diff --git a/sqlbuilder/exql/utilities.go b/lib/sqlbuilder/exql/utilities.go similarity index 100% rename from sqlbuilder/exql/utilities.go rename to lib/sqlbuilder/exql/utilities.go diff --git a/sqlbuilder/exql/utilities_test.go b/lib/sqlbuilder/exql/utilities_test.go similarity index 100% rename from sqlbuilder/exql/utilities_test.go rename to lib/sqlbuilder/exql/utilities_test.go diff --git a/sqlbuilder/exql/value.go b/lib/sqlbuilder/exql/value.go similarity index 100% rename from sqlbuilder/exql/value.go rename to lib/sqlbuilder/exql/value.go diff --git a/sqlbuilder/exql/value_test.go b/lib/sqlbuilder/exql/value_test.go similarity index 100% rename from sqlbuilder/exql/value_test.go rename to lib/sqlbuilder/exql/value_test.go diff --git a/sqlbuilder/exql/where.go b/lib/sqlbuilder/exql/where.go similarity index 100% rename from sqlbuilder/exql/where.go rename to lib/sqlbuilder/exql/where.go diff --git a/sqlbuilder/exql/where_test.go b/lib/sqlbuilder/exql/where_test.go similarity index 100% rename from sqlbuilder/exql/where_test.go rename to lib/sqlbuilder/exql/where_test.go diff --git a/sqlbuilder/fetch.go b/lib/sqlbuilder/fetch.go similarity index 99% rename from sqlbuilder/fetch.go rename to lib/sqlbuilder/fetch.go index 97d54155bcf40ffd07a7a9d8644942cde5fc1337..d0802173875ae8559499d7ffb90c70fa5de80c39 100644 --- a/sqlbuilder/fetch.go +++ b/lib/sqlbuilder/fetch.go @@ -27,7 +27,7 @@ import ( "reflect" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder/reflectx" + "upper.io/db.v2/lib/reflectx" ) var mapper = reflectx.NewMapper("db") diff --git a/sqlbuilder/insert.go b/lib/sqlbuilder/insert.go similarity index 98% rename from sqlbuilder/insert.go rename to lib/sqlbuilder/insert.go index a2529fe1bb6f9d4af994658550de7dfd123ebed3..29e06f3c9d75147a5b6f92742f155837ad6dfe01 100644 --- a/sqlbuilder/insert.go +++ b/lib/sqlbuilder/insert.go @@ -3,7 +3,7 @@ package builder import ( "database/sql" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder/exql" ) type inserter struct { diff --git a/sqlbuilder/interfaces.go b/lib/sqlbuilder/interfaces.go similarity index 98% rename from sqlbuilder/interfaces.go rename to lib/sqlbuilder/interfaces.go index c00a05dceea9edab122ba39b4c53036e210a575a..409cd5946c462eab20338e2db82ca77f582ab1df 100644 --- a/sqlbuilder/interfaces.go +++ b/lib/sqlbuilder/interfaces.go @@ -1,4 +1,4 @@ -// Copyright (c) 2015 The upper.io/db.v2/sqlbuilder authors. All rights reserved. +// Copyright (c) 2015 The upper.io/db.v2/lib/sqlbuilder authors. All rights reserved. // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the @@ -26,8 +26,8 @@ import ( "fmt" ) -// SQLBuilder defines methods that can serve as starting points for SQL queries. -type SQLBuilder interface { +// Builder defines methods that can serve as starting points for SQL queries. +type Builder interface { // Select initializes and returns a Selector pointed at the given columns. // diff --git a/sqlbuilder/scanner.go b/lib/sqlbuilder/scanner.go similarity index 100% rename from sqlbuilder/scanner.go rename to lib/sqlbuilder/scanner.go diff --git a/sqlbuilder/select.go b/lib/sqlbuilder/select.go similarity index 99% rename from sqlbuilder/select.go rename to lib/sqlbuilder/select.go index 846d6fa6422f77f93bca7d31b523a9a30cbd2a31..276f089e74b84d81c79ed2dec7d558b8af4fbe10 100644 --- a/sqlbuilder/select.go +++ b/lib/sqlbuilder/select.go @@ -7,7 +7,7 @@ import ( "strings" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder/exql" ) type selectMode uint8 diff --git a/sqlbuilder/template_test.go b/lib/sqlbuilder/template_test.go similarity index 98% rename from sqlbuilder/template_test.go rename to lib/sqlbuilder/template_test.go index 950072a8d204692646075b0a3ae973e9a4af3288..506382a773e32af3ef929052ff047db51a16b6e2 100644 --- a/sqlbuilder/template_test.go +++ b/lib/sqlbuilder/template_test.go @@ -1,8 +1,8 @@ package builder import ( - "upper.io/db.v2/sqlbuilder/cache" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder/cache" + "upper.io/db.v2/lib/sqlbuilder/exql" ) const ( diff --git a/sqlbuilder/update.go b/lib/sqlbuilder/update.go similarity index 97% rename from sqlbuilder/update.go rename to lib/sqlbuilder/update.go index eac23e9d3eb05b43876747932f9b36c2a8aae9de..23ad57d1d73ae8923a5316b846b2628d3f240886 100644 --- a/sqlbuilder/update.go +++ b/lib/sqlbuilder/update.go @@ -3,7 +3,7 @@ package builder import ( "database/sql" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder/exql" ) type updater struct { diff --git a/sqlbuilder/wrapper.go b/lib/sqlbuilder/wrapper.go similarity index 99% rename from sqlbuilder/wrapper.go rename to lib/sqlbuilder/wrapper.go index 40d2be0acdd59ffef2920ef79190d4fc96385920..ef28556c09b77f3220c6aac65afa21d52bb04fc7 100644 --- a/sqlbuilder/wrapper.go +++ b/lib/sqlbuilder/wrapper.go @@ -41,7 +41,7 @@ func init() { // Backend holds common methods for SQL databases. type Backend interface { db.Database - SQLBuilder + Builder } // Tx represents transaction on a SQL database. Transactions can only accept diff --git a/mysql/collection.go b/mysql/collection.go index 5d8d33c6955c6748763c2bdbe0920e32856ccc64..782c2341f20e87a1eb792d52eabec59a519ca48d 100644 --- a/mysql/collection.go +++ b/mysql/collection.go @@ -26,7 +26,7 @@ import ( "upper.io/db.v2" "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) // table is the actual implementation of a collection. diff --git a/mysql/database.go b/mysql/database.go index 202901d1aa930c859cc63038d33ba673af90ea0c..9d21f90d0d0d73ccebba8bd7a7072715f017ef5d 100644 --- a/mysql/database.go +++ b/mysql/database.go @@ -30,14 +30,14 @@ import ( _ "github.com/go-sql-driver/mysql" // MySQL driver. "upper.io/db.v2" "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder/exql" ) // database is the actual implementation of Database type database struct { sqladapter.BaseDatabase // Leveraged by sqladapter - builder.SQLBuilder + builder.Builder connURL db.ConnectionURL txMu sync.Mutex @@ -107,7 +107,7 @@ func (d *database) open() error { if err != nil { return err } - d.SQLBuilder = b + d.Builder = b connFn := func() error { sess, err := sql.Open("mysql", d.ConnectionURL().String()) diff --git a/mysql/mysql.go b/mysql/mysql.go index ab56fad694c58de1afe9275dbcf72a7b23598c44..357f221cc6963cd26f849646e310983813d65978 100644 --- a/mysql/mysql.go +++ b/mysql/mysql.go @@ -27,7 +27,7 @@ import ( "upper.io/db.v2" "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) const sqlDriver = `mysql` @@ -70,7 +70,7 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) { if err != nil { return nil, err } - d.SQLBuilder = b + d.Builder = b if err := d.BaseDatabase.BindTx(sqlTx); err != nil { return nil, err @@ -95,7 +95,7 @@ func New(sess *sql.DB) (builder.Database, error) { if err != nil { return nil, err } - d.SQLBuilder = b + d.Builder = b if err := d.BaseDatabase.BindSession(sess); err != nil { return nil, err diff --git a/mysql/template.go b/mysql/template.go index b42d2a2684dfe49682bd76e1f16defad05b2539b..6f246f7bce0e426611e9171ca1ce2f4b6a8d793d 100644 --- a/mysql/template.go +++ b/mysql/template.go @@ -22,8 +22,8 @@ package mysql import ( - "upper.io/db.v2/sqlbuilder/cache" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder/cache" + "upper.io/db.v2/lib/sqlbuilder/exql" ) const ( diff --git a/mysql/template_test.go b/mysql/template_test.go index f04c66692815907a15646ad0eea7fa997c7b23d5..d7f099927fb44301050397b7687310f995ada08e 100644 --- a/mysql/template_test.go +++ b/mysql/template_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/assert" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) func TestTemplateSelect(t *testing.T) { diff --git a/postgresql/collection.go b/postgresql/collection.go index e2ec25821a590dc80d9044ec10f048c3847db50c..71fba4bbdd5289f697c814aac4d11a4848bc6e8e 100644 --- a/postgresql/collection.go +++ b/postgresql/collection.go @@ -26,7 +26,7 @@ import ( "upper.io/db.v2" "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) // table is the actual implementation of a collection. diff --git a/postgresql/database.go b/postgresql/database.go index 584e1c02374fead68e92cc5b81d4f9c03d8cbae2..687957fdda0dd09b99e96be8fca0d727a440950e 100644 --- a/postgresql/database.go +++ b/postgresql/database.go @@ -29,14 +29,14 @@ import ( _ "github.com/lib/pq" // PostgreSQL driver. "upper.io/db.v2" "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder/exql" ) // database is the actual implementation of Database type database struct { sqladapter.BaseDatabase // Leveraged by sqladapter - builder.SQLBuilder + builder.Builder connURL db.ConnectionURL txMu sync.Mutex @@ -106,7 +106,7 @@ func (d *database) open() error { if err != nil { return err } - d.SQLBuilder = b + d.Builder = b connFn := func() error { sess, err := sql.Open("postgres", d.ConnectionURL().String()) diff --git a/postgresql/postgresql.go b/postgresql/postgresql.go index 198305e9708888a232ef61f77591d7b270a848a3..aba4d744ac2fe8a4e2915a909c9a86fac30b3862 100644 --- a/postgresql/postgresql.go +++ b/postgresql/postgresql.go @@ -27,7 +27,7 @@ import ( "upper.io/db.v2" "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) const sqlDriver = `postgres` @@ -70,7 +70,7 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) { if err != nil { return nil, err } - d.SQLBuilder = b + d.Builder = b if err := d.BaseDatabase.BindTx(sqlTx); err != nil { return nil, err @@ -95,7 +95,7 @@ func New(sess *sql.DB) (builder.Database, error) { if err != nil { return nil, err } - d.SQLBuilder = b + d.Builder = b if err := d.BaseDatabase.BindSession(sess); err != nil { return nil, err diff --git a/postgresql/template.go b/postgresql/template.go index 697184c15b86af2cae2feefad1bcc29bbeeecf54..4c95c2af66a5b871427d7230b6b34f379aa05a3a 100644 --- a/postgresql/template.go +++ b/postgresql/template.go @@ -22,8 +22,8 @@ package postgresql import ( - "upper.io/db.v2/sqlbuilder/cache" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder/cache" + "upper.io/db.v2/lib/sqlbuilder/exql" ) const ( diff --git a/postgresql/template_test.go b/postgresql/template_test.go index 25c8f1ad43d9ef55ecc81c6996c246cf2c7b8d3b..02f0defcb08f520bad09c241802eba886ce9c3cd 100644 --- a/postgresql/template_test.go +++ b/postgresql/template_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/assert" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) func TestTemplateSelect(t *testing.T) { diff --git a/postgresql/tx.go b/postgresql/tx.go index a73bb5eed1a84fd0e01909730f7805ce3a60dce7..9d89e2fcc13e71ce91cea46cffe05bed23dc4e87 100644 --- a/postgresql/tx.go +++ b/postgresql/tx.go @@ -23,7 +23,7 @@ package postgresql import ( "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) type tx struct { diff --git a/ql/collection.go b/ql/collection.go index b7d799562776b5db8d1d3c01ce97d7309a0cf443..fd66364118a004cf5b0c94dc633fea3a4f0e03bf 100644 --- a/ql/collection.go +++ b/ql/collection.go @@ -26,7 +26,7 @@ import ( "upper.io/db.v2" "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) // table is the actual implementation of a collection. diff --git a/ql/database.go b/ql/database.go index 709d07f09ef59738eec1e9e22c72af873bda1c4d..2458fcff43227028ca4d9b222876ae27fd19b31c 100644 --- a/ql/database.go +++ b/ql/database.go @@ -30,14 +30,14 @@ import ( _ "github.com/cznic/ql/driver" // QL driver "upper.io/db.v2" "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder/exql" ) // database is the actual implementation of Database type database struct { sqladapter.BaseDatabase // Leveraged by sqladapter - builder.SQLBuilder + builder.Builder connURL db.ConnectionURL txMu sync.Mutex @@ -110,7 +110,7 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) { if err != nil { return nil, err } - d.SQLBuilder = b + d.Builder = b if err := d.BaseDatabase.BindTx(sqlTx); err != nil { return nil, err @@ -135,7 +135,7 @@ func New(sess *sql.DB) (builder.Database, error) { if err != nil { return nil, err } - d.SQLBuilder = b + d.Builder = b if err := d.BaseDatabase.BindSession(sess); err != nil { return nil, err @@ -180,7 +180,7 @@ func (d *database) open() error { if err != nil { return err } - d.SQLBuilder = b + d.Builder = b openFn := func() error { openFiles := atomic.LoadInt32(&fileOpenCount) @@ -308,7 +308,7 @@ func (d *database) FindDatabaseName() (string, error) { // TableExists allows sqladapter check whether a table exists and returns an // error in case it doesn't. func (d *database) TableExists(name string) error { - q := d.SQLBuilder.Select("Name"). + q := d.Builder.Select("Name"). From("__Table"). Where("Name == ?", name) diff --git a/ql/ql.go b/ql/ql.go index cdb85a880d76dcdb04d5f3889b0dc0c5d21a968d..f0682f1d61e10fe2ce68fae09b35d37514fcf652 100644 --- a/ql/ql.go +++ b/ql/ql.go @@ -22,7 +22,7 @@ package ql // import "upper.io/db.v2/ql" import ( - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) const sqlDriver = `ql` diff --git a/ql/template.go b/ql/template.go index fe2d07a7947c470d9ef742443e5ddc531fa3a3e1..c75a41f59c37b8bc501d79a91e84cb7860cabb6c 100644 --- a/ql/template.go +++ b/ql/template.go @@ -22,8 +22,8 @@ package ql import ( - "upper.io/db.v2/sqlbuilder/cache" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder/cache" + "upper.io/db.v2/lib/sqlbuilder/exql" ) const ( diff --git a/ql/template_test.go b/ql/template_test.go index df35ac7972e64d5887348eb51449148c477a21a6..286dad761693f11c9f5d02a3abb03c1787979546 100644 --- a/ql/template_test.go +++ b/ql/template_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/assert" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) func TestTemplateSelect(t *testing.T) { diff --git a/sqlite/collection.go b/sqlite/collection.go index dd55c119c01e1b65d2866d6f3d5bd499f92dec97..ed27f6b37b099a42080e5d1b9df799eddf6ccc01 100644 --- a/sqlite/collection.go +++ b/sqlite/collection.go @@ -26,7 +26,7 @@ import ( "upper.io/db.v2" "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) // table is the actual implementation of a collection. diff --git a/sqlite/database.go b/sqlite/database.go index 0da100776e3e44b0b9e9e812079046bd2ac2ae6a..7c71b38dc1b910e0ae61168958857c86a866cc2c 100644 --- a/sqlite/database.go +++ b/sqlite/database.go @@ -31,14 +31,14 @@ import ( _ "github.com/mattn/go-sqlite3" // SQLite3 driver. "upper.io/db.v2" "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder/exql" ) // database is the actual implementation of Database type database struct { sqladapter.BaseDatabase // Leveraged by sqladapter - builder.SQLBuilder + builder.Builder connURL db.ConnectionURL txMu sync.Mutex @@ -122,7 +122,7 @@ func (d *database) open() error { if err != nil { return err } - d.SQLBuilder = b + d.Builder = b openFn := func() error { openFiles := atomic.LoadInt32(&fileOpenCount) diff --git a/sqlite/sqlite.go b/sqlite/sqlite.go index 6a1ef116db7a14b7a2044756477644ca14be2400..48bf9877c99f465d68c7219ef08369da444807b3 100644 --- a/sqlite/sqlite.go +++ b/sqlite/sqlite.go @@ -27,7 +27,7 @@ import ( "upper.io/db.v2" "upper.io/db.v2/internal/sqladapter" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) const sqlDriver = `sqlite` @@ -70,7 +70,7 @@ func NewTx(sqlTx *sql.Tx) (builder.Tx, error) { if err != nil { return nil, err } - d.SQLBuilder = b + d.Builder = b if err := d.BaseDatabase.BindTx(sqlTx); err != nil { return nil, err @@ -95,7 +95,7 @@ func New(sess *sql.DB) (builder.Database, error) { if err != nil { return nil, err } - d.SQLBuilder = b + d.Builder = b if err := d.BaseDatabase.BindSession(sess); err != nil { return nil, err diff --git a/sqlite/template.go b/sqlite/template.go index c30a138f24eb235e03deeb769e83da2abc09c27e..abd5d132c20e1b91c88d9084bfc51519545ee9a9 100644 --- a/sqlite/template.go +++ b/sqlite/template.go @@ -22,8 +22,8 @@ package sqlite import ( - "upper.io/db.v2/sqlbuilder/cache" - "upper.io/db.v2/sqlbuilder/exql" + "upper.io/db.v2/lib/sqlbuilder/cache" + "upper.io/db.v2/lib/sqlbuilder/exql" ) const ( diff --git a/sqlite/template_test.go b/sqlite/template_test.go index 96d845c9315e38a8f12c98970fedd509e5e1769e..a550ce4bbce067848f1095f83fbe83c66bdf5f6e 100644 --- a/sqlite/template_test.go +++ b/sqlite/template_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/assert" "upper.io/db.v2" - "upper.io/db.v2/sqlbuilder" + "upper.io/db.v2/lib/sqlbuilder" ) func TestTemplateSelect(t *testing.T) {