private object ReadFieldValue(int id, FieldMetadata field) { ByteArrayBuffer buffer = BufferFor(id); HandlerVersion handlerVersion = field.ContainingClass().SeekToField(_transaction, buffer, field); if (handlerVersion == HandlerVersion.Invalid) { return(null); } QueryingReadContext context = new QueryingReadContext(_transaction, handlerVersion ._number, buffer, id); return(field.Read(context)); }
private static bool CanFollowParent(QCon con) { QCon parent = con.Parent(); FieldMetadata parentField = GetYapField(parent); if (null == parentField) { return(false); } FieldMetadata conField = GetYapField(con); if (null == conField) { return(false); } return(parentField.HasIndex() && parentField.FieldType().IsAssignableFrom(conField .ContainingClass())); }
private object ReadFieldValue(int id, FieldMetadata field) { var buffer = BufferFor(id); var handlerVersion = field.ContainingClass().SeekToField(_transaction, buffer, field); if (handlerVersion == HandlerVersion.Invalid) { return null; } var context = new QueryingReadContext(_transaction, handlerVersion ._number, buffer, id); return field.Read(context); }