Hi Thomas,

On 17/07/2013 12:35 PM, Thomas Mueller wrote:
Hi,

Hm, it's interesting, but I'm not quite sure if the change is worth it. What are the pain points?

> ability to clean up resources when a trigger is dropped (not just when the database is closed)

There are already method Trigger.remove() and Trigger.close(). Your interface only has close(). So it's actually one step back from what we have now?

Hi Thomas,

I am under the impression that it doesn't matter whether a Trigger's resources get cleaned up due to the Trigger being dropped or the database being closed. Do you have a use-case that counters that?


>Simplified init() method

Well, in a way you added complexity by adding a class. But I see your point, having 6 parameters isn't all that great. But this change alone isn't worth the trouble I think. Changing the API needs to have a real, big benefit.

Today you have 6 parameters. Tomorrow you will have 12. This approach makes it easier to evolve the API in the future. This isn't an argument in favor of the new interface, it's just icing on the cake.


>Performance benefit for triggers that process multiple rows

Sorry what is the performance benefit? Also, do you have a benchmark?

I am referring to the fact that currently if I want to process N rows, you need to create N * PreparedStatements (one per row inside fire()) as opposed to once at the beginning of the transaction. You are right that this needs to be benchmarked.


> Ability to detect when triggers are fired by SELECT or ROLLBACK

Well, what would you pass when rolling back an update in the fire method: UPDATE or ROLLBACK? In fact both should be passed...

In the case you described (update followed by a rollback) the trigger would fire() once for UPDATE and once for ROLLBACK. There is also the conceptual benefit of the API explicitly stating the StatementType as opposed to having users reverse-engineer it from other parameters.

Gili

--
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to