Chris Muller a écrit :
Hi Hilaire,
When populating a MagmaCollection I got error with index, because I used the wrong selector for the index.
Can you provide a lot more detail? What was the index type and what did you discover you did wrong? What error was reported and then how did you fix it? I ask because the next sentence implies this is what led to the problem..
When adding a new MagmaCollection, I was adding an index with a wrong accessor name (#step instead of the correct one #stepNumber):
IFIEtayageAchievement>>initialize super initialize. etayageStepAchievements := MagmaCollection new. etayageStepAchievements addIndex: (MaIntegerIndex attribute: #stepNumber)
I fix that, then I start to get "class definition unknow" error message,
See the attached screen capture, it show the id in question is about Integer. Looking at the debugger, in instance variable classById, integer has two id 107 and 214. I don't know if this normal or not.
99% of the time, the root cause of this error is your client has extended the protocol beyond what the server expects. By looking in the right place in the debugger it will show which class belongs to the new id that the server could not interpret. First, look at what id it says is not found in the server's debugger, then explore your client MagmaSession which sent the request:
aMagmaSession -> link -> serializer -> classIdManager -> classesById
I will investigate that.
One possibility is you creaed a new index-type that was not present on the server, therefore not part of the servers protocol, so it couldn't materialize it..
No, it should not be that problem this time :)
Thanks,
Hilaire