Pass BOOL values as real types (int/bool) instead of strings to SQL parameters. (#101961)

* Pass BOOL values as real types (int/bool) instead of strings to SQL parameters.

Fixes following integration tests when running with Spanner:
* TestIntegrationDataAccess
    * GetDataSourcesByType/Get_prunable_data_sources
* TestIntegrationUserAuthToken:
    * expires_correctly
    * can_properly_rotate_tokens
    *  keeps_prev_token_valid_for_1_minute_after_it_is_confirmed

* Fix more places where "true" or "false" string was passed as query parameter instead of bool value.

* Removed unit test because it brought unwanted dependencies on xorm into multiple modules.
This commit is contained in:
Peter Štibraný
2025-03-12 15:40:11 +01:00
committed by GitHub
parent d1a1c07bdd
commit f3df64b7f4
17 changed files with 58 additions and 22 deletions
+2 -2
View File
@@ -63,7 +63,7 @@ func (ss *SecretsStoreImpl) GetCurrentDataKey(ctx context.Context, label string)
err := ss.db.WithDbSession(ctx, func(sess *db.Session) error {
var err error
exists, err = sess.Table(ss.table).
Where("label = ? AND active = ?", label, ss.db.GetDialect().BooleanStr(true)).
Where("label = ? AND active = ?", label, ss.db.GetDialect().BooleanValue(true)).
Get(dataKey)
return err
})
@@ -109,7 +109,7 @@ func (ss *SecretsStoreImpl) CreateDataKey(ctx context.Context, dataKey *secrets.
func (ss *SecretsStoreImpl) DisableDataKeys(ctx context.Context) error {
return ss.db.WithTransactionalDbSession(ctx, func(sess *db.Session) error {
_, err := sess.Table(ss.table).
Where("active = ?", ss.db.GetDialect().BooleanStr(true)).
Where("active = ?", ss.db.GetDialect().BooleanValue(true)).
UseBool("active").Update(&secrets.DataKey{Active: false})
return err
})