Re: [orientdb] Re: Can't remove embedded list item from 3 levels down
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
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
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
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