예제 #1
0
        private int CreateHeader(string value, IRawFile data)
        {
            if (value == null)
            {
                return(StringColumn.HEADER_SIZE);
            }

            int length = value.Length;

            data.WriteInt32(0, length);
            return(StringColumn.HEADER_SIZE);
        }
예제 #2
0
        private void SetValue0(long rowID, string value, PartitionTxData tx)
        {
            var symbolCache = tx.ReadCache.GetCache(_partitionID, _columnId, _cacheCapacity);
            var key         = symbolCache.GetRowID(value);

            if (key == NOT_FOUND_VALUE)
            {
                key = AddKey(value, symbolCache, tx);
            }

            _data.WriteInt32(rowID * INT32_SIZE, key);
            if (_isIndexed)
            {
                _datarIndex.Add(key, rowID, tx);
            }
        }
예제 #3
0
        public void SetInt32(long rowID, int value)
        {
            var offset = rowID * _sizeBytes;

            _storage.WriteInt32(offset, value);
        }