public byte[] GetExternalRecordData(PropertyContextRecord record)
 {
     if (record.IsExternal)
     {
         return(NodeStorageHelper.GetExternalPropertyBytes(this.Heap, m_subnodeBTree, record.HeapOrNodeID));
     }
     else
     {
         throw new ArgumentException("Not an external record");
     }
 }
Esempio n. 2
0
        public byte[] GetPropertyValue(int rowIndex, int columnIndex)
        {
            TableColumnDescriptor columnDescriptor = m_tcInfo.rgTCOLDESC[columnIndex];

            byte[] cellBytes = GetInternalCellBytes(rowIndex, columnIndex);
            if (cellBytes == null)
            {
                return(null);
            }
            else
            {
                if (columnDescriptor.IsStoredExternally)
                {
                    HeapOrNodeID heapOrNodeID = new HeapOrNodeID(cellBytes);
                    return(NodeStorageHelper.GetExternalPropertyBytes(m_heap, m_subnodeBTree, heapOrNodeID));
                }
                else
                {
                    return(cellBytes);
                }
            }
        }