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 // test trigger createSql
if (triggerOtherCreateSql) await runCommandOnDriver(conn, driver, triggerOtherCreateSql); 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 structure2 = await driver.analyseFull(conn);
const createdTrigger2 = structure2[objectTypeField].find(x => x.pureName == expected.pureName); const createdTrigger2 = structure2[objectTypeField].find(x => x.pureName == expected.pureName);
expect(createdTrigger2).toEqual(expect.objectContaining(expected)); expect(createdTrigger2).toEqual(expect.objectContaining(expected));

View File

@@ -245,9 +245,8 @@ class Analyser extends DatabaseAnalyser {
pureName: row.triggerName, pureName: row.triggerName,
eventType: row.eventType, eventType: row.eventType,
triggerTiming: row.triggerTiming, triggerTiming: row.triggerTiming,
schemaName: row.schemaName,
tableName: row.tableName, 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 }); this.feedback({ analysingMessage: null });

View File

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

View File

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