Dear Robert,
I am just considering that there may be some logical mistakes for my rule rewriting strategy of MERGE actions.
In my current design, if we find that an action type, say UPDATE, is replaced by INSTEAD rules, we will remove all the actions of this type from the MERGE command, as if they are not be specified by user from the beginning. See the test example in my pages for this situation.
Now,I am thinking that maybe we should keep the replaced actions in action list, and just mark them to be "invalid". If one join tuple from the main plan fits the condition of this action, we will do nothing on it.
This strategy is a little bit different with the current one. If we delete an action, the tuples that meet it condition will be caught by other actions. If we keep it, the tuples that match it will be skipped.
I think the new design is more logical, and I wonder your opinion on this problem.
Yours Boxuan