feat: add firebird triggers

This commit is contained in:
Nybkox
2025-05-07 00:29:42 +02:00
parent 3e2840ca15
commit 3fd3de1828
4 changed files with 58 additions and 1 deletions

View File

@@ -49,6 +49,38 @@ function getDataTypeString(column) {
}
}
const eventMap = {
1: { triggerTiming: 'BEFORE', eventType: 'INSERT' },
2: { triggerTiming: 'AFTER', eventType: 'INSERT' },
3: { triggerTiming: 'BEFORE', eventType: 'UPDATE' },
4: { triggerTiming: 'AFTER', eventType: 'UPDATE' },
5: { triggerTiming: 'BEFORE', eventType: 'DELETE' },
6: { triggerTiming: 'AFTER', eventType: 'DELETE' },
17: { triggerTiming: 'BEFORE', eventType: 'INSERT' }, // OR UPDATE
18: { triggerTiming: 'AFTER', eventType: 'INSERT' }, // OR UPDATE
25: { triggerTiming: 'BEFORE', eventType: 'INSERT' }, // OR DELETE
26: { triggerTiming: 'AFTER', eventType: 'INSERT' }, // OR DELETE
27: { triggerTiming: 'BEFORE', eventType: 'UPDATE' }, // OR DELETE
28: { triggerTiming: 'AFTER', eventType: 'UPDATE' }, // OR DELETE
113: { triggerTiming: 'BEFORE', eventType: 'INSERT' }, // OR UPDATE OR DELETE
114: { triggerTiming: 'AFTER', eventType: 'INSERT' }, // OR UPDATE OR DELETE
8192: { triggerTiming: 'BEFORE EVENT', eventType: null }, // ON CONNECT
8193: { triggerTiming: 'AFTER EVENT', eventType: null }, // ON DISCONNECT
8194: { triggerTiming: 'BEFORE STATEMENT', eventType: null }, // ON TRANSACTION START
8195: { triggerTiming: 'AFTER STATEMENT', eventType: null }, // ON TRANSACTION COMMIT
8196: { triggerTiming: 'AFTER STATEMENT', eventType: null }, // ON TRANSACTION ROLLBACK
};
function getTriggerEventType(triggerType) {
return eventMap[triggerType]?.eventType || null;
}
function getTriggerTiming(triggerType) {
return eventMap[triggerType]?.triggerTiming || null;
}
module.exports = {
getDataTypeString,
getTriggerEventType,
getTriggerTiming,
};