some tests fixed

This commit is contained in:
Jan Prochazka
2024-12-20 10:23:49 +01:00
parent 0edc7f077f
commit 51929d7ef7
4 changed files with 17 additions and 15 deletions

View File

@@ -161,7 +161,8 @@ describe('Object analyse', () => {
// test trigger createSql
if (triggerOtherCreateSql) await runCommandOnDriver(conn, driver, triggerOtherCreateSql);
await runCommandOnDriver(conn, driver, createdTrigger.createSql);
await driver.script(conn, createdTrigger.createSql);
const structure2 = await driver.analyseFull(conn);
const createdTrigger2 = structure2[objectTypeField].find(x => x.pureName == expected.pureName);
expect(createdTrigger2).toEqual(expect.objectContaining(expected));

View File

@@ -245,9 +245,8 @@ class Analyser extends DatabaseAnalyser {
pureName: row.triggerName,
eventType: row.eventType,
triggerTiming: row.triggerTiming,
schemaName: row.schemaName,
tableName: row.tableName,
createSql: row.definition,
createSql: `CREATE TRIGGER ${row.triggerName} ${row.triggerTiming} ${row.eventType} ON ${row.tableName} FOR EACH ROW ${row.definition}` ,
})),
};
this.feedback({ analysingMessage: null });

View File

@@ -213,13 +213,15 @@ class Analyser extends DatabaseAnalyser {
parameters: routineToParams[func.pure_name],
})),
triggers: triggers.rows.map(row => ({
pureName: row.TRIGGER_NAME,
trigerName: row.TRIGGER_NAME,
definition: row.DEFINITION,
tableName: row.TABLE_NAME,
triggerLevel: row.TRIGGER_LEVEL,
triggerTiming: row.TRIGGER_TIMING,
eventType: row.EVENT_TYPE,
pureName: row.trigger_name,
createSql: `SET SQLTERMINATOR "/"\nCREATE TRIGGER "${row.trigger_name}" ${
row.trigger_timing.includes('BEFORE') ? 'BEFORE' : 'AFTER'
} ${row.event_type} ON "${row.table_name}" FOR EACH ROW ${row.definition} \n/\n`,
// createSql: `SET SQLTERMINATOR "/"\n${row.definition}\n/\n`,
tableName: row.table_name,
triggerLevel: row.trigger_level,
triggerTiming: row.trigger_timing,
eventType: row.event_type,
})),
};

View File

@@ -1,10 +1,10 @@
module.exports = `
SELECT
TRIGGER_TYPE AS trigger_timing,
TRIGGERING_EVENT AS event_type,
TRIGGER_BODY AS definition,
TRIGGER_NAME AS trigger_name,
TABLE_NAME AS table_name,
TRIGGER_TYPE AS "trigger_timing",
TRIGGERING_EVENT AS "event_type",
TRIGGER_BODY AS "definition",
TRIGGER_NAME AS "trigger_name",
TABLE_NAME AS "table_name",
OWNER,
CASE
WHEN INSTR(TRIGGER_TYPE, 'ROW') > 0 THEN 'ROW'