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"); } }
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); } } }