Project

General

Profile

Feature #1658

improve database trigger support

Added by Eric Faulhaber over 11 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Start date:
06/19/2013
Due date:
07/01/2013
% Done:

100%

Estimated time:
(Total: 326.00 h)
billable:
No
vendor_id:
GCD

Subtasks

Feature #1949: add conversion support for database triggersClosedStanislav Lomany

Feature #2024: implement runtime support for database triggersClosedOvidiu Maxiniuc

History

#1 Updated by Eric Faulhaber over 11 years ago

  • runtime support for TRIGGER PROCEDURE (DELETE, WRITE, CREATE), DISABLE TRIGGERS, ON FIND OF table;
  • need report changes to check if there are other ON statement cases in customer code, but it is likely that other ON statement usage is at least small in nature (and it would only be for DELETE, WRITE or CREATE, so the functionality must already be there);
  • there will need to be work on the conversion side to emit procedures/trigger blocks (for ON statement) and register them.

#2 Updated by Greg Shah over 11 years ago

  • Target version set to Milestone 7

#3 Updated by Stanislav Lomany about 11 years ago

What needs to be done:

1. Allow registration for WRITE and FIND schema triggers.
2. Fire WRITE and FIND triggers at proper places.
3. Handle triggers as arbitrary classes or DatabaseTrigger instances instead of classes that implement AssignTrigger/DeleteTrigger/etc. interface.
4. Implement execution of session and schema triggers (i.e. call TriggerClass.create/write/etc.).
5. Implement scoped registerDatabaseTrigger (with optional OVERRIDE) and deregisterDatabaseTrigger.
6. Make sure that triggers are properly handled as top level blocks.
7. Implement scoped disable*Triggers.

#4 Updated by Stanislav Lomany about 11 years ago

My estimates:

1. 3 h - Allow registration for WRITE and FIND schema triggers.
2. 16 h, need to find these proper places and check all cases - Fire WRITE and FIND triggers at proper places.
3. 6 h - Handle triggers as arbitrary classes or DatabaseTrigger instances instead of classes that implement AssignTrigger/DeleteTrigger/etc. interface.
4. 6 h - Implement execution of session and schema triggers (i.e. call TriggerClass.create/write/etc.).
5. 16 h - Implement scoped registerDatabaseTrigger (with optional OVERRIDE) and deregisterDatabaseTrigger.
6. If everything is works as expected - 4 h - Make sure that triggers are properly handled as top level blocks.
7. 6 h - Implement scoped disable*Triggers.

#5 Updated by Eric Faulhaber over 10 years ago

  • Status changed from New to Closed

#6 Updated by Greg Shah over 7 years ago

  • Target version changed from Milestone 7 to Runtime Support for Server Features

Also available in: Atom PDF