Hi Claudio, could you post a longer stack trace to understand where happens?
Lvc@ On 15 February 2014 14:10, Claudio <[email protected]> wrote: > Hi! > I am facing with a very weird behaviour of a select statement. > I cannot execute expand() or contains() function because a > ClassCastException is raised or no records at all are returned. > > I have a "games" class that for out test, at the moment contains just one > record: > "@rid": "#24:0", > "@version": 2, > "@class": "games", > "players": [ > { > "username": "[email protected]", > "name": "john doe", > "points": 0 > }, > { > "username": "[email protected]", > "name": "jane doe", > "department": "one", > "points": 0 > }, > { > "username": "[email protected]", > "name": "dana scully", > "department": "two", > "points": 0 > } > ], > "status": "open", > "player_turn": 0, > "id": "ff342a9b-79cd-4494-983e-6ec4a1a47c8a", > "_creation_date": "2014-02-15T13:49:51.051+0100", > "_author": "admin" > > As you can see the field "players" is a collection of JSON objects. > If I perform a query against the class I have: > orientdb> select from games > > ----+-----+-------+------+-----------+------------------------------------+-------+------+------+----------------------------+------- > # |@RID |players|status|player_turn|id > |_links |_audit|_allow|_creation_date |_author > > ----+-----+-------+------+-----------+------------------------------------+-------+------+------+----------------------------+------- > 0 |#24:0|[3] |open |0 > |ff342a9b-79cd-4494-983e-6ec4a1a47c8a|#11:383|#3:370|[1] > |2014-02-15T13:49:51.051+0100|admin > > ----+-----+-------+------+-----------+------------------------------------+-------+------+------+----------------------------+------- > > or: > orientdb> select @this.toJson() from games > > ----+-----+----------------------------------------------------------------------------------------------------------------- > # |@RID |this > > ----+-----+----------------------------------------------------------------------------------------------------------------- > 0 > |#-2:1|{"@type":"d","@rid":"#24:0","@version":2,"@class":"games","players":[{"username":" > [email protected]","name":"john ... > > ----+-----+----------------------------------------------------------------------------------------------------------------- > 1 item(s) found. Query executed in 0.041 sec(s). > > Everything seems to be fine. > However when I try to expand the players field I have this error: > > orientdb> select expand(players) from games > Error: > com.orientechnologies.orient.core.exception.OCommandExecutionException: > Error on execution of command: sql.select expand(players) from games > Error: java.lang.ClassCastException: > com.orientechnologies.orient.core.db.record.OTrackedMap cannot be cast to > com.orientechnologies.orient.core.db.re > cord.OIdentifiable > > Furthermore I cannot execute any selection criteria against the players > field: > orientdb> select from games where players contains (username = " > [email protected]") > 0 item(s) found. Query executed in 0.0020 sec(s). > > orientdb> select from games where players[username] = "[email protected]" > 0 item(s) found. Query executed in 0.0040 sec(s). > > orientdb> select from games where players[username = "[email protected]"] > Error: > com.orientechnologies.orient.core.exception.OCommandExecutionException: > Error on execution of command: sql.select from games where players[user > name = "[email protected]"] > Error: java.lang.ClassCastException: > com.orientechnologies.orient.core.db.record.OTrackedMap cannot be cast to > java.lang.Boolean > > Any suggestion? > > Thanks! > > -- > > --- > 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/groups/opt_out. > -- --- 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/groups/opt_out.
