Hi alltogether,
is the feature of storing Funtions in the Database still usable?
I followed documentation and got completely lost.
First: I fired a simple SQL-Query
Schema: contracts [n<-link->1] subcategories [n<-link->1] categories
[n<-link->1] industries
To query all contracts belonging to a single industry, (just as in a
oldschool-sql-db) one can write
select name categories.subcategories.contracts from Industries where name
containstext 'ial'
which obviously returns an Array :
#<REST::Model::Myquery:0x00000003ffb880 @attributes={ "name" =>"Basic
Materials", "categories"=>[["#21:1"]], "version"=>0, "cluster"=>"-2",
"record"=>"0", "fieldTypes"=>"null=e", "created_at"=>2015-06-02 14:11:46
+0200, "updated_at"=>2015-06-02 14:11:46 +0200}>
#<REST::Model::Myquery:0x00000003ff9b20 @attributes={"name"=>"Financial",
"categories"=>[["#21:2"]], "version"=>0, "cluster"=>"-2", "record"=>"1",
"fieldTypes"=>"null=e", "created_at"=>2015-06-02 14:11:46 +0200,
"updated_at"=>2015-06-02 14:11:46 +0200}>
#<REST::Model::Myquery:0x00000003ff83b0 @attributes={"name"=>"Industrial",
"categories"=>[["#23:0", "#23:1"]], "version"=>0, "cluster"=>"-2",
"record"=>"2", "fieldTypes"=>"null=e", "created_at"=>2015-06-02 14:11:46
+0200, "updated_at"=>2015-06-02 14:11:46 +0200}>
So far, so good – the query is working perfect.
Then I put the same query into a function:
( in Studio: )
return orient.getDatabase().query("select name,
categories.subcategories.contracts from Industries where name containstext
'ial'");
and saved it as »getContracts«
But when I tried to fetch the result via REST I got:
uri: function/hc_database/getContracts
{"result":[{"@type":"d","@version":0,"value":"orient.getDatabase().query(\"select
name, categories.subcategories.contracts from Industries where name
containstext 'ial'\")"}]}
just the copy of the query-text....
It turned better.
I switched to javascript:
var gdb = orient.getDatabase();
return gdb.command( "sql", "select name ....
---> "code": 400,
"reason": "Bad request",
"content": "Error on parsing script at position #0: Error on
execution of the script\nScript:
allCategories\n------^\nsun.org.mozilla.javascript.WrappedException:
Wrapped
com.orientechnologies.orient.core.exception.OConfigurationException: No
database instance found in context (<Unknown source>#10) in <Unknown
source> at line number 10\nWrapped
com.orientechnologies.orient.core.exception.OConfigurationException: No
database instance found in context (<Unknown source>#10)\nNo database
instance found in context"
Ups.
As only solution which works, I found
language: Javascript
Database-Instance by getGraphNoTx()
To me the consequences of using getGraphNoTx are not clear. The strange
behavior of the function-part should be noted as big bug in the
development-Version .
strange.
(I am using the current stable 2.0 Version of OrientDB)
Hartmut
--
---
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.