/
githubmirror
/
photoprism
Обзор
Документация
Войти
/
githubmirror
/
photoprism
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
internal/entity/sortby/random.go
25 строк
830 B
Michael Mayer
Config: Centralize SQL driver identifiers in pkg/dsn #5588
17 май 2026, 17:47
17 май 2026, 17:47
c8390a2
Код
Авторство
О чём код?
package sortby import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" _ "github.com/jinzhu/gorm/dialects/sqlite" "github.com/photoprism/photoprism/pkg/dsn" ) // RandomExpr returns the name of the random function depending on the SQL dialect. func RandomExpr(dialect gorm.Dialect) *gorm.SqlExpr { switch dialect.GetName() { case dsn.DriverMySQL: // A seed integer can be passed as an argument, e.g. "RAND(2342)", to generate // reproducible pseudo-random values, see https://mariadb.com/kb/en/rand/. return gorm.Expr("RAND()") case dsn.DriverSQLite3: // SQLite does not support specifying a seed to generate a deterministic sequence // of pseudo-random values, see https://www.sqlite.org/lang_corefunc.html#random. return gorm.Expr("RANDOM()") default: return gorm.Expr("RAND()") } }