-
Notifications
You must be signed in to change notification settings - Fork 871
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot using multi target LET #9164
Comments
Hi @anhzin Could you please post an example using DemoDB? It will make it much easier for me to reproduce and debug Thanks Luigi |
Oh, I think I got it, could you please try the following:
Even if it works, please keep this issue open, I'd like to see if we can add the support for the original TRAVERSE query Thanks Luigi |
@luigidellaquila Expected behavior:
the real query will be SELECT expand($rFinal) with v2.2.x, the result will be the demo database |
@luigidellaquila SELECT expand($rFinal) and change the query to second suggestion SELECT expand($rFinal) Both of it returns Empty. |
@luigidellaquila |
Hi @anhzin Sorry, I had no chance to test it yet, I'll try to do ASAP and let you know Thanks Luigi |
Hi, @luigidellaquila Thanks, |
HI, Thanks, |
Hi, I am also blocked because of this issue on multiple LET. The v2.xx versions of OrientDB a too outdated now. Is this issue planed to be fixed ? PS : Here a broken simple example coming from here https://stackoverflow.com/questions/34601966/temporary-collection-in-an-orientdb-query-using-the-intersect-function
|
I am still waiting the fix. |
It is possible to change the example from the StackOverflow so that it gives the same result with both OrientDB 2.x and OrientDB 3.x series:
|
OrientDB Version: 3.0.29
Java Version: 8
OS: window
Expected behavior
When executing the command:
SELECT expand($rFinal)
let
$result0 = (TRAVERSE outE('rel_1'),inV() from [#50:1] MAXDEPTH 2 STRATEGY BREADTH_FIRST ),
$result1 = (TRAVERSE outE('rel_2'),inV() from $result0 STRATEGY BREADTH_FIRST ),
$result2 = (TRAVERSE outE('rel_3'),inV() from $result1 STRATEGY BREADTH_FIRST ) ,
$rFinal = intersect( unionall(#50:1,$result0,$result1,$result2))
Actual behavior
Exception: com.orientechnologies.orient.core.exception.OCommandExecutionException: Class $result0 not found DB name=
Steps to reproduce
In Orientdb 2.2.x the below used to work
SELECT expand($rFinal)
let
$result0 = (TRAVERSE outE('rel_1'),inV() from [#50:1] MAXDEPTH 2 STRATEGY BREADTH_FIRST ),
$result1 = (TRAVERSE outE('rel_2'),inV() from $result0 STRATEGY BREADTH_FIRST ),
$result2 = (TRAVERSE outE('rel_3'),inV() from $result1 STRATEGY BREADTH_FIRST ) ,
$rFinal = intersect( unionall(#50:1,$result0,$result1,$result2))
But in v3.0.29, this also throws exception with above query:
com.orientechnologies.orient.core.exception.OCommandExecutionException: Class $result0 not found DB name=
in v3.0.29, It can work If I change the query to
SELECT expand($result0)
let
$result0 = (TRAVERSE outE('rel_1'),inV() from [#50:1] MAXDEPTH 2 STRATEGY BREADTH_FIRST )
But my business logic need to using regression.
If the query had more than 2 LET. The error always appears.
The text was updated successfully, but these errors were encountered: