If MVCC is enabled, changing the lock mode (LOCK_MODE) has no effect.
 See also http://h2database.com/html/advanced.html#mvcc for details

在 2013年11月28日星期四UTC+8上午4时01分01秒,Gili写道:
>
>  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]<javascript:>
>> > 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]<javascript:>
>>> > 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]<javascript:>
>>>>> > 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] <javascript:>.
>>>>>> To post to this group, send email to 
>>>>>> [email protected]<javascript:>
>>>>>> .
>>>>>> 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] <javascript:>.
>>>>> To post to this group, send email to 
>>>>> [email protected]<javascript:>
>>>>> .
>>>>> 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] <javascript:>.
>>>> To post to this group, send email to [email protected]<javascript:>
>>>> .
>>>> 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] <javascript:>.
>>> To post to this group, send email to [email protected]<javascript:>
>>> .
>>> 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] <javascript:>.
>>> To post to this group, send email to [email protected]<javascript:>
>>> .
>>> 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] <javascript:>.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> 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] <javascript:>.
> To post to this group, send email to [email protected]<javascript:>
> .
> 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] <javascript:>.
> To post to this group, send email to [email protected]<javascript:>
> .
> 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