Re: [orientdb] Re: Can't remove embedded list item from 3 levels down

2016-10-14 Thread borov333
Bug submitted.


On Thursday, October 13, 2016 at 9:51:57 AM UTC-7, Luigi Dell'Aquila wrote:
>
> Yes, please
>
> Thanks
>
> Luigi
>
> 2016-10-13 18:23 GMT+02:00 :
>
>> Thanks Luigi. Shall it be filed as a bug?
>>
>>
>>
>> On Wednesday, October 12, 2016 at 11:58:33 PM UTC-7, Luigi Dell'Aquila 
>> wrote:
>>>
>>> Hi guys,
>>>
>>> Ok, it's correct, it "kind of" works because of some internal corner 
>>> cases, but it's definitely a dirty work around :-D 
>>> Anyway, I'll fix the main problem in next days
>>>
>>> Thanks
>>>
>>> Luigi
>>>
>>> 2016-10-13 7:37 GMT+02:00 :
>>>
 Hi Oleksandr,

 Interesting, I think it is similar or related to that issue of 5703. 
 When I wrapped the whole string into `` characters it worked, or kind of 
 worked. Check this out:

 orientdb {db=Tetraop}> update #25:0 remove 
 `settings.leads.TempLead.overrideProperties[0]`
 Updated record(s) '1' in 0.001000 sec(s).

 orientdb {db=Tetraop}> select settings.leads.TempLead.overrideProperties 
 from #25:0

 +++

 |#   |settings|

 +++

 |0   |[PropertyOverride{customValues:[1]}]|

 +++

 It appears as it removed the record, but when I did a select, the 
 record is still there. That's false positive

 orientdb {db=Tetraop}> update #25:0 remove 
 `settings.leads.TempLead.overrideProperties` = 
 settings.leads.TempLead.overrideProperties[0]
 Updated record(s) '1' in 0.002000 sec(s). 

 orientdb {db=Tetraop}> select settings.leads.TempLead.overrideProperties 
 from #25:0   +++

 |#   |settings|

 +++

 |0   |[]  |

 +++

 Now it removed the record and the list is empty. This behavior raises 3 
 questions:

1. Why do we need to use `` if this issues seemed to be fixed in 
the issue 5703
2. Is the first way a legit way to remove list items? If so, why 
did it give false positive?
3. What is the right and bullet proof way to remove embedded list 
items?


 For your previous request, this is how I did the insert:

 update #25:0 add settings.leads.TempLead.overrideProperties = 
 {"@type":"d", "@class":"PropertyOverride", 
 "standardProperty":"utilityCompany", "customProperty":"utilityProvider"}

 Thanks for looking into this.




 On Wednesday, October 12, 2016 at 9:21:25 AM UTC-7, Oleksandr Gubchenko 
 wrote:
>
> Is this issue similar to your case? Can you confirm?
> https://github.com/orientechnologies/orientdb/issues/5703
>
> Il giorno mercoledì 12 ottobre 2016 18:16:28 UTC+2, Oleksandr 
> Gubchenko ha scritto:
>>
>> Can you add an insert that you are using to originally create the 
>> #25:0 ?
>>
>> Thanks.
>>
>> Il giorno mercoledì 12 ottobre 2016 17:47:25 UTC+2, boro...@gmail.com 
>> ha scritto:
>>>
>>> Hi Michela, here are the schemas starting from the most inner class 
>>> and up all the way to account. 
>>>
>>> // Property Override
>>> create class PropertyOverride extends V
>>> create property PropertyOverride.standardProperty STRING (NOTNULL 
>>> TRUE)
>>> create property PropertyOverride.customProperty STRING (NOTNULL TRUE)
>>> create property PropertyOverride.customValues EMBEDDEDMAP STRING 
>>> (NOTNULL TRUE)
>>>
>>> // Class Override
>>> create class LeadClass extends V
>>> create property LeadClass.template STRING (NOTNULL TRUE)
>>> create property LeadClass.booleanTrue STRING (NOTNULL TRUE, COLLATE 
>>> "ci")
>>> create property LeadClass.booleanFalse STRING (NOTNULL TRUE, COLLATE 
>>> "ci")
>>> create property LeadClass.dateFormat STRING (NOTNULL TRUE, COLLATE 
>>> "ci")
>>> create property LeadClass.timestampFormat STRING (NOTNULL TRUE, 
>>> COLLATE "ci")
>>> create property LeadClass.overrideProperties EMBEDDEDLIST 
>>> PropertyOverride (NOTNULL TRUE)
>>>
>>> // Account Settings
>>> create class AccountSettings extends V
>>> create property AccountSettings.leads EMBEDDEDMAP LeadClass
>>>
>>> // Account
>>> create class Account extends V
>>> create property Account.id INTEGER (DEFAULT 
>>> "sequence('accountId').next()", READONLY TRUE)
>>> create property Account.created DATETIME (DEFAULT "sysdate()", 
>>> READONLY TRUE)
>>> create property Account.active BOOLEAN (NOTNULL TRUE, DEFAULT FALSE)
>>> create property Account.company STRING (NOTNULL TRUE, MANDATORY 
>>> TRUE, MIN 2, MAX 50, COLLATE "ci")
>>> create property Account.settings EMBEDDED AccountSettings
>>>
>>> The #25:0 

Re: [orientdb] Re: Can't remove embedded list item from 3 levels down

2016-10-13 Thread Luigi Dell'Aquila
Yes, please

Thanks

Luigi

2016-10-13 18:23 GMT+02:00 :

> Thanks Luigi. Shall it be filed as a bug?
>
>
>
> On Wednesday, October 12, 2016 at 11:58:33 PM UTC-7, Luigi Dell'Aquila
> wrote:
>>
>> Hi guys,
>>
>> Ok, it's correct, it "kind of" works because of some internal corner
>> cases, but it's definitely a dirty work around :-D
>> Anyway, I'll fix the main problem in next days
>>
>> Thanks
>>
>> Luigi
>>
>> 2016-10-13 7:37 GMT+02:00 :
>>
>>> Hi Oleksandr,
>>>
>>> Interesting, I think it is similar or related to that issue of 5703.
>>> When I wrapped the whole string into `` characters it worked, or kind of
>>> worked. Check this out:
>>>
>>> orientdb {db=Tetraop}> update #25:0 remove
>>> `settings.leads.TempLead.overrideProperties[0]`
>>> Updated record(s) '1' in 0.001000 sec(s).
>>>
>>> orientdb {db=Tetraop}> select settings.leads.TempLead.overrideProperties
>>> from #25:0
>>>
>>> +++
>>>
>>> |#   |settings|
>>>
>>> +++
>>>
>>> |0   |[PropertyOverride{customValues:[1]}]|
>>>
>>> +++
>>>
>>> It appears as it removed the record, but when I did a select, the record
>>> is still there. That's false positive
>>>
>>> orientdb {db=Tetraop}> update #25:0 remove
>>> `settings.leads.TempLead.overrideProperties` =
>>> settings.leads.TempLead.overrideProperties[0]
>>> Updated record(s) '1' in 0.002000 sec(s).
>>>
>>> orientdb {db=Tetraop}> select settings.leads.TempLead.overrideProperties
>>> from #25:0   +++
>>>
>>> |#   |settings|
>>>
>>> +++
>>>
>>> |0   |[]  |
>>>
>>> +++
>>>
>>> Now it removed the record and the list is empty. This behavior raises 3
>>> questions:
>>>
>>>1. Why do we need to use `` if this issues seemed to be fixed in the
>>>issue 5703
>>>2. Is the first way a legit way to remove list items? If so, why did
>>>it give false positive?
>>>3. What is the right and bullet proof way to remove embedded list
>>>items?
>>>
>>>
>>> For your previous request, this is how I did the insert:
>>>
>>> update #25:0 add settings.leads.TempLead.overrideProperties =
>>> {"@type":"d", "@class":"PropertyOverride", 
>>> "standardProperty":"utilityCompany",
>>> "customProperty":"utilityProvider"}
>>>
>>> Thanks for looking into this.
>>>
>>>
>>>
>>>
>>> On Wednesday, October 12, 2016 at 9:21:25 AM UTC-7, Oleksandr Gubchenko
>>> wrote:

 Is this issue similar to your case? Can you confirm?
 https://github.com/orientechnologies/orientdb/issues/5703

 Il giorno mercoledì 12 ottobre 2016 18:16:28 UTC+2, Oleksandr Gubchenko
 ha scritto:
>
> Can you add an insert that you are using to originally create the
> #25:0 ?
>
> Thanks.
>
> Il giorno mercoledì 12 ottobre 2016 17:47:25 UTC+2, boro...@gmail.com
> ha scritto:
>>
>> Hi Michela, here are the schemas starting from the most inner class
>> and up all the way to account.
>>
>> // Property Override
>> create class PropertyOverride extends V
>> create property PropertyOverride.standardProperty STRING (NOTNULL
>> TRUE)
>> create property PropertyOverride.customProperty STRING (NOTNULL TRUE)
>> create property PropertyOverride.customValues EMBEDDEDMAP STRING
>> (NOTNULL TRUE)
>>
>> // Class Override
>> create class LeadClass extends V
>> create property LeadClass.template STRING (NOTNULL TRUE)
>> create property LeadClass.booleanTrue STRING (NOTNULL TRUE, COLLATE
>> "ci")
>> create property LeadClass.booleanFalse STRING (NOTNULL TRUE, COLLATE
>> "ci")
>> create property LeadClass.dateFormat STRING (NOTNULL TRUE, COLLATE
>> "ci")
>> create property LeadClass.timestampFormat STRING (NOTNULL TRUE,
>> COLLATE "ci")
>> create property LeadClass.overrideProperties EMBEDDEDLIST
>> PropertyOverride (NOTNULL TRUE)
>>
>> // Account Settings
>> create class AccountSettings extends V
>> create property AccountSettings.leads EMBEDDEDMAP LeadClass
>>
>> // Account
>> create class Account extends V
>> create property Account.id INTEGER (DEFAULT
>> "sequence('accountId').next()", READONLY TRUE)
>> create property Account.created DATETIME (DEFAULT "sysdate()",
>> READONLY TRUE)
>> create property Account.active BOOLEAN (NOTNULL TRUE, DEFAULT FALSE)
>> create property Account.company STRING (NOTNULL TRUE, MANDATORY TRUE,
>> MIN 2, MAX 50, COLLATE "ci")
>> create property Account.settings EMBEDDED AccountSettings
>>
>> The #25:0 (in the original post) is the actual Account record. What
>> I'm trying to do is to simply add/remove PropertyOverride embedded 
>> classes
>> to the LeadClass.overrideProperties embedded list in the LeadClass.
>> I could add it easy as mentioned before, but 

Re: [orientdb] Re: Can't remove embedded list item from 3 levels down

2016-10-13 Thread borov333
Thanks Luigi. Shall it be filed as a bug?



On Wednesday, October 12, 2016 at 11:58:33 PM UTC-7, Luigi Dell'Aquila 
wrote:
>
> Hi guys,
>
> Ok, it's correct, it "kind of" works because of some internal corner 
> cases, but it's definitely a dirty work around :-D 
> Anyway, I'll fix the main problem in next days
>
> Thanks
>
> Luigi
>
> 2016-10-13 7:37 GMT+02:00 :
>
>> Hi Oleksandr,
>>
>> Interesting, I think it is similar or related to that issue of 5703. When 
>> I wrapped the whole string into `` characters it worked, or kind of worked. 
>> Check this out:
>>
>> orientdb {db=Tetraop}> update #25:0 remove 
>> `settings.leads.TempLead.overrideProperties[0]`
>> Updated record(s) '1' in 0.001000 sec(s).
>>
>> orientdb {db=Tetraop}> select settings.leads.TempLead.overrideProperties 
>> from #25:0
>>
>> +++
>>
>> |#   |settings|
>>
>> +++
>>
>> |0   |[PropertyOverride{customValues:[1]}]|
>>
>> +++
>>
>> It appears as it removed the record, but when I did a select, the record 
>> is still there. That's false positive
>>
>> orientdb {db=Tetraop}> update #25:0 remove 
>> `settings.leads.TempLead.overrideProperties` = 
>> settings.leads.TempLead.overrideProperties[0]
>> Updated record(s) '1' in 0.002000 sec(s). 
>>
>> orientdb {db=Tetraop}> select settings.leads.TempLead.overrideProperties 
>> from #25:0   +++
>>
>> |#   |settings|
>>
>> +++
>>
>> |0   |[]  |
>>
>> +++
>>
>> Now it removed the record and the list is empty. This behavior raises 3 
>> questions:
>>
>>1. Why do we need to use `` if this issues seemed to be fixed in the 
>>issue 5703
>>2. Is the first way a legit way to remove list items? If so, why did 
>>it give false positive?
>>3. What is the right and bullet proof way to remove embedded list 
>>items?
>>
>>
>> For your previous request, this is how I did the insert:
>>
>> update #25:0 add settings.leads.TempLead.overrideProperties = 
>> {"@type":"d", "@class":"PropertyOverride", 
>> "standardProperty":"utilityCompany", "customProperty":"utilityProvider"}
>>
>> Thanks for looking into this.
>>
>>
>>
>>
>> On Wednesday, October 12, 2016 at 9:21:25 AM UTC-7, Oleksandr Gubchenko 
>> wrote:
>>>
>>> Is this issue similar to your case? Can you confirm?
>>> https://github.com/orientechnologies/orientdb/issues/5703
>>>
>>> Il giorno mercoledì 12 ottobre 2016 18:16:28 UTC+2, Oleksandr Gubchenko 
>>> ha scritto:

 Can you add an insert that you are using to originally create the 
 #25:0 ?

 Thanks.

 Il giorno mercoledì 12 ottobre 2016 17:47:25 UTC+2, boro...@gmail.com 
 ha scritto:
>
> Hi Michela, here are the schemas starting from the most inner class 
> and up all the way to account. 
>
> // Property Override
> create class PropertyOverride extends V
> create property PropertyOverride.standardProperty STRING (NOTNULL TRUE)
> create property PropertyOverride.customProperty STRING (NOTNULL TRUE)
> create property PropertyOverride.customValues EMBEDDEDMAP STRING 
> (NOTNULL TRUE)
>
> // Class Override
> create class LeadClass extends V
> create property LeadClass.template STRING (NOTNULL TRUE)
> create property LeadClass.booleanTrue STRING (NOTNULL TRUE, COLLATE 
> "ci")
> create property LeadClass.booleanFalse STRING (NOTNULL TRUE, COLLATE 
> "ci")
> create property LeadClass.dateFormat STRING (NOTNULL TRUE, COLLATE 
> "ci")
> create property LeadClass.timestampFormat STRING (NOTNULL TRUE, 
> COLLATE "ci")
> create property LeadClass.overrideProperties EMBEDDEDLIST 
> PropertyOverride (NOTNULL TRUE)
>
> // Account Settings
> create class AccountSettings extends V
> create property AccountSettings.leads EMBEDDEDMAP LeadClass
>
> // Account
> create class Account extends V
> create property Account.id INTEGER (DEFAULT 
> "sequence('accountId').next()", READONLY TRUE)
> create property Account.created DATETIME (DEFAULT "sysdate()", 
> READONLY TRUE)
> create property Account.active BOOLEAN (NOTNULL TRUE, DEFAULT FALSE)
> create property Account.company STRING (NOTNULL TRUE, MANDATORY TRUE, 
> MIN 2, MAX 50, COLLATE "ci")
> create property Account.settings EMBEDDED AccountSettings
>
> The #25:0 (in the original post) is the actual Account record. What 
> I'm trying to do is to simply add/remove PropertyOverride embedded 
> classes 
> to the LeadClass.overrideProperties embedded list in the LeadClass. I 
> could 
> add it easy as mentioned before, but when I tried to remove it I ran into 
> exceptions. All is done in the terminal. Thanks for helping to figure it 
> out.
>
>
> On Tuesday, October 11, 2016 at 11:35:08 PM 

Re: [orientdb] Re: Can't remove embedded list item from 3 levels down

2016-10-13 Thread Luigi Dell'Aquila
Hi guys,

Ok, it's correct, it "kind of" works because of some internal corner cases,
but it's definitely a dirty work around :-D
Anyway, I'll fix the main problem in next days

Thanks

Luigi

2016-10-13 7:37 GMT+02:00 :

> Hi Oleksandr,
>
> Interesting, I think it is similar or related to that issue of 5703. When
> I wrapped the whole string into `` characters it worked, or kind of worked.
> Check this out:
>
> orientdb {db=Tetraop}> update #25:0 remove `settings.leads.TempLead.
> overrideProperties[0]`
> Updated record(s) '1' in 0.001000 sec(s).
>
> orientdb {db=Tetraop}> select settings.leads.TempLead.overrideProperties
> from #25:0
>
> +++
>
> |#   |settings|
>
> +++
>
> |0   |[PropertyOverride{customValues:[1]}]|
>
> +++
>
> It appears as it removed the record, but when I did a select, the record
> is still there. That's false positive
>
> orientdb {db=Tetraop}> update #25:0 remove 
> `settings.leads.TempLead.overrideProperties`
> = settings.leads.TempLead.overrideProperties[0]
> Updated record(s) '1' in 0.002000 sec(s).
>
> orientdb {db=Tetraop}> select settings.leads.TempLead.overrideProperties
> from #25:0   +++
>
> |#   |settings|
>
> +++
>
> |0   |[]  |
>
> +++
>
> Now it removed the record and the list is empty. This behavior raises 3
> questions:
>
>1. Why do we need to use `` if this issues seemed to be fixed in the
>issue 5703
>2. Is the first way a legit way to remove list items? If so, why did
>it give false positive?
>3. What is the right and bullet proof way to remove embedded list
>items?
>
>
> For your previous request, this is how I did the insert:
>
> update #25:0 add settings.leads.TempLead.overrideProperties =
> {"@type":"d", "@class":"PropertyOverride", 
> "standardProperty":"utilityCompany",
> "customProperty":"utilityProvider"}
>
> Thanks for looking into this.
>
>
>
>
> On Wednesday, October 12, 2016 at 9:21:25 AM UTC-7, Oleksandr Gubchenko
> wrote:
>>
>> Is this issue similar to your case? Can you confirm?
>> https://github.com/orientechnologies/orientdb/issues/5703
>>
>> Il giorno mercoledì 12 ottobre 2016 18:16:28 UTC+2, Oleksandr Gubchenko
>> ha scritto:
>>>
>>> Can you add an insert that you are using to originally create the #25:0 ?
>>>
>>> Thanks.
>>>
>>> Il giorno mercoledì 12 ottobre 2016 17:47:25 UTC+2, boro...@gmail.com
>>> ha scritto:

 Hi Michela, here are the schemas starting from the most inner class and
 up all the way to account.

 // Property Override
 create class PropertyOverride extends V
 create property PropertyOverride.standardProperty STRING (NOTNULL TRUE)
 create property PropertyOverride.customProperty STRING (NOTNULL TRUE)
 create property PropertyOverride.customValues EMBEDDEDMAP STRING
 (NOTNULL TRUE)

 // Class Override
 create class LeadClass extends V
 create property LeadClass.template STRING (NOTNULL TRUE)
 create property LeadClass.booleanTrue STRING (NOTNULL TRUE, COLLATE
 "ci")
 create property LeadClass.booleanFalse STRING (NOTNULL TRUE, COLLATE
 "ci")
 create property LeadClass.dateFormat STRING (NOTNULL TRUE, COLLATE "ci")
 create property LeadClass.timestampFormat STRING (NOTNULL TRUE, COLLATE
 "ci")
 create property LeadClass.overrideProperties EMBEDDEDLIST
 PropertyOverride (NOTNULL TRUE)

 // Account Settings
 create class AccountSettings extends V
 create property AccountSettings.leads EMBEDDEDMAP LeadClass

 // Account
 create class Account extends V
 create property Account.id INTEGER (DEFAULT
 "sequence('accountId').next()", READONLY TRUE)
 create property Account.created DATETIME (DEFAULT "sysdate()", READONLY
 TRUE)
 create property Account.active BOOLEAN (NOTNULL TRUE, DEFAULT FALSE)
 create property Account.company STRING (NOTNULL TRUE, MANDATORY TRUE,
 MIN 2, MAX 50, COLLATE "ci")
 create property Account.settings EMBEDDED AccountSettings

 The #25:0 (in the original post) is the actual Account record. What I'm
 trying to do is to simply add/remove PropertyOverride embedded classes to
 the LeadClass.overrideProperties embedded list in the LeadClass. I
 could add it easy as mentioned before, but when I tried to remove it I ran
 into exceptions. All is done in the terminal. Thanks for helping to figure
 it out.


 On Tuesday, October 11, 2016 at 11:35:08 PM UTC-7, user.w...@gmail.com
 wrote:
>
> Hi,
>
> can you post you schema? I don't understand very well your structure.
>
> Regards,
> Michela
>
 --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "OrientDB" group.
> To unsubscribe from this group and stop