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.

Reply via email to