Hi,

> I am currently implementing an H2 'database dialect' for SymmetricDS
> (www.symmetricds.org).    I am trying to figure out the best way to
> access a 'transaction id' from an H2 trigger.  The following is the
> Java code I have come up with.  Does anybody have suggestions for
> improvements (or more likely can they poke holes in my approach)?
>
>    protected String getTransactionId(Connection c) {
>            JdbcConnection con = (JdbcConnection) c;
>            Session session = (Session) con.getSession();
>            return StringUtils.leftPad(Integer.toString(session.getId
> ()), 3, "0") + "-"
>                    + session.getFirstUncommittedLog() + "-" +
> session.getFirstUncommittedPos();
>    }

There is currently no good way to do that. How unique does the
transaction id need to be? I mean, is it a problem if the id starts
from 0 when you restart the application? Is there a sort requirements
(larger transaction ids means later)?

Your solution doesn't work for remote connections. I suggest I add a
SQL system function that returns the current transaction id. What is
your preferred function name?

Is a String good enough, or is a byte array better? How fast does it
need to be?

Regards,
Thomas

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to