mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 12:24:38 +03:00
Handle zip file modification (#877)
* Rescan zip if updating mod time * Use inequality for mod time comparison * Add sort by file_mod_time (fixes #469)
This commit is contained in:
@@ -414,51 +414,39 @@ func sqlGenKeys(i interface{}, partial bool) string {
|
||||
if key == "id" {
|
||||
continue
|
||||
}
|
||||
|
||||
var add bool
|
||||
switch t := v.Field(i).Interface().(type) {
|
||||
case string:
|
||||
if partial || t != "" {
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
}
|
||||
add = partial || t != ""
|
||||
case int:
|
||||
if partial || t != 0 {
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
}
|
||||
add = partial || t != 0
|
||||
case float64:
|
||||
if partial || t != 0 {
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
}
|
||||
add = partial || t != 0
|
||||
case bool:
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
add = true
|
||||
case SQLiteTimestamp:
|
||||
if partial || !t.Timestamp.IsZero() {
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
}
|
||||
add = partial || !t.Timestamp.IsZero()
|
||||
case NullSQLiteTimestamp:
|
||||
add = partial || t.Valid
|
||||
case SQLiteDate:
|
||||
if partial || t.Valid {
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
}
|
||||
add = partial || t.Valid
|
||||
case sql.NullString:
|
||||
if partial || t.Valid {
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
}
|
||||
add = partial || t.Valid
|
||||
case sql.NullBool:
|
||||
if partial || t.Valid {
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
}
|
||||
add = partial || t.Valid
|
||||
case sql.NullInt64:
|
||||
if partial || t.Valid {
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
}
|
||||
add = partial || t.Valid
|
||||
case sql.NullFloat64:
|
||||
if partial || t.Valid {
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
}
|
||||
add = partial || t.Valid
|
||||
default:
|
||||
reflectValue := reflect.ValueOf(t)
|
||||
isNil := reflectValue.IsNil()
|
||||
if !isNil {
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
}
|
||||
add = !isNil
|
||||
}
|
||||
|
||||
if add {
|
||||
query = append(query, fmt.Sprintf("%s=:%s", key, key))
|
||||
}
|
||||
}
|
||||
return strings.Join(query, ", ")
|
||||
|
||||
Reference in New Issue
Block a user