This issue is related to old version of DataObjects.Net!We have found an issue in version 3.9.5 where the domain upgrade seems to erroneously delete records in a ValueTypeCollection table. If I dump the SchemaUpdateSQL.txt it shows the problem commands. In this example we have removed a base type in the object hierarchy so the number of records it is deleting is large. First it gets a list of the types that need to be deleted.
Next it nullifies any references that may be pointing to these types.
Finally it deletes any records that are of these types.
The problem is when it performs the same action for a ValueTypeCollection. ValueTypeCollection tables have their own IdGenerator tables and as such their identity generation is self-contained. Therefore if the command above is executed against a ValueTypeCollection table it will remove unwanted records. The domain upgrade executes these commands against ValueTypeCollections:
The second delete is fine as the owner of the ValueTypeCollection is a dataobject and may need to be removed. The problem is the first command as the IDs are self-contained in the ValueTypeCollection and may exist in the #idtable list. It can then mistakenly remove a whole host of ValueType records where the intention was to clean up a removed dataobject type. Please respond ASAP as this is effecting production code. Thanks, Simon |
Thanks guys, we appreciate the quick turnaround on this one. My only concern when looking at the changelog is this other line:
We would prefer not to have to nullify the FastLoadData as it usually means a hell of a lot of deadlocks in the meantime while it rebuilds. Could you just clarify what the impact of installing this version is on FastLoadData? Do we have to nullify everything? Recently we resolved the issue described here: fastloaddata not rebuilding correctly.
The resolution is the following: we now sorting I just described what must be done to rebuild |
The issue must be fixed for now. Please see and try nightly build. |