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/orientechnologies/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/orientechnologies/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.