Hi Thomas,

Thanks for the reply.

On 21/11/2013 6:43 AM, Thomas Mueller wrote:
>Does H2 implement Serializable Snapshot

Currently not, and I didn't plan to support it. In theory, it could be supported with the MVStore, but I don't currently think it's very important.

How does SERIALIZABLE isolation in MVCC mode compare to SERIALIZABLE_SNAPSHOT? Aren't they the same thing?

Thanks,
Gili


Regards,
Thomas



On Sat, Aug 24, 2013 at 8:10 PM, Gili <cow...@bbs.darktech.org <mailto:cow...@bbs.darktech.org>> wrote:

    Thomas,

    Can you please clarify how H2's implementation of MVCC interacts
    with Transaction Isolation?

     1. Is there a practical difference between READ_COMMITTED and
        REPEATABLE_READ in MVCC mode? Doesn't MVCC prevent
        READ_COMMITTED from seeing updates committed by other
        transactions (after the current transaction has already read
        the row once)? If so, aren't they identical?
     2. Same question for REPEATABLE_READ and SERIALIZABLE isolation
        in MVCC mode.
     3. Does H2 implement
        
http://en.wikipedia.org/wiki/Serializable_Snapshot_Isolation#Serializable_Snapshot_Isolation
 for
        MVCC? If not, do you plan on doing so in the future?

    Thank you,
    Gili


    On Sunday, June 23, 2013 11:23:16 AM UTC-4, Gili wrote:


            Thanks Thomas. So you're saying I can use other isolation
        modes with MVCC as I normally would?

        Gili

        On 23/06/2013 7:39 AM, Thomas Mueller wrote:
        Hi,

        H2 only supports row level locks when using the MVCC mode. By
        the way, the plan is that in the future (with the MVStore),
        the MVCC mode will be the default mode.

        Insert/delete operations don't wait for other operations that
        do not conflict. They wait for conflicting operations
        (changes on the same rows).

        > What happens in the following scenario?

        H2 uses "read committed" by default, so T1 will see the value
        from T2.

        Regards,
        Thomas




        On Thu, Jun 20, 2013 at 8:18 PM, Gili
        <cow...@bbs.darktech.org <mailto:cow...@bbs.darktech.org>> wrote:

            Hi,

            Looking at http://www.h2database.com/html/advanced.html#mvcc,

             1. Does H2 only support table locks or MVCC? Or is there
                a way to get row locks without MVCC?
             2. Using MVCC, do insert/delete operations wait until
                all open transactions complete?
             3. Does this imply that open transactions will never
                experience insert/delete rows by other threads in
                mid-transaction?
             4. What happens in the following scenario?

            Database contains a single row: count[value=1]
            T1: Open transaction
            T2: Open transaction
            T2: update count set value=2 where value=1
            T2: commit
            T1: select value from count

            Will T1 see a value of 1 or 2?

            Thanks,
            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
            <mailto:h2-database%2bunsubscr...@googlegroups.com>.
            To post to this group, send email to
            h2-database@googlegroups.com
            <mailto: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.



-- You received this message because you are subscribed to a
        topic in the Google Groups "H2 Database" group.
        To unsubscribe from this topic, visit
        https://groups.google.com/d/topic/h2-database/bGNuMpLr8IY/unsubscribe.
        To unsubscribe from this group and all its topics, send an
        email to h2-database+unsubscr...@googlegroups.com
        <mailto:h2-database+unsubscr...@googlegroups.com>.
        To post to this group, send email to
        h2-database@googlegroups.com
        <mailto: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.



-- 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
    <mailto:h2-database%2bunsubscr...@googlegroups.com>.
    To post to this group, send email to h2-database@googlegroups.com
    <mailto: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.


--
You received this message because you are subscribed to a topic in the Google Groups "H2 Database" group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/h2-database/bGNuMpLr8IY/unsubscribe. To unsubscribe from this group and all its topics, 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.

--
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