mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Query the DB for the hash before inserting in to email_hash (#15457)
Some postgres users have logging which logs even failed transactions. So just query the db before trying to insert. Fix #15451 Signed-off-by: Andrew Thornton art27@cantab.net Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		@@ -96,6 +96,11 @@ func HashedAvatarLink(email string) string {
 | 
				
			|||||||
			// we don't care about any DB problem just return the lowerEmail
 | 
								// we don't care about any DB problem just return the lowerEmail
 | 
				
			||||||
			return lowerEmail, nil
 | 
								return lowerEmail, nil
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							has, err := sess.Where("email = ? AND hash = ?", emailHash.Email, emailHash.Hash).Get(new(EmailHash))
 | 
				
			||||||
 | 
							if has || err != nil {
 | 
				
			||||||
 | 
								// Seriously we don't care about any DB problems just return the lowerEmail - we expect the transaction to fail most of the time
 | 
				
			||||||
 | 
								return lowerEmail, nil
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		_, _ = sess.Insert(emailHash)
 | 
							_, _ = sess.Insert(emailHash)
 | 
				
			||||||
		if err := sess.Commit(); err != nil {
 | 
							if err := sess.Commit(); err != nil {
 | 
				
			||||||
			// Seriously we don't care about any DB problems just return the lowerEmail - we expect the transaction to fail most of the time
 | 
								// Seriously we don't care about any DB problems just return the lowerEmail - we expect the transaction to fail most of the time
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user