mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-18 09:05:59 +00:00
This commit is contained in:
@@ -36,8 +36,8 @@ function getColumnInfo({
|
||||
}
|
||||
|
||||
class Analyser extends DatabaseAnalyser {
|
||||
constructor(pool, driver) {
|
||||
super(pool, driver);
|
||||
constructor(pool, driver, version) {
|
||||
super(pool, driver, version);
|
||||
}
|
||||
|
||||
createQuery(resFileName, typeFields) {
|
||||
|
||||
@@ -133,10 +133,15 @@ const drivers = driverBases.map(driverBase => ({
|
||||
|
||||
const m = version.match(/([\d\.]+)/);
|
||||
let versionText = null;
|
||||
let versionMajor = null;
|
||||
let versionMinor = null;
|
||||
if (m) {
|
||||
if (isCockroach) versionText = `CockroachDB ${m[1]}`;
|
||||
if (isRedshift) versionText = `Redshift ${m[1]}`;
|
||||
if (isPostgres) versionText = `PostgreSQL ${m[1]}`;
|
||||
const numbers = m[1].split('.');
|
||||
if (numbers[0]) versionMajor = parseInt(numbers[0]);
|
||||
if (numbers[1]) versionMinor = parseInt(numbers[1]);
|
||||
}
|
||||
|
||||
return {
|
||||
@@ -145,6 +150,8 @@ const drivers = driverBases.map(driverBase => ({
|
||||
isPostgres,
|
||||
isCockroach,
|
||||
isRedshift,
|
||||
versionMajor,
|
||||
versionMinor,
|
||||
};
|
||||
},
|
||||
async readQuery(client, sql, structure) {
|
||||
|
||||
@@ -57,6 +57,20 @@ const postgresDriver = {
|
||||
...dialect,
|
||||
materializedViews: true,
|
||||
},
|
||||
|
||||
dialectByVersion(version) {
|
||||
if (version) {
|
||||
return {
|
||||
...dialect,
|
||||
materializedViews:
|
||||
version &&
|
||||
version.versionMajor != null &&
|
||||
version.versionMinor != null &&
|
||||
(version.versionMajor > 9 || version.versionMajor == 9 || version.versionMinor >= 3),
|
||||
};
|
||||
}
|
||||
return dialect;
|
||||
},
|
||||
};
|
||||
|
||||
/** @type {import('dbgate-types').EngineDriver} */
|
||||
|
||||
Reference in New Issue
Block a user