mirror of
https://github.com/dbgate/dbgate
synced 2024-11-23 08:51:02 +00:00
OBJECT_ID_CONDITION
This commit is contained in:
parent
032eaf9eb0
commit
4a4c4b41c0
@ -45,20 +45,20 @@ class Analyser extends DatabaseAnalyser {
|
|||||||
if (this.singleObjectFilter) {
|
if (this.singleObjectFilter) {
|
||||||
const { typeField, pureName } = this.singleObjectFilter;
|
const { typeField, pureName } = this.singleObjectFilter;
|
||||||
if (!typeFields || !typeFields.includes(typeField)) return null;
|
if (!typeFields || !typeFields.includes(typeField)) return null;
|
||||||
res = res.replace('=[OBJECT_NAME_CONDITION]', ` = '${pureName}'`).replace('#DATABASE#', this.pool._database_name);
|
res = res.replace('=[OBJECT_ID_CONDITION]', ` = '${pureName}'`).replace('#DATABASE#', this.pool._database_name);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
if (!this.modifications || !typeFields || this.modifications.length == 0) {
|
if (!this.modifications || !typeFields || this.modifications.length == 0) {
|
||||||
res = res.replace('=[OBJECT_NAME_CONDITION]', ' is not null');
|
res = res.replace('=[OBJECT_ID_CONDITION]', ' is not null');
|
||||||
} else {
|
} else {
|
||||||
const filterNames = this.modifications
|
const filterNames = this.modifications
|
||||||
.filter(x => typeFields.includes(x.objectTypeField) && (x.action == 'add' || x.action == 'change'))
|
.filter(x => typeFields.includes(x.objectTypeField) && (x.action == 'add' || x.action == 'change'))
|
||||||
.map(x => x.newName && x.newName.pureName)
|
.map(x => x.newName && x.newName.pureName)
|
||||||
.filter(Boolean);
|
.filter(Boolean);
|
||||||
if (filterNames.length == 0) {
|
if (filterNames.length == 0) {
|
||||||
res = res.replace('=[OBJECT_NAME_CONDITION]', ' IS NULL');
|
res = res.replace('=[OBJECT_ID_CONDITION]', ' IS NULL');
|
||||||
} else {
|
} else {
|
||||||
res = res.replace('=[OBJECT_NAME_CONDITION]', ` in (${filterNames.map(x => `'${x}'`).join(',')})`);
|
res = res.replace('=[OBJECT_ID_CONDITION]', ` in (${filterNames.map(x => `'${x}'`).join(',')})`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
res = res.replace('#DATABASE#', this.pool._database_name);
|
res = res.replace('#DATABASE#', this.pool._database_name);
|
||||||
|
@ -10,6 +10,6 @@ select
|
|||||||
COLUMN_DEFAULT as defaultValue,
|
COLUMN_DEFAULT as defaultValue,
|
||||||
EXTRA as extra
|
EXTRA as extra
|
||||||
from INFORMATION_SCHEMA.COLUMNS
|
from INFORMATION_SCHEMA.COLUMNS
|
||||||
where TABLE_SCHEMA = '#DATABASE#' and TABLE_NAME =[OBJECT_NAME_CONDITION]
|
where TABLE_SCHEMA = '#DATABASE#' and TABLE_NAME =[OBJECT_ID_CONDITION]
|
||||||
order by ORDINAL_POSITION
|
order by ORDINAL_POSITION
|
||||||
`;
|
`;
|
||||||
|
@ -12,6 +12,6 @@ inner join INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
|||||||
on REFERENTIAL_CONSTRAINTS.TABLE_NAME = KEY_COLUMN_USAGE.TABLE_NAME
|
on REFERENTIAL_CONSTRAINTS.TABLE_NAME = KEY_COLUMN_USAGE.TABLE_NAME
|
||||||
and REFERENTIAL_CONSTRAINTS.CONSTRAINT_NAME = KEY_COLUMN_USAGE.CONSTRAINT_NAME
|
and REFERENTIAL_CONSTRAINTS.CONSTRAINT_NAME = KEY_COLUMN_USAGE.CONSTRAINT_NAME
|
||||||
and REFERENTIAL_CONSTRAINTS.CONSTRAINT_SCHEMA = KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA
|
and REFERENTIAL_CONSTRAINTS.CONSTRAINT_SCHEMA = KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA
|
||||||
where REFERENTIAL_CONSTRAINTS.CONSTRAINT_SCHEMA = '#DATABASE#' and REFERENTIAL_CONSTRAINTS.TABLE_NAME =[OBJECT_NAME_CONDITION]
|
where REFERENTIAL_CONSTRAINTS.CONSTRAINT_SCHEMA = '#DATABASE#' and REFERENTIAL_CONSTRAINTS.TABLE_NAME =[OBJECT_ID_CONDITION]
|
||||||
order by KEY_COLUMN_USAGE.ORDINAL_POSITION
|
order by KEY_COLUMN_USAGE.ORDINAL_POSITION
|
||||||
`;
|
`;
|
||||||
|
@ -7,6 +7,6 @@ inner join INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
|||||||
on TABLE_CONSTRAINTS.TABLE_NAME = KEY_COLUMN_USAGE.TABLE_NAME
|
on TABLE_CONSTRAINTS.TABLE_NAME = KEY_COLUMN_USAGE.TABLE_NAME
|
||||||
and TABLE_CONSTRAINTS.CONSTRAINT_NAME = KEY_COLUMN_USAGE.CONSTRAINT_NAME
|
and TABLE_CONSTRAINTS.CONSTRAINT_NAME = KEY_COLUMN_USAGE.CONSTRAINT_NAME
|
||||||
and TABLE_CONSTRAINTS.CONSTRAINT_SCHEMA = KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA
|
and TABLE_CONSTRAINTS.CONSTRAINT_SCHEMA = KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA
|
||||||
where TABLE_CONSTRAINTS.CONSTRAINT_SCHEMA = '#DATABASE#' and TABLE_CONSTRAINTS.TABLE_NAME =[OBJECT_NAME_CONDITION] AND TABLE_CONSTRAINTS.CONSTRAINT_TYPE = 'PRIMARY KEY'
|
where TABLE_CONSTRAINTS.CONSTRAINT_SCHEMA = '#DATABASE#' and TABLE_CONSTRAINTS.TABLE_NAME =[OBJECT_ID_CONDITION] AND TABLE_CONSTRAINTS.CONSTRAINT_TYPE = 'PRIMARY KEY'
|
||||||
order by KEY_COLUMN_USAGE.ORDINAL_POSITION
|
order by KEY_COLUMN_USAGE.ORDINAL_POSITION
|
||||||
`;
|
`;
|
||||||
|
@ -5,5 +5,5 @@ select
|
|||||||
COALESCE(LAST_ALTERED, CREATED) as modifyDate,
|
COALESCE(LAST_ALTERED, CREATED) as modifyDate,
|
||||||
ROUTINE_DEFINITION as createSql
|
ROUTINE_DEFINITION as createSql
|
||||||
from information_schema.routines
|
from information_schema.routines
|
||||||
where ROUTINE_SCHEMA = '#DATABASE#' and ROUTINE_NAME =[OBJECT_NAME_CONDITION]
|
where ROUTINE_SCHEMA = '#DATABASE#' and ROUTINE_NAME =[OBJECT_ID_CONDITION]
|
||||||
`;
|
`;
|
||||||
|
@ -3,5 +3,5 @@ select
|
|||||||
TABLE_NAME as pureName,
|
TABLE_NAME as pureName,
|
||||||
case when ENGINE='InnoDB' then CREATE_TIME else coalesce(UPDATE_TIME, CREATE_TIME) end as modifyDate
|
case when ENGINE='InnoDB' then CREATE_TIME else coalesce(UPDATE_TIME, CREATE_TIME) end as modifyDate
|
||||||
from information_schema.tables
|
from information_schema.tables
|
||||||
where TABLE_SCHEMA = '#DATABASE#' and TABLE_TYPE='BASE TABLE' and TABLE_NAME =[OBJECT_NAME_CONDITION];
|
where TABLE_SCHEMA = '#DATABASE#' and TABLE_TYPE='BASE TABLE' and TABLE_NAME =[OBJECT_ID_CONDITION];
|
||||||
`;
|
`;
|
||||||
|
@ -3,5 +3,5 @@ select
|
|||||||
TABLE_NAME as pureName,
|
TABLE_NAME as pureName,
|
||||||
coalesce(UPDATE_TIME, CREATE_TIME) as modifyDate
|
coalesce(UPDATE_TIME, CREATE_TIME) as modifyDate
|
||||||
from information_schema.tables
|
from information_schema.tables
|
||||||
where TABLE_SCHEMA = '#DATABASE#' and TABLE_NAME =[OBJECT_NAME_CONDITION] and TABLE_TYPE = 'VIEW';
|
where TABLE_SCHEMA = '#DATABASE#' and TABLE_NAME =[OBJECT_ID_CONDITION] and TABLE_TYPE = 'VIEW';
|
||||||
`;
|
`;
|
||||||
|
Loading…
Reference in New Issue
Block a user