MarcoPolo - script()
This method executes a script on the database.
NOTE: In order for this to work, you must first enable scripting on OrientDB. For more information, see JavaScript.
Scripting the Database
OrientDB provides support for scripting operations in JavaScript and other languages. This allows you to develop a repository of common operations or to share functions between applications developed in different languages.
Syntax
script(<conn>, <language>, <script>, <opts>)
<conn>
Defines the database connection.<language>
Defines the language of the script.<script>
Defines the script to execute.<opts>
Defines additional options for the function.
Options
This function only provides on additional option:
:timeout
Defines the timeout value in milliseconds. In the event that the script takes longer than the allotted time to finish, MarcoPolo sends an exit signal to the calling process.
Return Values
When the script is successful, it returns the tuple {:ok, record}
, where the variable is the last record the script operates on. In the event that the operation fails, it returns the tuple {:error, message}
where the variable is the exception message.
Example
For instance, imagine you have a series of stored scripts to handle common operations on OrientDB. In porting your current application to Elixir, you may want to save these scripts and continue to use them.
@doc """ Run the given script on OrientDB"""
def run_script(conn, path) do
# Log Operation
IO.puts("Running Script #{path}")
{:ok, script} = IO.read(path)
# Run Script
{:ok, return} = MarcoPolo.script(conn, "JavaScript", script)
end