No, sorry you should do retry yourself.

On Fri, Jan 3, 2014 at 4:09 PM, Leng Sheng Hong <darkr...@gmail.com> wrote:

> Oh, that's great, thanks for the explaination.
>
> is there any API in the java library that supports retries for save() (of
> a certain exception eg. ConcurrentModificationException)? something like
> this will be handle but i guess you will need to query back the same
> document before retrying the save.
>
> https://developers.google.com/appengine/docs/java/datastore/transactions#Java_Uses_for_transactions
>
> Will be useful if that's in the default orientdb library
>
> On Friday, 3 January 2014 22:02:33 UTC+8, Andrey Lomakin wrote:
>
>> All document changes are atomic.
>>
>> So if you save single document , changes either applied or not, you do
>> not need transaction for this kind of behavior.
>> It does not matter whether you use SQL or Java.
>>
>> You provided example with  INCREMENT so I thought that may be you want to
>> increment field without throwing CME, by simple addition of value to latest
>> field value.
>> And if you catch ConcurentModificationException you should reload record
>> and try again.
>>
>>
>>
>> On Fri, Jan 3, 2014 at 2:30 PM, Leng Sheng Hong <dark...@gmail.com>wrote:
>>
>>> Does it mean that if I save() something without callInRecordLock (but i
>>> am using plocal).
>>> I will have to do it in a transaction?
>>> If i am saving 2 fields, using
>>> doc.fields("title", "texthere");
>>> doc.fields("quantity", doc.fields("quantity") + 100 )  //atomic
>>> doc.save()
>>>
>>> I think it should be done in a transaction if concurrent modification
>>> exception occured, i will have to reload the document and try saving again?
>>>
>>> Is that the same behaviour to
>>> Update MyTable INCREMENT quantity = 100, set title = "texthere" where
>>> @rid = #21:1
>>>
>>>
>>> On Friday, 3 January 2014 20:14:29 UTC+8, Andrey Lomakin wrote:
>>>
>>>> Hi,
>>>> What do you mean when write about atomic ? increment without
>>>> concurrent modification exception ?
>>>> If you use embedded storage you can lock records on storage level , and
>>>> then release them.
>>>>
>>>> You may use com.orientechnologies.orient.core.storage.OStorage#
>>>> callInRecordLock but please use it with care, to avoid deadlocks.
>>>>
>>>>
>>>>
>>>>
>>>>  On Fri, Jan 3, 2014 at 12:48 PM, Leng Sheng Hong <dark...@gmail.com>wrote:
>>>>
>>>>> How do you do a SQL like this in Java api for a document base DB?
>>>>> Update MyTable INCREMENT quantity = 100 where @rid = #21:1
>>>>>
>>>>> I doubt setting fields and save() is actually atomic?
>>>>> doc.fields("quantity", doc.fields("quantity") + 100 )
>>>>> doc.save()
>>>>>
>>>>>  --
>>>>>
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "OrientDB" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to orient-databa...@googlegroups.com.
>>>>>
>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Best regards,
>>>> Andrey Lomakin.
>>>>
>>>> Orient Technologies
>>>> the Company behind OrientDB
>>>>
>>>>   --
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "OrientDB" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to orient-databa...@googlegroups.com.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>
>>
>> --
>> Best regards,
>> Andrey Lomakin.
>>
>> Orient Technologies
>> the Company behind OrientDB
>>
>>   --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "OrientDB" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to orient-database+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Best regards,
Andrey Lomakin.

Orient Technologies
the Company behind OrientDB

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to orient-database+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to