perf enhancement
This commit is contained in:
@@ -203,7 +203,8 @@ func (q *selectQry) buildJoin(t Table, joinKW string, t1Field, t2Field Field, co
|
||||
defer putSB(sb)
|
||||
sb.Grow(len(str) * 2)
|
||||
|
||||
sb.WriteString(str + " AND ")
|
||||
sb.WriteString(str)
|
||||
sb.WriteString(" AND ")
|
||||
|
||||
var argIdx int
|
||||
for i, c := range cond {
|
||||
@@ -263,9 +264,13 @@ func (q *selectQry) FirstTx(ctx context.Context, tx pgx.Tx, dest ...any) error {
|
||||
|
||||
func (q *selectQry) All(ctx context.Context, row RowsCb) error {
|
||||
rows, err := poolPGX.Load().Query(ctx, q.String(), q.args...)
|
||||
if errors.Is(err, pgx.ErrNoRows) {
|
||||
return ErrNoRows
|
||||
if err != nil {
|
||||
if errors.Is(err, pgx.ErrNoRows) {
|
||||
return ErrNoRows
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
defer rows.Close()
|
||||
|
||||
for rows.Next() {
|
||||
@@ -274,13 +279,21 @@ func (q *selectQry) All(ctx context.Context, row RowsCb) error {
|
||||
}
|
||||
}
|
||||
|
||||
// Check for errors from iteration
|
||||
if err := rows.Err(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (q *selectQry) AllTx(ctx context.Context, tx pgx.Tx, row RowsCb) error {
|
||||
rows, err := tx.Query(ctx, q.String(), q.args...)
|
||||
if errors.Is(err, pgx.ErrNoRows) {
|
||||
return ErrNoRows
|
||||
if err != nil {
|
||||
if errors.Is(err, pgx.ErrNoRows) {
|
||||
return ErrNoRows
|
||||
}
|
||||
return err
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
@@ -290,6 +303,11 @@ func (q *selectQry) AllTx(ctx context.Context, tx pgx.Tx, row RowsCb) error {
|
||||
}
|
||||
}
|
||||
|
||||
// Check for errors from iteration
|
||||
if err := rows.Err(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user