Hi Chris, The issue is fixed in the last snapshot
Best regards, Artem Orobets * Orient Technologiesthe Company behind OrientDB* 2014-07-10 9:51 GMT+03:00 Artem Orobets <[email protected]>: > Hi Chris, > > You are right, reusing of clusters for different classes are not supported > anymore. > > I've created an issue to fix that > https://github.com/orientechnologies/orientdb/issues/2558 > > Best regards, > Artem Orobets > > * Orient Technologiesthe Company behind OrientDB* > > > 2014-07-09 23:22 GMT+03:00 Chris Wilper <[email protected]>: > > I just noticed this and thought it was odd behavior. >> >> This code: >> >> OClass oClass = oSchema.createClass("Test"); >> System.out.println(oClass.isAbstract()); >> System.out.println(oClass.getDefaultClusterId()); >> >> ...yields this: >> >> false >> 9 >> >> ...but this code: >> >> OClass oClass = oSchema.createClass("Test"); >> oClass.setAbstract(false); >> System.out.println(oClass.isAbstract()); >> System.out.println(oClass.getDefaultClusterId()); >> >> ...yields this: >> >> false >> 3 >> >> (9 is the new cluster id created for the class; 3 is the 'default' >> cluster id) >> >> Sure enough, here's the code: >> >> https://github.com/orientechnologies/orientdb/blob/2464bb45be6a0a2eba15b3bd5d350b17928e65ff/core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassImpl.java#L757 >> >> Is there a good reason for this? I'm not really sure what the >> *database's* default cluster is, but OClassImpl seems to 1) assume the >> isAbstract value was previously true (which it wasn't in my case), and 2) >> think it's safe to set the default cluster to the default cluster of the >> database. Unfortunately, when I try to insert a record in the class after >> this point, I get a "Record saved into cluster default should be saved with >> class null but saved with class Test" >> >> Seems like setAbstract(false) should first check if abstract is already >> false, and be a no-op. But if it was previously abstract, shouldn't it also >> auto-create a cluster for it rather than switch it's default to the >> 'default' cluster? >> >> - Chris >> >> -- >> >> --- >> 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/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 [email protected]. For more options, visit https://groups.google.com/d/optout.
