Remote any references to sqlite (#16980)

* Remote any references to sqlite

* Fix specs
Этот коммит содержится в:
John Tzikas
2021-02-19 11:09:52 +02:00
коммит произвёл GitHub
родитель 7b8cff1962
Коммит 8d6dd195e1
3 изменённых файлов: 119 добавлений и 147 удалений

Просмотреть файл

@@ -73,10 +73,6 @@ const (
ExitRemoveIndexMySQL = 122
ExitRemoveIndexMissing = 123
ExitRemoveTable = 134
ExitCreateIndexSqlite = 135
ExitRemoveIndexSqlite = 136
ExitTableExists_SQLITE = 137
ExitDoesColumnExistsSqlite = 138
ExitAlterPrimaryKey = 139
)
@@ -274,9 +270,7 @@ func setupConnection(con_type string, dataSource string, settings *model.SqlSett
connectionTimeout := time.Duration(*settings.QueryTimeout) * time.Second
if *settings.DriverName == model.DATABASE_DRIVER_SQLITE {
dbmap = &gorp.DbMap{Db: db, TypeConverter: mattermConverter{}, Dialect: gorp.SqliteDialect{}, QueryTimeout: connectionTimeout}
} else if *settings.DriverName == model.DATABASE_DRIVER_MYSQL {
if *settings.DriverName == model.DATABASE_DRIVER_MYSQL {
dbmap = &gorp.DbMap{Db: db, TypeConverter: mattermConverter{}, Dialect: gorp.MySQLDialect{Engine: "InnoDB", Encoding: "UTF8MB4"}, QueryTimeout: connectionTimeout}
} else if *settings.DriverName == model.DATABASE_DRIVER_POSTGRES {
dbmap = &gorp.DbMap{Db: db, TypeConverter: mattermConverter{}, Dialect: gorp.PostgresDialect{}, QueryTimeout: connectionTimeout}
@@ -341,8 +335,6 @@ func (ss *SqlStore) GetDbVersion(numerical bool) (string, error) {
}
} else if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
sqlVersion = `SELECT version()`
} else if ss.DriverName() == model.DATABASE_DRIVER_SQLITE {
sqlVersion = `SELECT sqlite_version()`
} else {
return "", errors.New("Not supported driver")
}
@@ -468,20 +460,6 @@ func (ss *SqlStore) DoesTableExist(tableName string) bool {
return count > 0
} else if ss.DriverName() == model.DATABASE_DRIVER_SQLITE {
count, err := ss.GetMaster().SelectInt(
`SELECT count(name) FROM sqlite_master WHERE type='table' AND name=?`,
tableName,
)
if err != nil {
mlog.Critical("Failed to check if table exists", mlog.Err(err))
time.Sleep(time.Second)
os.Exit(ExitTableExists_SQLITE)
}
return count > 0
} else {
mlog.Critical("Failed to check if column exists because of missing driver")
time.Sleep(time.Second)
@@ -537,21 +515,6 @@ func (ss *SqlStore) DoesColumnExist(tableName string, columnName string) bool {
return count > 0
} else if ss.DriverName() == model.DATABASE_DRIVER_SQLITE {
count, err := ss.GetMaster().SelectInt(
`SELECT COUNT(*) FROM pragma_table_info(?) WHERE name=?`,
tableName,
columnName,
)
if err != nil {
mlog.Critical("Failed to check if column exists", mlog.Err(err))
time.Sleep(time.Second)
os.Exit(ExitDoesColumnExistsSqlite)
}
return count > 0
} else {
mlog.Critical("Failed to check if column exists because of missing driver")
time.Sleep(time.Second)
@@ -791,10 +754,6 @@ func (ss *SqlStore) AlterColumnDefaultIfExists(tableName string, columnName stri
tableName = strings.ToLower(tableName)
columnName = strings.ToLower(columnName)
defaultValue = *postgresColDefault
} else if ss.DriverName() == model.DATABASE_DRIVER_SQLITE {
// SQLite doesn't support altering column defaults, but we don't use this in
// production so just ignore.
return true
} else {
mlog.Critical("Failed to alter column default because of missing driver")
time.Sleep(time.Second)
@@ -850,9 +809,6 @@ func (ss *SqlStore) AlterPrimaryKey(tableName string, columnNames []string) bool
c.contype = 'p'
AND c.conrelid = '` + strings.ToLower(tableName) + `'::REGCLASS`
currentPrimaryKey, err = ss.GetMaster().SelectStr(query)
case model.DATABASE_DRIVER_SQLITE:
// SQLite doesn't support altering primary key
return true
}
if err != nil {
mlog.Critical("Failed to get current primary key", mlog.String("table", tableName), mlog.Err(err))
@@ -957,13 +913,6 @@ func (ss *SqlStore) createIndexIfNotExists(indexName string, tableName string, c
time.Sleep(time.Second)
os.Exit(ExitCreateIndexFullMySQL)
}
} else if ss.DriverName() == model.DATABASE_DRIVER_SQLITE {
_, err := ss.GetMaster().ExecNoTimeout("CREATE INDEX IF NOT EXISTS " + indexName + " ON " + tableName + " (" + strings.Join(columnNames, ", ") + ")")
if err != nil {
mlog.Critical("Failed to create index", mlog.Err(err))
time.Sleep(time.Second)
os.Exit(ExitCreateIndexSqlite)
}
} else {
mlog.Critical("Failed to create index because of missing driver")
time.Sleep(time.Second)
@@ -1009,13 +958,6 @@ func (ss *SqlStore) RemoveIndexIfExists(indexName string, tableName string) bool
time.Sleep(time.Second)
os.Exit(ExitRemoveIndexMySQL)
}
} else if ss.DriverName() == model.DATABASE_DRIVER_SQLITE {
_, err := ss.GetMaster().ExecNoTimeout("DROP INDEX IF EXISTS " + indexName)
if err != nil {
mlog.Critical("Failed to remove index", mlog.Err(err))
time.Sleep(time.Second)
os.Exit(ExitRemoveIndexSqlite)
}
} else {
mlog.Critical("Failed to create index because of missing driver")
time.Sleep(time.Second)