perf enhancement

This commit is contained in:
2025-11-16 16:21:35 +05:30
parent 29cddb6389
commit 1d9d9d9308
9 changed files with 917 additions and 35 deletions

View File

@@ -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
}