fix KingbaseES version (#2335)

Reviewed-on: https://gitea.com/xorm/xorm/pulls/2335
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: zzdboy <28206697@qq.com>
Co-committed-by: zzdboy <28206697@qq.com>
(cherry picked from commit 3eda0f7805)
This commit is contained in:
zzdboy 2023-09-24 03:52:50 +00:00 committed by CyJaySong
parent c73fc585bb
commit 9dc48367c8
1 changed files with 17 additions and 1 deletions

View File

@ -822,6 +822,7 @@ func (db *postgres) Version(ctx context.Context, queryer core.Queryer) (*schemas
// Postgres: 9.5.22 on x86_64-pc-linux-gnu (Debian 9.5.22-1.pgdg90+1), compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit
// Postgres: PostgreSQL 15.3, compiled by Visual C++ build 1914, 64-bit
// KingbaseES V008R006C008B0014 on x64, compiled by Visual C++ build 1800, 64-bit
// CockroachDB CCL v19.2.4 (x86_64-unknown-linux-gnu, built
if strings.HasPrefix(version, "CockroachDB") {
versions := strings.Split(strings.TrimPrefix(version, "CockroachDB CCL "), " ")
@ -845,7 +846,22 @@ func (db *postgres) Version(ctx context.Context, queryer core.Queryer) (*schemas
Edition: "PostgreSQL",
}, nil
}
} else if strings.HasPrefix(version, "KingbaseES") {
if strings.Contains(version, " on ") {
versions := strings.Split(strings.TrimPrefix(version, "KingbaseES "), " on ")
return &schemas.Version{
Number: versions[0],
Level: versions[1],
Edition: "KingbaseES",
}, nil
} else {
versions := strings.Split(strings.TrimPrefix(version, "KingbaseES "), ",")
return &schemas.Version{
Number: versions[0],
Level: versions[1],
Edition: "KingbaseES",
}, nil
}
}
return nil, errors.New("unknow database version")