diff options
author | 2021-08-12 21:03:24 +0200 | |
---|---|---|
committer | 2021-08-12 21:03:24 +0200 | |
commit | 98263a7de64269898a2f81207e38943b5c8e8653 (patch) | |
tree | 743c90f109a6c5d27832d1dcef2388d939f0f77a /vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go | |
parent | Text duplication fix (#137) (diff) | |
download | gotosocial-98263a7de64269898a2f81207e38943b5c8e8653.tar.xz |
Grand test fixup (#138)
* start fixing up tests
* fix up tests + automate with drone
* fiddle with linting
* messing about with drone.yml
* some more fiddling
* hmmm
* add cache
* add vendor directory
* verbose
* ci updates
* update some little things
* update sig
Diffstat (limited to 'vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go')
-rw-r--r-- | vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go b/vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go new file mode 100644 index 000000000..bbf6ada19 --- /dev/null +++ b/vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go @@ -0,0 +1,42 @@ +package pgdebug + +import ( + "context" + "fmt" + + "github.com/go-pg/pg/v10" +) + +// DebugHook is a query hook that logs an error with a query if there are any. +// It can be installed with: +// +// db.AddQueryHook(pgext.DebugHook{}) +type DebugHook struct { + // Verbose causes hook to print all queries (even those without an error). + Verbose bool + EmptyLine bool +} + +var _ pg.QueryHook = (*DebugHook)(nil) + +func (h DebugHook) BeforeQuery(ctx context.Context, evt *pg.QueryEvent) (context.Context, error) { + q, err := evt.FormattedQuery() + if err != nil { + return nil, err + } + + if evt.Err != nil { + fmt.Printf("%s executing a query:\n%s\n", evt.Err, q) + } else if h.Verbose { + if h.EmptyLine { + fmt.Println() + } + fmt.Println(string(q)) + } + + return ctx, nil +} + +func (DebugHook) AfterQuery(context.Context, *pg.QueryEvent) error { + return nil +} |