From 91323e465feff2408f4232167e87b292812c5460 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 10 Jul 2020 20:56:21 +0800 Subject: [PATCH] parse version --- dialects/mssql.go | 6 ++++++ dialects/mysql.go | 3 +++ dialects/postgres.go | 10 ++++++++++ 3 files changed, 19 insertions(+) diff --git a/dialects/mssql.go b/dialects/mssql.go index ae77910f..40822c3a 100644 --- a/dialects/mssql.go +++ b/dialects/mssql.go @@ -268,6 +268,12 @@ func (db *mssql) Version(ctx context.Context, queryer core.Queryer) (string, err if err := rows.Scan(&version); err != nil { return "", err } + + // MSSQL: Microsoft SQL Server 2017 (RTM-CU13) (KB4466404) - 14.0.3048.4 (X64) Nov 30 2018 12:57:58 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 16.04.5 LTS) + + + +CockroachDB: CockroachDB CCL v19.2.4 (x86_64-unknown-linux-gnu, built return version, nil } diff --git a/dialects/mysql.go b/dialects/mysql.go index 3e786de7..e8b845fa 100644 --- a/dialects/mysql.go +++ b/dialects/mysql.go @@ -203,6 +203,9 @@ func (db *mysql) Version(ctx context.Context, queryer core.Queryer) (string, err if err := rows.Scan(&version); err != nil { return "", err } + + // TiDB: 5.7.25-TiDB-v3.0.3 + return version, nil } diff --git a/dialects/postgres.go b/dialects/postgres.go index 83e49c19..44a043ca 100644 --- a/dialects/postgres.go +++ b/dialects/postgres.go @@ -803,6 +803,16 @@ func (db *postgres) Version(ctx context.Context, queryer core.Queryer) (string, if err := rows.Scan(&version); err != nil { return "", err } + + // Postgress: 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 + // CockroachDB CCL v19.2.4 (x86_64-unknown-linux-gnu, built + if strings.HasPrefix(version, "CockroachDB") { + + } else { + versions := strings.Split(version, " ") + version = versions[0] + } + return version, nil }