Skip to content

Commit e1cc60f

Browse files
committed
Add query builder to DB
1 parent 9cefa4b commit e1cc60f

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
@@ -40,6 +40,7 @@ type DB struct {
4040
Options *Options
4141

4242
addr string
43+
queryBuilder QueryBuilder
4344
columnMap ColumnMap
4445
logger *logging.Logger
4546
tableSemaphores map[string]*semaphore.Weighted
@@ -257,6 +258,7 @@ func NewDbFromConfig(c *Config, logger *logging.Logger, connectorCallbacks Retry
257258
return &DB{
258259
DB: db,
259260
Options: &c.Options,
261+
queryBuilder: NewQueryBuilder(db.DriverName()),
260262
columnMap: NewColumnMap(db.Mapper),
261263
addr: addr,
262264
logger: logger,
@@ -933,40 +935,8 @@ func (db *DB) Log(ctx context.Context, query string, counter *com.Counter) perio
933935
}))
934936
}
935937

936-
func BuildUpsertStatement(db *DB, stmt UpsertStatement) (string, int, error) {
937-
return NewQueryBuilder(db.DriverName()).UpsertStatement(stmt)
938-
}
939-
940-
func BuildInsertStatement(db *DB, stmt InsertStatement) string {
941-
return NewQueryBuilder(db.DriverName()).InsertStatement(stmt)
942-
}
943-
944-
func BuildInsertIgnoreStatement(db *DB, stmt InsertStatement) (string, error) {
945-
return NewQueryBuilder(db.DriverName()).InsertIgnoreStatement(stmt)
946-
}
947-
948-
func BuildInsertSelectStatement(db *DB, stmt InsertSelectStatement) (string, error) {
949-
return NewQueryBuilder(db.DriverName()).InsertSelectStatement(stmt)
950-
}
951-
952-
func BuildSelectStatement(db *DB, stmt SelectStatement) string {
953-
return NewQueryBuilder(db.DriverName()).SelectStatement(stmt)
954-
}
955-
956-
func BuildUpdateStatement(db *DB, stmt UpdateStatement) (string, error) {
957-
return NewQueryBuilder(db.DriverName()).UpdateStatement(stmt)
958-
}
959-
960-
func BuildUpdateAllStatement(db *DB, stmt UpdateStatement) (string, error) {
961-
return NewQueryBuilder(db.DriverName()).UpdateAllStatement(stmt)
962-
}
963-
964-
func BuildDeleteStatement(db *DB, stmt DeleteStatement) (string, error) {
965-
return NewQueryBuilder(db.DriverName()).DeleteStatement(stmt)
966-
}
967-
968-
func BuildDeleteAllStatement(db *DB, stmt DeleteStatement) (string, error) {
969-
return NewQueryBuilder(db.DriverName()).DeleteAllStatement(stmt)
938+
func (db *DB) QueryBuilder() QueryBuilder {
939+
return db.queryBuilder
970940
}
971941

972942
var (

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)