Skip to content

Commit 86e878c

Browse files
committed
Add query builder to DB
1 parent dbe6f5c commit 86e878c

File tree

4 files changed

+18
-39
lines changed

4 files changed

+18
-39
lines changed

database/db.go

Lines changed: 4 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ type DB struct {
3939
Options *Options
4040

4141
addr string
42+
queryBuilder QueryBuilder
4243
columnMap ColumnMap
4344
logger *logging.Logger
4445
tableSemaphores map[string]*semaphore.Weighted
@@ -256,6 +257,7 @@ func NewDbFromConfig(c *Config, logger *logging.Logger, connectorCallbacks Retry
256257
return &DB{
257258
DB: db,
258259
Options: &c.Options,
260+
queryBuilder: NewQueryBuilder(db.DriverName()),
259261
columnMap: NewColumnMap(db.Mapper),
260262
addr: addr,
261263
logger: logger,
@@ -894,38 +896,6 @@ func (db *DB) Log(ctx context.Context, query string, counter *com.Counter) perio
894896
}))
895897
}
896898

897-
func BuildUpsertStatement(db *DB, stmt UpsertStatement) (string, int, error) {
898-
return NewQueryBuilder(db.DriverName()).UpsertStatement(stmt)
899-
}
900-
901-
func BuildInsertStatement(db *DB, stmt InsertStatement) string {
902-
return NewQueryBuilder(db.DriverName()).InsertStatement(stmt)
903-
}
904-
905-
func BuildInsertIgnoreStatement(db *DB, stmt InsertStatement) (string, error) {
906-
return NewQueryBuilder(db.DriverName()).InsertIgnoreStatement(stmt)
907-
}
908-
909-
func BuildInsertSelectStatement(db *DB, stmt InsertSelectStatement) (string, error) {
910-
return NewQueryBuilder(db.DriverName()).InsertSelectStatement(stmt)
911-
}
912-
913-
func BuildSelectStatement(db *DB, stmt SelectStatement) string {
914-
return NewQueryBuilder(db.DriverName()).SelectStatement(stmt)
915-
}
916-
917-
func BuildUpdateStatement(db *DB, stmt UpdateStatement) (string, error) {
918-
return NewQueryBuilder(db.DriverName()).UpdateStatement(stmt)
919-
}
920-
921-
func BuildUpdateAllStatement(db *DB, stmt UpdateStatement) (string, error) {
922-
return NewQueryBuilder(db.DriverName()).UpdateAllStatement(stmt)
923-
}
924-
925-
func BuildDeleteStatement(db *DB, stmt DeleteStatement) (string, error) {
926-
return NewQueryBuilder(db.DriverName()).DeleteStatement(stmt)
927-
}
928-
929-
func BuildDeleteAllStatement(db *DB, stmt DeleteStatement) (string, error) {
930-
return NewQueryBuilder(db.DriverName()).DeleteAllStatement(stmt)
899+
func (db *DB) QueryBuilder() QueryBuilder {
900+
return db.queryBuilder
931901
}

database/delete.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,15 @@ func DeleteStreamed(
116116
var stmt string
117117

118118
if opts.stmt != nil {
119-
stmt, _ = BuildDeleteStatement(db, opts.stmt)
119+
stmt, err = db.QueryBuilder().DeleteStatement(opts.stmt)
120+
if err != nil {
121+
return err
122+
}
120123
} else {
121-
stmt = db.BuildDeleteStmt(entityType)
124+
stmt, err = db.QueryBuilder().DeleteStatement(NewDeleteStatement(entityType))
125+
if err != nil {
126+
return err
127+
}
122128
}
123129

124130
switch reflect.TypeOf(first).Kind() {

database/example_upsert_streamed_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ func ExampleUpsertStreamed() {
1616
g, ctx = errgroup.WithContext(context.Background())
1717
entities = make(chan User, len(testEntites))
1818
logs = getTestLogging()
19-
log = logs.GetLogger()
2019
db = getTestDb(logs)
20+
log = logs.GetLogger()
2121
err error
2222
)
2323

database/upsert.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,12 +130,15 @@ func UpsertStreamed[T any, V EntityConstraint[T]](
130130
}
131131

132132
if opts.stmt != nil {
133-
stmt, placeholders, err = BuildUpsertStatement(db, opts.stmt)
133+
stmt, placeholders, err = db.QueryBuilder().UpsertStatement(opts.stmt)
134134
if err != nil {
135135
return err
136136
}
137137
} else {
138-
stmt, placeholders = db.BuildUpsertStmt(entityType)
138+
stmt, placeholders, err = db.QueryBuilder().UpsertStatement(NewUpsertStatement(entityType))
139+
if err != nil {
140+
return err
141+
}
139142
}
140143

141144
return namedBulkExec[T](

0 commit comments

Comments
 (0)