mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 12:54:38 +03:00
Enable the appendAssign lint check (#1865)
* Make copies of buffers Avoid reusing one of the incoming arrays as a append extension, and make a copy of the data. It's cleaner in the long run and possibly easier for the GC to maintain. * Avoid appendAssign problems in tag code Reuse the existing slice when appending. * Fix appendAssign in encoder_scene_preview_chunk Appending and creating a new slice is somewhat unintuitive since the underlying slice might be extended to satisfy the new capacity. This sometimes leads to faulty logic. Rewrite the code so it reuses `args` for all appending, and builds one array clearly in the code. It follows the general style of the function where `args` is being built in small incremental batches and avoids the introduction of new names. * Enable the appendAssign check This makes us pass all gocritic warnings. Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
This commit is contained in:
@@ -36,10 +36,6 @@ linters:
|
|||||||
|
|
||||||
# Project-specific linter overrides
|
# Project-specific linter overrides
|
||||||
linters-settings:
|
linters-settings:
|
||||||
gocritic:
|
|
||||||
disabled-checks:
|
|
||||||
- appendAssign
|
|
||||||
|
|
||||||
gofmt:
|
gofmt:
|
||||||
simplify: false
|
simplify: false
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,8 @@ func generateFalseNamePatterns(name string, separator, ext string) []string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func generateTestPaths(testName, ext string) (scenePatterns []string, falseScenePatterns []string) {
|
func generateTestPaths(testName, ext string) (scenePatterns []string, falseScenePatterns []string) {
|
||||||
separators := append(testSeparators, testEndSeparators...)
|
separators := testSeparators
|
||||||
|
separators = append(separators, testEndSeparators...)
|
||||||
|
|
||||||
for _, separator := range separators {
|
for _, separator := range separators {
|
||||||
scenePatterns = append(scenePatterns, generateNamePatterns(testName, separator, ext)...)
|
scenePatterns = append(scenePatterns, generateNamePatterns(testName, separator, ext)...)
|
||||||
@@ -115,7 +116,8 @@ func generateTestTable(testName, ext string) []pathTestTable {
|
|||||||
var scenePatterns []string
|
var scenePatterns []string
|
||||||
var falseScenePatterns []string
|
var falseScenePatterns []string
|
||||||
|
|
||||||
separators := append(testSeparators, testEndSeparators...)
|
separators := testSeparators
|
||||||
|
separators = append(separators, testEndSeparators...)
|
||||||
|
|
||||||
for _, separator := range separators {
|
for _, separator := range separators {
|
||||||
scenePatterns = append(scenePatterns, generateNamePatterns(testName, separator, ext)...)
|
scenePatterns = append(scenePatterns, generateNamePatterns(testName, separator, ext)...)
|
||||||
|
|||||||
@@ -85,11 +85,11 @@ func (e *Encoder) ScenePreviewVideoChunk(probeResult VideoFile, options ScenePre
|
|||||||
"-strict", "-2",
|
"-strict", "-2",
|
||||||
}
|
}
|
||||||
|
|
||||||
args3 := append(args, args2...)
|
args = append(args, args2...)
|
||||||
args3 = append(args3, argsAudio...)
|
args = append(args, argsAudio...)
|
||||||
finalArgs := append(args3, options.OutputPath)
|
args = append(args, options.OutputPath)
|
||||||
|
|
||||||
_, err := e.run(probeResult.Path, finalArgs, nil)
|
_, err := e.run(probeResult.Path, args, nil)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -649,13 +649,13 @@ func (qb *tagQueryBuilder) Merge(source []int, destination int) error {
|
|||||||
"performers_tags": "performer_id",
|
"performers_tags": "performer_id",
|
||||||
}
|
}
|
||||||
|
|
||||||
tagArgs := append(args, destination)
|
args = append(args, destination)
|
||||||
for table, idColumn := range tagTables {
|
for table, idColumn := range tagTables {
|
||||||
_, err := qb.tx.Exec(`UPDATE `+table+`
|
_, err := qb.tx.Exec(`UPDATE `+table+`
|
||||||
SET tag_id = ?
|
SET tag_id = ?
|
||||||
WHERE tag_id IN `+inBinding+`
|
WHERE tag_id IN `+inBinding+`
|
||||||
AND NOT EXISTS(SELECT 1 FROM `+table+` o WHERE o.`+idColumn+` = `+table+`.`+idColumn+` AND o.tag_id = ?)`,
|
AND NOT EXISTS(SELECT 1 FROM `+table+` o WHERE o.`+idColumn+` = `+table+`.`+idColumn+` AND o.tag_id = ?)`,
|
||||||
tagArgs...,
|
args...,
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
Reference in New Issue
Block a user