Hi folks,
Sorry for the noise, I search the documentation, this group and even read
Getting started with OrientDB book but wasn't able to find a way to call
server-side functions from SQL calls on the client side.
Let me give some precision...
- First of all and most importantly I'm using Python and interact with an
instance of OrientDB-2.0M3 by using a patched pyorient driver. (Actually, i
just bump up the *SUPPORTED_PROTOCOL* version to 26) And both snapshots are
3 days old (2014/12/03)
- I register some SQL and JavaScript server-side functions in OrientDB
using Studio.
- I edited orientdb-server-config.xml like this:
<handler
class="com.orientechnologies.orient.server.handler.OServerSideScriptInterpreter">
<parameters>
<parameter name="enabled" value="true"/>
<parameter name="allowedLanguages" value="SQL,Javascript"/>
</parameters>
</handler>
Now let's say I have a function SQL function called get_all_car
*In the navigator, searching for:*
*http://localhost:2480/function/test/get_all_car*
*Give me:*
{"result":[{"@type":"d","@rid":"#14:1","@version":12,"@class":"Car","name":"Ferrari"}]}
Exactly what I want!!!
*In the console, I have to call the function like this:*
*SELECT get_all_car()*
*Calls like this doesn't work:*
*get_all_car* or *get_all_car()*
*And give me:*
{
"result": [
{
"@type": "d",
"@rid": "#-2:0",
"@version": 0,
"get_all_car": [
"#14:1"
]
}
],
"notification": "Query executed in 0.018 sec. Returned 1 record(s)"
}
Not exactly what i was looking for and I get exactly the same result when i
run the query from python like this:
*client.command('select get_all_car()')*
I pretty sure that I'm doing a noob job and that my issues are related to
the way I'm calling my custom function from SQL or this is maybe related to
pyorient.
Anyway, Question:
I would like to put my business logic on the server with using SQL and/or
JavaScript custom command. What is the proper way to call those functions
from outside and get result similar to those given in the functions tab of
Studio?
Ideally, I would like to be able to do something like that in python:
*client.command('get_all_car()')*
Maybe this is more a pyorient request to made or implement my self, but
before diving into this advice on the best way to do it in regular query
from a client are welcome!!!!
Again, sorry for the noise if this have already been covered in previous
post!
Thanks
DjO
--
---
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.