aboutsummaryrefslogtreecommitdiff
path: root/internal/database/database.go
diff options
context:
space:
mode:
authorJonathan Amsterdam <jba@google.com>2020-10-27 07:35:41 -0400
committerJonathan Amsterdam <jba@google.com>2020-10-27 13:44:06 +0000
commit5df6d8771bd23d8131bd5297523e05ef89d5f927 (patch)
treed308eb892da9574408aff00a27ad78047824e640 /internal/database/database.go
parent5092a44d7e645b5d43e6ca67652881f00b4b0562 (diff)
downloadgo-x-pkgsite-5df6d8771bd23d8131bd5297523e05ef89d5f927.tar.xz
internal/database: fix logQuery call in QueryRow
The logQuery call was inside the defer, so instead of happening at the start of the query, it happened at the end. Also, tweak the error logging so information is only computed when needed. Change-Id: I2bf4b6e93880a2c44c9fb5732676935b1cdd418a Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/265477 Trust: Jonathan Amsterdam <jba@google.com> Run-TryBot: Jonathan Amsterdam <jba@google.com> TryBot-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: Julie Qiu <julie@golang.org>
Diffstat (limited to 'internal/database/database.go')
-rw-r--r--internal/database/database.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/internal/database/database.go b/internal/database/database.go
index d4dfc031..9f0ec43e 100644
--- a/internal/database/database.go
+++ b/internal/database/database.go
@@ -108,14 +108,14 @@ func (db *DB) Query(ctx context.Context, query string, args ...interface{}) (_ *
// QueryRow runs the query and returns a single row.
func (db *DB) QueryRow(ctx context.Context, query string, args ...interface{}) *sql.Row {
+ defer logQuery(ctx, query, args, db.instanceID)(nil)
start := time.Now()
defer func() {
- d, _ := ctx.Deadline()
- msg := fmt.Sprintf("args=%v; elapsed=%q, start=%q, deadline=%q", args, time.Since(start), start, d)
if ctx.Err() != nil {
+ d, _ := ctx.Deadline()
+ msg := fmt.Sprintf("args=%v; elapsed=%q, start=%q, deadline=%q", args, time.Since(start), start, d)
log.Errorf(ctx, "QueryRow context error: %v "+msg, ctx.Err())
}
- logQuery(ctx, query, args, db.instanceID)(nil)
}()
if db.tx != nil {
return db.tx.QueryRowContext(ctx, query, args...)