From 98263a7de64269898a2f81207e38943b5c8e8653 Mon Sep 17 00:00:00 2001 From: Tobi Smethurst <31960611+tsmethurst@users.noreply.github.com> Date: Thu, 12 Aug 2021 21:03:24 +0200 Subject: 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 --- .../github.com/go-pg/pg/extra/pgdebug/pgdebug.go | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go (limited to 'vendor/github.com/go-pg/pg/extra/pgdebug/pgdebug.go') 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 +} -- cgit v1.2.3