示例#1
0
 public int GetIndexRecordCount(SequencesIndexPartialKey1 key)
 {
     if (!SeekPartial(key))
     {
         return(0);
     }
     return(GetIndexRecordCount());
 }
示例#2
0
 public bool SeekPartial(SequencesIndexPartialKey1 key)
 {
     if (Find(key))
     {
         if (SetPartialUpperRange(key))
         {
             return(true);
         }
     }
     return(false);
 }
示例#3
0
                public void SetKey(SequencesIndexPartialKey1 key, bool startRange)
                {
                    var rangeFlag = startRange ? MakeKeyGrbit.FullColumnStartLimit : MakeKeyGrbit.FullColumnEndLimit;

                    if (key.EntityReferences == null)
                    {
                        Api.MakeKey(_table.Session, _table, null, MakeKeyGrbit.NewKey | rangeFlag);
                    }
                    else
                    {
                        Api.MakeKey(_table.Session, _table, key.EntityReferences.Value, MakeKeyGrbit.NewKey | rangeFlag);
                    }
                }
示例#4
0
 public IEnumerable <object> Enumerate(SequencesIndexPartialKey1 key)
 {
     SetKey(key, true);
     if (Api.TrySeek(_table.Session, _table, SeekGrbit.SeekGE))
     {
         SetKey(key, false);
         if (Api.TrySetIndexRange(_table.Session, _table, SetIndexRangeGrbit.RangeUpperLimit))
         {
             do
             {
                 yield return(_table);
             } while (Api.TryMoveNext(_table.Session, _table));
         }
     }
 }
示例#5
0
 public IEnumerable <ViewValues.MediaDataView> EnumerateAsMediaDataView(SequencesIndexPartialKey1 key)
 {
     SetKey(key, true);
     if (Api.TrySeek(_table.Session, _table, SeekGrbit.SeekGE))
     {
         SetKey(key, false);
         if (Api.TrySetIndexRange(_table.Session, _table, SetIndexRangeGrbit.RangeUpperLimit))
         {
             do
             {
                 yield return(Views.MediaDataView.Fetch());
             } while (Api.TryMoveNext(_table.Session, _table));
         }
     }
 }
示例#6
0
 public bool SetPartialUpperRange(SequencesIndexPartialKey1 key)
 {
     SetKey(key, false);
     return(Api.TrySetIndexRange(_table.Session, _table, SetIndexRangeGrbit.RangeUpperLimit));
 }
示例#7
0
 public bool Find(SequencesIndexPartialKey1 key)
 {
     SetKey(key, true);
     return(Api.TrySeek(_table.Session, _table, SeekGrbit.SeekGE));
 }