LucidDB / luciddb

DEFUNCT: See README
https://github.com/LucidDB/luciddb
Apache License 2.0
53 stars 24 forks source link

[FRG-258] LURQL can't handle recursion inside of exists inside of recursion #614

Open dynamobi-build opened 12 years ago

dynamobi-build commented 12 years ago

[reporter="jvs", created="Mon, 5 Mar 2007 01:34:11 -0500 (GMT-05:00)"] select *
from class ColumnSet where name='EVENTS' then (
    recursively (
        follow origin end client then (
            follow destination end supplier destination class ColumnSet
            where exists x in (
                recursively (
                    follow origin end client then (
                        follow destination end supplier
                    )
                ) then (
                    follow origin end client then (
                        follow destination end supplier
                        destination class ColumnSet as x
                        where name='CUSTOMERS'
                    )
                )
            )
        )
    )
) gather with parent then (
    follow composite backward destination class LocalSchema
);

gives

Caused by: java.lang.AssertionError
at com.lucidera.lurql.LurqlReflectiveExecutor.executeRecursion(LurqlReflectiveExecutor.java:186)
at com.lucidera.lurql.LurqlReflectiveExecutor.executeGraph(LurqlReflectiveExecutor.java:137)
at com.lucidera.lurql.LurqlReflectiveExecutor.execute(LurqlReflectiveExecutor.java:111)
at com.lucidera.lurql.LurqlQueryProcessor$PreparedQuery.execute(LurqlQueryProcessor.java:124)