예제 #1
0
        public TimeBasedColumn TryGetColumn([NotNull] string key, [NotNull] TimeGuid columnName)
        {
            var rawKey = StringExtensions.StringToBytes(key);

            if (!implementation.TryGetColumn(rawKey, columnName.ToByteArray(), out var rawColumn))
            {
                return(null);
            }
            return(rawColumn.ToTimeBasedColumn());
        }
예제 #2
0
        public TimeBasedColumn[] GetRange([NotNull] string key, [CanBeNull] TimeGuid exclusiveStartColumnName, [CanBeNull] TimeGuid inclusiveEndColumnName, int take, bool reversed)
        {
            if (take == int.MaxValue)
            {
                take--;
            }
            if (take <= 0)
            {
                return(new TimeBasedColumn[0]);
            }
            var rawKey = StringExtensions.StringToBytes(key);

            return(implementation.GetRow(rawKey, exclusiveStartColumnName?.ToByteArray(), inclusiveEndColumnName?.ToByteArray(), take + 1, reversed)
                   .Select(TimeBasedColumnExtensions.ToTimeBasedColumn)
                   .Where(x => x.Name != exclusiveStartColumnName)
                   .Take(take)
                   .ToArray());
        }