Hi,

It seems there is a bug in the parser, but to be honest I really hate that
syntax, it's not clear, not elegant and IMHO also misleading.
You can try this:

update #25:0 set settings.classTemplate.template2 = 'bbb'

it has the exact same semantics, but it's clear and straight forward.

Thanks

Luigi


2016-10-10 22:44 GMT+02:00 Ivan Mainetti <user.work...@gmail.com>:

> seems like a bug to me
>
>
> Il giorno lunedì 10 ottobre 2016 21:38:46 UTC+2, boro...@gmail.com ha
> scritto:
>>
>> Hello,
>>
>> I'm sure I'm missing something, but I just can't figure it out from the
>> online docs. I have a Class "Account", inside it has Embedded class
>> "AccountSettings", which has another embeddedmap  "classTemplate". I'm
>> trying to add values to the embedded map "classTemplate", but the "put"
>> method fails on me. Please see below:
>>
>> // Account
>> create class Account extends V
>> create property Account.settings EMBEDDED AccountSettings
>>
>> // Account Settings
>> create class AccountSettings extends V
>> create property AccountSettings.classTemplate EMBEDDEDMAP String
>>
>> I created a record in the Account class, then I did the following:
>>
>> // Simply initialized "settings" in the Account to an AccountSettings
>> class
>> update Account set settings = {"@type":"d", "@class":"AccountSettings"}
>> where @rid = #25:0
>>
>> // add class template
>> update #25:0 set settings.classTemplate = {'template1':'aaa'}   << this
>> one works to initially create the map
>> update #25:0 put settings.classTemplate = 'template2', 'bbb'    << this
>> one fails!
>>
>> Error: com.orientechnologies.orient.core.sql.OCommandSQLParsingException:
>> Error parsing query:
>>
>> update #25:0 put settings.classTemplate = 'template2', 'bbb'
>>
>>
>> Is there a different/better way to put map elements into the embedded map
>> when it is part of another embedded class?
>>
>> p.s. I'm running orientdb 2.2.10
>>
> --
>
> ---
> 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.

Reply via email to