Merge pull request 'Fix SQL command with too many placeholders' (#3570) from algernon/forgejo:many-question-marks-handle-it into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3570 Reviewed-by: Otto <otto@codeberg.org> Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
This commit is contained in:
		
				commit
				
					
						288747c660
					
				
			
		
					 4 changed files with 16 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -116,6 +116,9 @@ func FindBranchNames(ctx context.Context, opts FindBranchOptions) ([]string, err
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func FindBranchesByRepoAndBranchName(ctx context.Context, repoBranches map[int64]string) (map[int64]string, error) {
 | 
			
		||||
	if len(repoBranches) == 0 {
 | 
			
		||||
		return nil, nil
 | 
			
		||||
	}
 | 
			
		||||
	cond := builder.NewCond()
 | 
			
		||||
	for repoID, branchName := range repoBranches {
 | 
			
		||||
		cond = cond.Or(builder.And(builder.Eq{"repo_id": repoID}, builder.Eq{"name": branchName}))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -183,3 +183,12 @@ func TestOnlyGetDeletedBranchOnCorrectRepo(t *testing.T) {
 | 
			
		|||
	assert.NoError(t, err)
 | 
			
		||||
	assert.NotNil(t, deletedBranch)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestFindBranchesByRepoAndBranchName(t *testing.T) {
 | 
			
		||||
	assert.NoError(t, unittest.PrepareTestDatabase())
 | 
			
		||||
 | 
			
		||||
	// With no repos or branches given, we find no branches.
 | 
			
		||||
	branches, err := git_model.FindBranchesByRepoAndBranchName(db.DefaultContext, map[int64]string{})
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
	assert.Len(t, branches, 0)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								release-notes/8.0.0/fix/3570.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								release-notes/8.0.0/fix/3570.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
Fixed an issue that resulted in excessive and unnecessary database queries when a user with no repositories was viewing their dashboard.
 | 
			
		||||
| 
						 | 
				
			
			@ -127,6 +127,9 @@ func CreateCommitStatus(ctx context.Context, repo *repo_model.Repository, creato
 | 
			
		|||
 | 
			
		||||
// FindReposLastestCommitStatuses loading repository default branch latest combinded commit status with cache
 | 
			
		||||
func FindReposLastestCommitStatuses(ctx context.Context, repos []*repo_model.Repository) ([]*git_model.CommitStatus, error) {
 | 
			
		||||
	if len(repos) == 0 {
 | 
			
		||||
		return nil, nil
 | 
			
		||||
	}
 | 
			
		||||
	results := make([]*git_model.CommitStatus, len(repos))
 | 
			
		||||
	for i, repo := range repos {
 | 
			
		||||
		if cv := getCommitStatusCache(repo.ID, repo.DefaultBranch); cv != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue