added SRCINFO caching via db

This commit is contained in:
2022-08-13 20:48:34 +02:00
parent 4ead1f74cd
commit 0f46a95995
11 changed files with 323 additions and 2 deletions

View File

@@ -57,6 +57,8 @@ type DbPackage struct {
IoIn *int64 `json:"io_in,omitempty"`
// IoOut holds the value of the "io_out" field.
IoOut *int64 `json:"io_out,omitempty"`
// Srcinfo holds the value of the "srcinfo" field.
Srcinfo *string `json:"srcinfo,omitempty"`
}
// scanValues returns the types for scanning values from sql.Rows.
@@ -68,7 +70,7 @@ func (*DbPackage) scanValues(columns []string) ([]interface{}, error) {
values[i] = new([]byte)
case dbpackage.FieldID, dbpackage.FieldMaxRss, dbpackage.FieldUTime, dbpackage.FieldSTime, dbpackage.FieldIoIn, dbpackage.FieldIoOut:
values[i] = new(sql.NullInt64)
case dbpackage.FieldPkgbase, dbpackage.FieldStatus, dbpackage.FieldSkipReason, dbpackage.FieldRepository, dbpackage.FieldMarch, dbpackage.FieldVersion, dbpackage.FieldRepoVersion, dbpackage.FieldHash, dbpackage.FieldLto, dbpackage.FieldLastVersionBuild, dbpackage.FieldDebugSymbols:
case dbpackage.FieldPkgbase, dbpackage.FieldStatus, dbpackage.FieldSkipReason, dbpackage.FieldRepository, dbpackage.FieldMarch, dbpackage.FieldVersion, dbpackage.FieldRepoVersion, dbpackage.FieldHash, dbpackage.FieldLto, dbpackage.FieldLastVersionBuild, dbpackage.FieldDebugSymbols, dbpackage.FieldSrcinfo:
values[i] = new(sql.NullString)
case dbpackage.FieldBuildTimeStart, dbpackage.FieldUpdated, dbpackage.FieldLastVerified:
values[i] = new(sql.NullTime)
@@ -220,6 +222,13 @@ func (dp *DbPackage) assignValues(columns []string, values []interface{}) error
dp.IoOut = new(int64)
*dp.IoOut = value.Int64
}
case dbpackage.FieldSrcinfo:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field srcinfo", values[i])
} else if value.Valid {
dp.Srcinfo = new(string)
*dp.Srcinfo = value.String
}
}
}
return nil
@@ -317,6 +326,11 @@ func (dp *DbPackage) String() string {
builder.WriteString("io_out=")
builder.WriteString(fmt.Sprintf("%v", *v))
}
builder.WriteString(", ")
if v := dp.Srcinfo; v != nil {
builder.WriteString("srcinfo=")
builder.WriteString(*v)
}
builder.WriteByte(')')
return builder.String()
}