all repos — searchix @ 9015baf955c94a806c01b3dcd5648c8e68ad2685

Search engine for NixOS, nix-darwin, home-manager and NUR users

refactor: ensure errors have stack traces

Alan Pearce
commit

9015baf955c94a806c01b3dcd5648c8e68ad2685

parent

7bb77ff5729cc9434afee895a470fd3b4c12e6d1

1 file changed, 7 insertions(+), 6 deletions(-)

changed files
M internal/programs/programs.gointernal/programs/programs.go
@@ -7,7 +7,7 @@ "fmt"
"os/exec" "strings" - "github.com/pkg/errors" + "gitlab.com/tozd/go/errors" "go.alanpearce.eu/searchix/internal/config" "go.alanpearce.eu/x/log" _ "modernc.org/sqlite" //nolint:blank-imports // sqlite driver needed for database/sql
@@ -26,7 +26,7 @@ func Instantiate(
ctx context.Context, source *config.Source, logger *log.Logger, -) (*DB, error) { +) (*DB, errors.E) { // nix-instantiate --eval --json -I nixpkgs=channel:nixos-unstable --expr 'toString <nixpkgs/programs.sqlite>' args := []string{ "--eval",
@@ -53,7 +53,7 @@ logger: logger,
}, nil } -func (p *DB) Open() error { +func (p *DB) Open() errors.E { var err error p.db, err = sql.Open("sqlite", p.Path) if err != nil {
@@ -96,7 +96,7 @@
return nil } -func (p *DB) Close() error { +func (p *DB) Close() errors.E { if err := p.db.Close(); err != nil { return errors.WithMessage(err, "failed to close sqlite database") }
@@ -104,7 +104,8 @@
return nil } -func (p *DB) GetPackagePrograms(ctx context.Context, pkg string) (programs []string, err error) { +func (p *DB) GetPackagePrograms(ctx context.Context, pkg string) ([]string, errors.E) { + programs := make([]string, 10) if p.db == nil { return nil, errors.New("database not open") }
@@ -127,5 +128,5 @@ if rerr != nil {
return nil, errors.WithMessage(rerr, "sql error") } - return + return programs, nil }