Hi, It is in latest snapshot version.
On Mon, Apr 7, 2014 at 12:52 AM, Ivan Plaza <[email protected]> wrote: > Awesome! Is this available in 1.7 rc2? > > I'm getting the following error: > com.orientechnologies.orient.core.command.OCommandExecutorNotFoundException: > Cannot find a command executor for the command request: sql.begin > > > On Saturday, April 5, 2014 4:08:26 PM UTC-4, Pawel K. wrote: >> >> Guys, >> Do you see any reason why such sql batch, does NOT create bidirectional >> link? >> >> begin >> let var1 = INSERT INTO Address CONTENT {Town:"Wroclaw",Zip:0} >> let var2 = INSERT INTO University CONTENT {Name:"Pwr"} >> let var3 = UPDATE $var1 ADD in_EHasCorrespondenceAddress = $var2 RETURN >> AFTER >> let var3a = UPDATE $var2 ADD out_EHasCorrespondenceAddress = $var1 >> RETURN AFTER >> commit >> return 1 >> >> It produces 2 records, but second does NOT have the link. When I replace >> the ordering in the script always second created vertex has missed link. >> >> #18:0 v1 Address@Town:"Wroclaw",Zip:0,in_EHasCorrespondenceAddress:[#56:0 >> ] >> #56:0 v1 University@Name:"Pwr" >> >> Thanks in advance >> Pawel >> >> PS. I know that I can use CREATE EDGE in that case but for some reason Im >> using provided case. >> >> On Friday, April 4, 2014 4:19:36 PM UTC+2, Lvc@ wrote: >>> >>> Hi Stefano, >>> if you need a more complex language set "javascript" and use JS as >>> language allowing more complex thing: https://github.com/ >>> orientechnologies/orientdb/wiki/SQL-batch >>> >>> About rollback, if any exception occurs, the tx is automatically >>> rollbacked. >>> >>> Lvc@ >>> >>> >>> On 4 April 2014 16:02, Stefano Migliucci <[email protected]> wrote: >>> >>>> Hi, >>>> how is possible to use "rollback" command? >>>> Do we need something like IF, TRY/CATCH, etc? >>>> Can you post an example? >>>> >>>> Stefano >>>> >>>> Il giorno lunedì 31 marzo 2014 20:46:31 UTC+2, Lvc@ ha scritto: >>>> >>>>> Hi all, >>>>> OrientDB allowed to execute arbitrary script written in Javascript or >>>>> any scripting language installed in the JVM. Well, starting from now we >>>>> created a minimal SQL engine to allow batch of commands. >>>>> >>>>> Batch of commands are very useful when you have to execute multiple >>>>> things at the server side avoiding the network roundtrip for each command. >>>>> >>>>> Example to create a new vertex in a transaction and attach it to an >>>>> existent vertex by creating a new edge between them: >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> *beginlet account = create vertex Account set name = 'Luke'let city = >>>>> select from City where name = 'London'let edge = create edge Lives from >>>>> $account to $city retry 100 commitreturn $edge* >>>>> >>>>> It's plain OrientDB SQL, but with few news: >>>>> >>>>> - *begin* -> begins a transaction >>>>> - *rollback* -> rollbacks an active transaction >>>>> - *commit* -> commits an active transaction >>>>> - *let <variable> = <command>* -> executes a command and assign it >>>>> in the context as . That variable can be used in further commands by >>>>> prefixing it with $ >>>>> - *return* <variable>|<value>|null -> returns a value instead of >>>>> last command result (default >>>>> >>>>> Note also the usage of* $account *and* $city* on further SQL commands. >>>>> >>>>> *Java API* >>>>> >>>>> This can be used by Java API with: >>>>> >>>>> database.open("admin", "admin"); >>>>> String cmd = "begin\n";cmd += "let a = create vertex set script = >>>>> true\n";cmd += "let b = select from v limit 1\n";cmd += "let e = create >>>>> edge from $a to $b retry 100\n";cmd += "commit\n";cmd += "return $e"; >>>>> >>>>> OIdentifiable edge = database.command(new OCommandScript("sql", >>>>> cmd)).execute(); >>>>> >>>>> Remember to put one command per line (postfix it with \n). >>>>> >>>>> *HTTP REST API* >>>>> >>>>> And via HTTP REST interface (https://github.com/orientechn >>>>> ologies/orientdb/issues/2056). Execute a POST against /batch URL by >>>>> sending this payload: >>>>> >>>>> { "transaction" : true, >>>>> "operations" : [ >>>>> { >>>>> "type" : "script", >>>>> "language" : "sql", >>>>> "script" : [ "let account = create vertex Account set name = >>>>> 'Luke'", >>>>> "let city =select from City where name = 'London'", >>>>> "create edge Lives from $account to $city retry 100" ] >>>>> } >>>>> ]} >>>>> >>>>> >>>>> Hope this new feature will simplify your development improving >>>>> performance. >>>>> >>>>> What about having more complex constructs like IF, FOR, etc? If you >>>>> need more complexity, I suggest you to use Javascript as language that >>>>> already support all these concepts. >>>>> >>>>> Lvc@ >>>>> >>>>> >>>>> PS: For more information look at issues -> https://github.com/ >>>>> orientechnologies/orientdb/issues/2176 and https://github.com/oriente >>>>> chnologies/orientdb/issues/2056 >>>>> >>>>> -- >>>> >>>> --- >>>> 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. > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
