Hi, Yes sorry. The parameter replacement is support only on flat SELECT. Lvc@
On 1 April 2014 09:19, odbuser <odbus...@gmail.com> wrote: > Sorry, you are right. I just wrote a simple test and it doesn't look like > variable substitution works for "create". > > None of the following work: > > create edge from :rid1 to :rid2 > create edge from ? to ? > create edge from ( select from :rid1 ) to ( select from :rid2 ) > create edge from ( select from ? ) to ( select from ? ) > > The wiki does not talk about this and should be updated (or maybe it's > just a bug?): > https://github.com/orientechnologies/orientdb/wiki/Document-Database > > > > On Monday, March 31, 2014 5:11:48 PM UTC-4, alexander anguiano wrote: >> >> the ? work in other queries that i've used. I tried using the names and >> that doesn't work either. >> >> ORecordId mod = new ORecordId(rid1); >> ORecordId rd = new ORecordId(rid2); >> Map<String,Object> params = new HashMap<String,Object>(); >> params.put("rid1", mod); >> params.put("rid2", rd); >> request.command(new OCommandSQL("create edge MemberOf from :rid1 to >> :rid2")).execute(params); >> >> I get this >> Error on execution of command: sql.create edge MemberOf from :rid1 to >> :rid2 >> >> later in the stack i get this >> Caused by: ! java.lang.NumberFormatException: For input string: "" >> >> >> On Monday, March 31, 2014 3:11:54 PM UTC-5, alexander anguiano wrote: >>> >>> Ok, i tried passing the ORecordId like this >>> >>> String rid1 = ... >>> Srtring rid2 =... >>> request.command(new OCommandSQL("create edge MemberOf ? to >>> ?")).execute(new ORecordId(rid1), new ORecordId(rid2)); >>> >>> and now i get this >>> >>> Argument '?' is not a RecordId in form of string. Format must be: >>> <cluster-id>:<cluster-position> >>> >>> >>> On Monday, March 31, 2014 2:15:09 PM UTC-5, alexander anguiano wrote: >>>> >>>> How do you create an edge using OCommandRequest, >>>> >>>> I'm using 1.6.4 of orierntdb >>>> >>>> OCommandRequest request =... >>>> >>>> request.command(new OCommandSQL("create edge MemberOf ? to >>>> ?")).execute(rid1,rid2); >>>> >>>> gives me >>>> >>>> Cannot find a command executor for the command request: sql.? to ? >>>> >>> -- > > --- > 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 orient-database+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- --- 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 orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.