Actually, unless I am mistaken you are saving then querying within the 
*same* server-side function.  In this instance, it *should* work I think.

Will let the OrientDB guys comment.

On Monday, May 23, 2016 at 5:11:03 PM UTC+1, Jean-Sebastien Lemay wrote:
>
> I now realize that what I'm looking for is serializable isolation, which 
> OrientDB does not offer. I was not aware of that. OK, that means a lot of 
> problems for me. I thought I could achieve serializable level of isolation 
> if I put all my logic within server-side functions.
>
> Cheers,
> Jean
>
>
> On Monday, May 23, 2016 at 11:55:35 PM UTC+8, Jean-Sebastien Lemay wrote:
>>
>> Yes, I am using remote, and I need to figure out a way to be able to read 
>> my own modifications within the same transaction.
>>
>> How would I update my function to be able to access the data, including 
>> modifications and new entities, within the current transaction?
>>
>>
>> Cheers,
>> Jean
>>
>>
>> On Monday, May 23, 2016 at 11:33:45 PM UTC+8, l.garulli wrote:
>>>
>>> Are you connected with remote ? In this case the server-side function is 
>>> out of the transaction that is on the client only until the commit(). Could 
>>> it be the reason?
>>>
>>> Best Regards,
>>>
>>> Luca Garulli
>>> Founder & CEO
>>> OrientDB <http://orientdb.com/>
>>>
>>>
>>> On 23 May 2016 at 15:57, Jean-Sebastien Lemay <[email protected]> 
>>> wrote:
>>>
>>>> Hello,
>>>>
>>>> Yes, it works within the UI, but if you create a transaction with the 
>>>> Java API and execute the function it is unable to retrieve the record.
>>>>
>>>> See my Java code:
>>>> *OrientGraph db = test.graphFactory.getTx();*
>>>> *OIdentifiable[] retValue1 = (OIdentifiable[])db.getRawGraph()*
>>>> * .getMetadata()*
>>>> * .getFunctionLibrary()*
>>>> * .getFunction("testCreate")*
>>>> * .execute();*
>>>>
>>>> *for (OIdentifiable oId : retValue1) {*
>>>> * System.out.println(String.format(*
>>>> * "#%s:%s",*
>>>> * oId.getIdentity().getClusterId(),*
>>>> * oId.getIdentity().getClusterPosition()));*
>>>> *}   *
>>>>
>>>> *db.commit();*
>>>>
>>>> In the above example, my loop doesn't print anything, implying that my 
>>>> return array is empty. How come?
>>>>
>>>>
>>>>
>>>>
>>>> On Monday, May 23, 2016 at 9:41:32 PM UTC+8, [email protected] wrote:
>>>>>
>>>>> Hi Jean-Sebastien,
>>>>>
>>>>> I tried your script with version 2.2 and setting the language as 
>>>>> javascrpit it works fine for me:
>>>>>
>>>>>
>>>>> <https://lh3.googleusercontent.com/-kP6UT0t2epo/V0MIYJD3xzI/AAAAAAAAADQ/POikhaHzrz40xUQODiRC26YK_MvkCsKtQCLcB/s1600/script.png>
>>>>>
>>>>>
>>>>>
>>>>> <https://lh3.googleusercontent.com/-zIcSm3YdquU/V0MIb71d-II/AAAAAAAAADU/YX2AOSiiBcA-ndUO7kkyOe71T20i_lTUgCLcB/s1600/ok.png>
>>>>>
>>>>>
>>>>> Hope it helps.
>>>>>
>>>>>
>>>>> Regards,
>>>>>
>>>>> Michela
>>>>>
>>>>> -- 
>>>>
>>>> --- 
>>>> 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 [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>

-- 

--- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to