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.
