Hi

Sorry for the delay.

> Is there a practical difference between READ_COMMITTED and
REPEATABLE_READ in MVCC mode?

H2 only supports READ_COMMITTED currently, as documented in
http://h2database.com/html/advanced.html?highlight=Mvcc&search=MVCC#mvcc
"Connections
only 'see' committed data, and own changes. That means, if connection A
updates a row but doesn't commit this change yet, connection B will see the
old value. Only when the change is committed, the new value is visible by
other connections (read committed)".

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

Regards,
Thomas



On Sat, Aug 24, 2013 at 8:10 PM, Gili <[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
>  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]> 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 [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 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.
>

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