ticket.close();
}
}
private CONSTRAINT_EVALUATION_STATUS analize(ClassDescriptor classDescriptor, ObjectDataContainer dataContainer, JODBOperationContext context) throws IOException{
FieldsIterator fieldsIterator = dataContainer.getActiveFieldsIterator();
if(fieldsIterator==null){
return getCumulativeStatus();
}
//int[] hierarchy = dataContainer.getClassHierarchy();
int typeID = dataContainer.getOriginalClassType();
try {
classDescriptor = _session.getDescriptorForClass(typeID);
} catch (Exception e) {
e.printStackTrace();
throw new JodbIOException(e);
}
_constraints.evaluatePersistentCopy(classDescriptor, dataContainer, null, context);
HashMap<String, Field> unProcessedDescendantFields = _threadLocalAuxData.get()._processedFieldsBuffer;
unProcessedDescendantFields.clear();
FieldAndIDRecord[] fields = classDescriptor.getAllFields();
for (int i = 0; i < fields.length; i++) {
String name = fields[i]._field.getName();
if( _descendants.containsKey(name)){
unProcessedDescendantFields.put(name,fields[i]._field);
}
}
FieldRecord record = dataContainer.getRecordCache();
while (unProcessedDescendantFields.size() > 0 && fieldsIterator.hasNext()) {
fieldsIterator.next(record,context.getBase(),false);
Field field = classDescriptor.getFieldForID(record._fieldID, null);
String name = field.getName();
QueryNode descendant = _descendants.get(name);
if(descendant == null){
continue;