mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-28 04:56:00 +00:00
fix: update parameter group keys
This commit is contained in:
1
packages/types/dbinfo.d.ts
vendored
1
packages/types/dbinfo.d.ts
vendored
@@ -121,7 +121,6 @@ export interface ViewInfo extends SqlObjectInfo {
|
|||||||
export type ParameterMode = 'IN' | 'OUT' | 'INOUT' | 'RETURN';
|
export type ParameterMode = 'IN' | 'OUT' | 'INOUT' | 'RETURN';
|
||||||
|
|
||||||
export interface ParameterInfo {
|
export interface ParameterInfo {
|
||||||
objectId?: string | number;
|
|
||||||
schemaName: string;
|
schemaName: string;
|
||||||
parameterName?: string;
|
parameterName?: string;
|
||||||
pureName: string;
|
pureName: string;
|
||||||
|
|||||||
@@ -130,17 +130,17 @@ class Analyser extends DatabaseAnalyser {
|
|||||||
|
|
||||||
const functionParameters = parameters.rows.filter(x => x.routineType == 'FUNCTION');
|
const functionParameters = parameters.rows.filter(x => x.routineType == 'FUNCTION');
|
||||||
const functionNameToParameters = functionParameters.reduce((acc, row) => {
|
const functionNameToParameters = functionParameters.reduce((acc, row) => {
|
||||||
if (!acc[row.pureName]) acc[row.pureName] = [];
|
if (!acc[`${row.schemaName}.${row.pureName}`]) acc[`${row.schemaName}.${row.pureName}`] = [];
|
||||||
|
|
||||||
acc[row.pureName].push(row);
|
acc[`${row.schemaName}.${row.pureName}`].push(row);
|
||||||
return acc;
|
return acc;
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
const procedureParameters = parameters.rows.filter(x => x.routineType == 'PROCEDURE');
|
const procedureParameters = parameters.rows.filter(x => x.routineType == 'PROCEDURE');
|
||||||
const procedureNameToParameters = procedureParameters.reduce((acc, row) => {
|
const procedureNameToParameters = procedureParameters.reduce((acc, row) => {
|
||||||
if (!acc[row.pureName]) acc[row.pureName] = [];
|
if (!acc[`${row.schemaName}.${row.pureName}`]) acc[`${row.schemaName}.${row.pureName}`] = [];
|
||||||
|
|
||||||
acc[row.pureName].push(row);
|
acc[`${row.schemaName}.${row.pureName}`].push(row);
|
||||||
return acc;
|
return acc;
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
@@ -205,11 +205,11 @@ class Analyser extends DatabaseAnalyser {
|
|||||||
.map(x => ({
|
.map(x => ({
|
||||||
...x,
|
...x,
|
||||||
createSql: `DELIMITER //\n\nCREATE PROCEDURE \`${x.pureName}\`(${getParametersSqlString(
|
createSql: `DELIMITER //\n\nCREATE PROCEDURE \`${x.pureName}\`(${getParametersSqlString(
|
||||||
procedureNameToParameters[x.pureName]
|
procedureNameToParameters[`${x.schemaName}.${x.pureName}`]
|
||||||
)})\n${x.routineDefinition}\n\nDELIMITER ;\n`,
|
)})\n${x.routineDefinition}\n\nDELIMITER ;\n`,
|
||||||
objectId: x.pureName,
|
objectId: x.pureName,
|
||||||
contentHash: _.isDate(x.modifyDate) ? x.modifyDate.toISOString() : x.modifyDate,
|
contentHash: _.isDate(x.modifyDate) ? x.modifyDate.toISOString() : x.modifyDate,
|
||||||
parameters: procedureNameToParameters[x.pureName],
|
parameters: procedureNameToParameters[`${x.schemaName}.${x.pureName}`],
|
||||||
})),
|
})),
|
||||||
functions: programmables.rows
|
functions: programmables.rows
|
||||||
.filter(x => x.objectType == 'FUNCTION')
|
.filter(x => x.objectType == 'FUNCTION')
|
||||||
@@ -217,13 +217,13 @@ class Analyser extends DatabaseAnalyser {
|
|||||||
.map(x => ({
|
.map(x => ({
|
||||||
...x,
|
...x,
|
||||||
createSql: `CREATE FUNCTION \`${x.pureName}\`(${getParametersSqlString(
|
createSql: `CREATE FUNCTION \`${x.pureName}\`(${getParametersSqlString(
|
||||||
functionNameToParameters[x.pureName].filter(i => i.parameterMode !== 'RETURN')
|
functionNameToParameters[`${x.schemaName}.${x.pureName}`].filter(i => i.parameterMode !== 'RETURN')
|
||||||
)})\nRETURNS ${x.returnDataType} ${x.isDeterministic == 'YES' ? 'DETERMINISTIC' : 'NOT DETERMINISTIC'}\n${
|
)})\nRETURNS ${x.returnDataType} ${x.isDeterministic == 'YES' ? 'DETERMINISTIC' : 'NOT DETERMINISTIC'}\n${
|
||||||
x.routineDefinition
|
x.routineDefinition
|
||||||
}`,
|
}`,
|
||||||
objectId: x.pureName,
|
objectId: x.pureName,
|
||||||
contentHash: _.isDate(x.modifyDate) ? x.modifyDate.toISOString() : x.modifyDate,
|
contentHash: _.isDate(x.modifyDate) ? x.modifyDate.toISOString() : x.modifyDate,
|
||||||
parameters: functionNameToParameters[x.pureName],
|
parameters: functionNameToParameters[`${x.schemaName}.${x.pureName}`],
|
||||||
})),
|
})),
|
||||||
};
|
};
|
||||||
this.feedback({ analysingMessage: null });
|
this.feedback({ analysingMessage: null });
|
||||||
|
|||||||
@@ -209,7 +209,6 @@ class Analyser extends DatabaseAnalyser {
|
|||||||
const procedureParameters = routineParametersRows.rows
|
const procedureParameters = routineParametersRows.rows
|
||||||
.filter(i => i.routine_type == 'PROCEDURE')
|
.filter(i => i.routine_type == 'PROCEDURE')
|
||||||
.map(i => ({
|
.map(i => ({
|
||||||
objectId: 'procedures:' + i.specific_schema + '.' + i.routine_name + '@' + i.pure_name,
|
|
||||||
pureName: i.pure_name,
|
pureName: i.pure_name,
|
||||||
parameterName: i.parameter_name,
|
parameterName: i.parameter_name,
|
||||||
dataType: i.data_type,
|
dataType: i.data_type,
|
||||||
@@ -218,8 +217,8 @@ class Analyser extends DatabaseAnalyser {
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
const procedureNameToParameters = procedureParameters.reduce((acc, row) => {
|
const procedureNameToParameters = procedureParameters.reduce((acc, row) => {
|
||||||
if (!acc[row.pureName]) acc[row.pureName] = [];
|
if (!acc[`${row.schemaName}.${row.pureName}`]) acc[`${row.schemaName}.${row.pureName}`] = [];
|
||||||
acc[row.pureName].push(row);
|
acc[`${row.schemaName}.${row.pureName}`].push(row);
|
||||||
|
|
||||||
return acc;
|
return acc;
|
||||||
}, {});
|
}, {});
|
||||||
@@ -227,7 +226,6 @@ class Analyser extends DatabaseAnalyser {
|
|||||||
const functionParameters = routineParametersRows.rows
|
const functionParameters = routineParametersRows.rows
|
||||||
.filter(i => i.routine_type == 'FUNCTION')
|
.filter(i => i.routine_type == 'FUNCTION')
|
||||||
.map(i => ({
|
.map(i => ({
|
||||||
objectId: 'functions:' + i.specific_schema + '.' + i.routine_name + '@' + i.pure_name,
|
|
||||||
pureName: i.pure_name,
|
pureName: i.pure_name,
|
||||||
parameterName: i.parameter_name,
|
parameterName: i.parameter_name,
|
||||||
dataType: i.data_type,
|
dataType: i.data_type,
|
||||||
@@ -236,8 +234,8 @@ class Analyser extends DatabaseAnalyser {
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
const functionNameToParameters = functionParameters.reduce((acc, row) => {
|
const functionNameToParameters = functionParameters.reduce((acc, row) => {
|
||||||
if (!acc[row.pureName]) acc[row.pureName] = [];
|
if (!acc[`${row.schemaName}.${row.pureName}`]) acc[`${row.schemaName}.${row.pureName}`] = [];
|
||||||
acc[row.pureName].push(row);
|
acc[`${row.schemaName}.${row.pureName}`].push(row);
|
||||||
|
|
||||||
return acc;
|
return acc;
|
||||||
}, {});
|
}, {});
|
||||||
@@ -331,22 +329,22 @@ class Analyser extends DatabaseAnalyser {
|
|||||||
pureName: proc.pure_name,
|
pureName: proc.pure_name,
|
||||||
schemaName: proc.schema_name,
|
schemaName: proc.schema_name,
|
||||||
createSql: `CREATE PROCEDURE "${proc.schema_name}"."${proc.pure_name}"(${getParametersSqlString(
|
createSql: `CREATE PROCEDURE "${proc.schema_name}"."${proc.pure_name}"(${getParametersSqlString(
|
||||||
procedureNameToParameters[proc.pure_name]
|
procedureNameToParameters[`${proc.schema_name}.${proc.pure_name}`]
|
||||||
)}) LANGUAGE ${proc.language}\nAS\n$$\n${proc.definition}\n$$`,
|
)}) LANGUAGE ${proc.language}\nAS\n$$\n${proc.definition}\n$$`,
|
||||||
contentHash: proc.hash_code,
|
contentHash: proc.hash_code,
|
||||||
parameters: procedureNameToParameters[proc.pure_name],
|
parameters: procedureNameToParameters[`${proc.schema_name}.${proc.pure_name}`],
|
||||||
})),
|
})),
|
||||||
functions: routines.rows
|
functions: routines.rows
|
||||||
.filter(x => x.object_type == 'FUNCTION')
|
.filter(x => x.object_type == 'FUNCTION')
|
||||||
.map(func => ({
|
.map(func => ({
|
||||||
objectId: `functions:${func.schema_name}.${func.pure_name}`,
|
objectId: `functions:${func.schema_name}.${func.pure_name}`,
|
||||||
createSql: `CREATE FUNCTION "${func.schema_name}"."${func.pure_name}"(${getParametersSqlString(
|
createSql: `CREATE FUNCTION "${func.schema_name}"."${func.pure_name}"(${getParametersSqlString(
|
||||||
functionNameToParameters[func.pure_name]
|
functionNameToParameters[`${func.schema_name}.${func.pure_name}`]
|
||||||
)}) RETURNS ${func.data_type.toUpperCase()} LANGUAGE ${func.language}\nAS\n$$\n${func.definition}\n$$`,
|
)}) RETURNS ${func.data_type.toUpperCase()} LANGUAGE ${func.language}\nAS\n$$\n${func.definition}\n$$`,
|
||||||
pureName: func.pure_name,
|
pureName: func.pure_name,
|
||||||
schemaName: func.schema_name,
|
schemaName: func.schema_name,
|
||||||
contentHash: func.hash_code,
|
contentHash: func.hash_code,
|
||||||
parameters: functionNameToParameters[func.pure_name],
|
parameters: functionNameToParameters[`${func.schema_name}.${func.pure_name}`],
|
||||||
})),
|
})),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user