This is interesting :)

Does MVCC even support different isolation modes?. I thought it was it's own isolation mode? The different isolation modes don't seem to make sense in an MVCC context?

Thanks, Ryan


On 24/11/2013 11:50 PM, cowwoc wrote:
Hi Thomas,

It was my understanding that SERIALIZABLE isolation in MVCC mode is supposed to behave like SERIALIZABLE_SNAPSHOT. At least, that's the case for Postgres. If SERIALIZABLE behaves the way you mention in MVCC mode, what is the difference if MVCC mode is on or off? It doesn't sound like there is a difference.

Gili

On 24/11/2013 7:49 AM, Thomas Mueller wrote:
Hi,

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

I can only refer to Google, which found this: http://blogs.msdn.com/b/craigfr/archive/2007/05/16/serializable-vs-snapshot-isolation-level.aspx

Regards,
Thomas




On Sun, Nov 24, 2013 at 1:10 PM, cowwoc <cow...@bbs.darktech.org <mailto:cow...@bbs.darktech.org>> wrote:

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

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