[MM-23882] Include database server version in telemetry (#14258)

* Add database server version to telemetry

Also added a new query in the store to retrieve the database version

* Add test for the GetDbVersion function

* More drivers in the tests

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Mario de Frutos Dieguez
2020-04-09 11:08:15 +02:00
коммит произвёл GitHub
родитель f6f025aeaa
Коммит 698b4b6934
8 изменённых файлов: 132 добавлений и 37 удалений

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

@@ -301,6 +301,27 @@ func (ss *SqlSupplier) GetCurrentSchemaVersion() string {
return version
}
func (ss *SqlSupplier) GetDbVersion() (string, error) {
var sqlVersion string
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
sqlVersion = `SHOW server_version`
} 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")
}
version, err := ss.GetReplica().SelectStr(sqlVersion)
if err != nil {
return "", err
}
return version, nil
}
func (ss *SqlSupplier) GetMaster() *gorp.DbMap {
return ss.master
}