mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-22 11:06:02 +00:00
better display of server version
This commit is contained in:
@@ -65,7 +65,7 @@
|
|||||||
<div class="item flex" title={$serverVersion.version}>
|
<div class="item flex" title={$serverVersion.version}>
|
||||||
<FontIcon icon="icon version" />
|
<FontIcon icon="icon version" />
|
||||||
<div class="version ml-1">
|
<div class="version ml-1">
|
||||||
{$serverVersion.version}
|
{$serverVersion.versionText || $serverVersion.version}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@@ -178,7 +178,10 @@ const driver = {
|
|||||||
},
|
},
|
||||||
async getVersion(pool) {
|
async getVersion(pool) {
|
||||||
const status = await pool.__getDatabase().admin().serverInfo();
|
const status = await pool.__getDatabase().admin().serverInfo();
|
||||||
return status;
|
return {
|
||||||
|
...status,
|
||||||
|
versionText: `MongoDB ${status.version}`,
|
||||||
|
};
|
||||||
},
|
},
|
||||||
async listDatabases(pool) {
|
async listDatabases(pool) {
|
||||||
const res = await pool.__getDatabase().admin().listDatabases();
|
const res = await pool.__getDatabase().admin().listDatabases();
|
||||||
|
|||||||
@@ -11,6 +11,24 @@ const { tediousConnect, tediousQueryCore, tediousReadQuery, tediousStream } = re
|
|||||||
const { nativeConnect, nativeQueryCore, nativeReadQuery, nativeStream } = nativeDriver;
|
const { nativeConnect, nativeQueryCore, nativeReadQuery, nativeStream } = nativeDriver;
|
||||||
let msnodesqlv8;
|
let msnodesqlv8;
|
||||||
|
|
||||||
|
const versionQuery = `
|
||||||
|
SELECT
|
||||||
|
@@VERSION AS version,
|
||||||
|
SERVERPROPERTY ('productversion') as productVersion,
|
||||||
|
CASE
|
||||||
|
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '8%' THEN 'SQL Server 2000'
|
||||||
|
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '9%' THEN 'SQL Server 2005'
|
||||||
|
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '10.0%' THEN 'SQL Server 2008'
|
||||||
|
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '10.5%' THEN 'SQL Server 2008 R2'
|
||||||
|
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '11%' THEN 'SQL Server 2012'
|
||||||
|
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '12%' THEN 'SQL Server 2014'
|
||||||
|
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '13%' THEN 'SQL Server 2016'
|
||||||
|
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '14%' THEN 'SQL Server 2017'
|
||||||
|
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) like '15%' THEN 'SQL Server 2019'
|
||||||
|
ELSE 'Unknown'
|
||||||
|
END AS versionText
|
||||||
|
`;
|
||||||
|
|
||||||
const windowsAuthTypes = [
|
const windowsAuthTypes = [
|
||||||
{
|
{
|
||||||
title: 'Windows',
|
title: 'Windows',
|
||||||
@@ -79,18 +97,16 @@ const driver = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getVersion(pool) {
|
async getVersion(pool) {
|
||||||
const { version } = (await this.query(pool, 'SELECT @@VERSION AS version')).rows[0];
|
const res = (await this.query(pool, versionQuery)).rows[0];
|
||||||
|
|
||||||
const { productVersion } = (
|
if (res.productVersion) {
|
||||||
await this.query(pool, "SELECT SERVERPROPERTY ('productversion') as productVersion")
|
const splitted = res.productVersion.split('.');
|
||||||
).rows[0];
|
|
||||||
let productVersionNumber = 0;
|
|
||||||
if (productVersion) {
|
|
||||||
const splitted = productVersion.split('.');
|
|
||||||
const number = parseInt(splitted[0]) || 0;
|
const number = parseInt(splitted[0]) || 0;
|
||||||
productVersionNumber = number;
|
res.productVersionNumber = number;
|
||||||
|
} else {
|
||||||
|
res.productVersionNumber = 0;
|
||||||
}
|
}
|
||||||
return { version, productVersion, productVersionNumber };
|
return res;
|
||||||
},
|
},
|
||||||
async listDatabases(pool) {
|
async listDatabases(pool) {
|
||||||
const { rows } = await this.query(pool, 'SELECT name FROM sys.databases order by name');
|
const { rows } = await this.query(pool, 'SELECT name FROM sys.databases order by name');
|
||||||
|
|||||||
@@ -171,7 +171,10 @@ const driver = {
|
|||||||
async getVersion(connection) {
|
async getVersion(connection) {
|
||||||
const { rows } = await this.query(connection, "show variables like 'version'");
|
const { rows } = await this.query(connection, "show variables like 'version'");
|
||||||
const version = rows[0].Value;
|
const version = rows[0].Value;
|
||||||
return { version };
|
return {
|
||||||
|
version,
|
||||||
|
versionText: `MySQL ${version}`,
|
||||||
|
};
|
||||||
},
|
},
|
||||||
async listDatabases(connection) {
|
async listDatabases(connection) {
|
||||||
const { rows } = await this.query(connection, 'show databases');
|
const { rows } = await this.query(connection, 'show databases');
|
||||||
|
|||||||
@@ -141,7 +141,10 @@ const driver = {
|
|||||||
async getVersion(client) {
|
async getVersion(client) {
|
||||||
const { rows } = await this.query(client, 'SELECT version()');
|
const { rows } = await this.query(client, 'SELECT version()');
|
||||||
const { version } = rows[0];
|
const { version } = rows[0];
|
||||||
return { version };
|
return {
|
||||||
|
version,
|
||||||
|
versionText: (version || '').replace(/\s*\(.*$/, ''),
|
||||||
|
};
|
||||||
},
|
},
|
||||||
// async analyseFull(pool) {
|
// async analyseFull(pool) {
|
||||||
// const analyser = new PostgreAnalyser(pool, this);
|
// const analyser = new PostgreAnalyser(pool, this);
|
||||||
|
|||||||
Reference in New Issue
Block a user