Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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()));
        }
Ejemplo n.º 3
0
 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);
 }