Hi Thomas,

Thanks for the clarification.

What happens when MVCC is on and a user sets the transaction isolation to something other than read committed?

Thanks,
Gili

On 27/11/2013 2:22 PM, Thomas Mueller wrote:

Hi,

When MVCC is disabled, see http://h2database.com/html/advanced.html#transaction_isolation

When MVCC is enabled, then H2 behaves in the same way as with read committed. At least currently. In the future this may change. See also http://h2database.com/html/advanced.html#mvcc for details

Regards,
Thomas

Thomas,

I just want to make sure that you don't lose track of this question (since you replied to a follow-up discussion): what is the difference between SERIALIZABLE isolation when MVCC is on or off?

Thanks,
Gili

On Sunday, November 24, 2013 10:50:18 AM UTC-5, Gili 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
    
<http://www.google.com/url?q=http%3A%2F%2Fblogs.msdn.com%2Fb%2Fcraigfr%2Farchive%2F2007%2F05%2F16%2Fserializable-vs-snapshot-isolation-level.aspx&sa=D&sntz=1&usg=AFQjCNHL8riZ1UQ_8q-_ir8sxbV5VX7_XQ>

    Regards,
    Thomas




    On Sun, Nov 24, 2013 at 1:10 PM, cowwoc <[email protected]
    <mailto:[email protected]>> 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
        <[email protected] <mailto:[email protected]>>
        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
                
<http://www.google.com/url?q=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSerializable_Snapshot_Isolation%23Serializable_Snapshot_Isolation&sa=D&sntz=1&usg=AFQjCNExhEdVr75dgDxP5G40R7fHvGul7A>
 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
                <[email protected]
                <mailto:[email protected]>> wrote:

                    Hi,

                    Looking at
                    http://www.h2database.com/html/advanced.html#mvcc
                    
<http://www.google.com/url?q=http%3A%2F%2Fwww.h2database.com%2Fhtml%2Fadvanced.html%23mvcc&sa=D&sntz=1&usg=AFQjCNEZaGOPQsTGn9GcPhWhhmbHy_80kw>,

                     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
                    [email protected]
                    <mailto:h2-database%[email protected]>.
                    To post to this group, send email to
                    [email protected]
                    <mailto:[email protected]>.
                    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
                [email protected]
                <mailto:[email protected]>.
                To post to this group, send email to
                [email protected]
                <mailto:[email protected]>.
                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
            [email protected]
            <mailto:h2-database%[email protected]>.
            To post to this group, send email to
            [email protected]
            <mailto:[email protected]>.
            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 [email protected]
        <mailto:[email protected]>.
        To post to this group, send email to
        [email protected]
        <mailto:[email protected]>.
        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 [email protected]
        <mailto:h2-database%[email protected]>.
        To post to this group, send email to
        [email protected]
        <mailto:[email protected]>.
        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 [email protected]
    <mailto:[email protected]>.
    To post to this group, send email to [email protected]
    <mailto:[email protected]>.
    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 [email protected] <mailto:h2-database%[email protected]>. To post to this group, send email to [email protected] <mailto:[email protected]>.
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 [email protected].
To post to this group, send email to [email protected].
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 [email protected].
To post to this group, send email to [email protected].
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