Example #1
0
        public byte[] GetValue(long rowID, ReadContext readContext)
        {
            var byteArray = readContext.AllocateBitsetArray(_sizeBytes);

            _storage.ReadBytes(rowID * _fieldSize + ISSET_HEADER_LENGTH,
                               byteArray, 0, _sizeBytes);

            return(byteArray);
        }
        public void Write(object item, long rowID, PartitionTxData pd)
        {
            ReadContext readCache = pd.ReadCache;

            if (_issetColumn != null)
            {
                byte[] bitSetAddress = readCache.AllocateBitsetArray(_bitsetColSize);
                var    byteArray     = new ByteArray(bitSetAddress);
                _writeMethod(item, byteArray, _fixedColumns, rowID, _stringColumns, pd);
                _issetColumn.SetValue(rowID, bitSetAddress, pd);
            }
            else
            {
                var byteArray = new ByteArray();
                _writeMethod(item, byteArray, _fixedColumns, rowID, _stringColumns, pd);
            }
        }