all repos — searchix @ bf67263fd74134bbe39d6de3f693b89937646bdc

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

feat: improve error logging of programs database

Alan Pearce
commit

bf67263fd74134bbe39d6de3f693b89937646bdc

parent

8ec4832bfece859ba62a4092e074b535601aab18

1 file changed, 20 insertions(+), 17 deletions(-)

changed files
M internal/importer/main.gointernal/importer/main.go
@@ -254,13 +254,6 @@ forceUpdate bool,
) func(config.Source) error { return func(source config.Source) error { logger := imp.options.Logger.With("name", source.Key) - pdb, err := programs.New(source, &programs.Options{ - Logger: logger, - Root: imp.options.Root, - }) - if err != nil { - return fault.Wrap(err, fmsg.With("error creating program database")) - } sourceMeta := meta.GetSourceMeta(source.Key) previousUpdate := sourceMeta.UpdatedAt
@@ -313,6 +306,13 @@ forceUpdate,
) if source.Programs.Enable { + pdb, err := programs.New(source, &programs.Options{ + Logger: logger, + Root: imp.options.Root, + }) + if err != nil { + return fault.Wrap(err, fmsg.With("error creating program database")) + } err = pdb.Instantiate(ctx) if err != nil { logger.Warn("programs database instantiation failed", "error", err)
@@ -335,15 +335,8 @@ parent context.Context,
meta *meta.Meta, ) func(config.Source) error { return func(source config.Source) error { + var pdb *programs.DB logger := imp.options.Logger.With("name", source.Key) - pdb, err := programs.New(source, &programs.Options{ - Logger: logger, - Root: imp.options.Root, - }) - if err != nil { - return fault.Wrap(err, fmsg.With("error creating program database")) - } - sourceMeta := meta.GetSourceMeta(source.Key) fopts := &fetcher.Options{
@@ -360,10 +353,20 @@ return fault.Wrap(err, fmsg.With("error opening fetched files"))
} if source.Programs.Enable { - err = pdb.Instantiate(ctx) + pdb, err = programs.New(source, &programs.Options{ + Logger: logger, + Root: imp.options.Root, + }) if err != nil { - logger.Warn("programs database instantiation failed", "error", err) + return fault.Wrap(err, fmsg.With("error creating program database")) } + + err = pdb.Open(ctx) + if err != nil { + return fault.Wrap(err, fmsg.With("error opening program database")) + } + + defer pdb.Close() } if files.Revision != nil {