if optimistically assuming cksum unchanged, then do not get cksum, just update checked, modified

main
bel 2025-05-17 20:57:41 -06:00
parent 8f18cbae3a
commit fba3d635ea
2 changed files with 19 additions and 4 deletions

View File

@ -56,6 +56,15 @@ func checked(ctx context.Context, p, cksum string, modified time.Time) error {
return err
}
if cksum != "" {
} else if err := db.Exec(ctx, `
UPDATE "asses.checks"
SET checked_at=$2, modified=$3
WHERE p=$1
`, p, time.Now(), modified); err == nil {
return nil
}
return db.Exec(ctx, `
INSERT INTO "asses.checks"
(p, checked_at, cksum, modified)

View File

@ -48,9 +48,11 @@ func One(ctx context.Context, p string) error {
log.Printf("asses.One(%s) // modified (%v) is now %v", shortp, last.Modified, stat.ModTime())
}
doCksum := true
if err := func() error {
if len(last.Cksum) > 0 {
if last.Modified.IsZero() {
doCksum = false
log.Printf("asses.One(%s) // assume cksum unchanged given null modified ", shortp)
return nil
}
@ -76,10 +78,14 @@ func One(ctx context.Context, p string) error {
return err
}
cksum, err := Cksum(ctx, p)
if err != nil {
return err
}
var cksum string
if doCksum {
var err error
cksum, err = Cksum(ctx, p)
if err != nil {
return err
}
}
stat, err := os.Stat(p)
if err != nil {
return err