(ctx context.Context, results sgbucket.QueryResultIterator, collectionID uint32)
| 52 | } |
| 53 | |
| 54 | func nextChannelQueryEntry(ctx context.Context, results sgbucket.QueryResultIterator, collectionID uint32) (*LogEntry, bool) { |
| 55 | |
| 56 | var queryRow QueryChannelsRow |
| 57 | found := results.Next(ctx, &queryRow) |
| 58 | if !found { |
| 59 | return nil, false |
| 60 | } |
| 61 | entry := &LogEntry{ |
| 62 | Sequence: queryRow.Sequence, |
| 63 | DocID: queryRow.Id, |
| 64 | Flags: queryRow.Flags, |
| 65 | TimeReceived: channels.NewFeedTimestampFromNow(), |
| 66 | CollectionID: collectionID, |
| 67 | } |
| 68 | entry.SetRevAndVersion(queryRow.Rev) |
| 69 | |
| 70 | if queryRow.RemovalRev != nil { |
| 71 | entry.RevID = queryRow.RemovalRev.RevTreeID |
| 72 | entry.Version = base.HexCasToUint64(queryRow.RemovalRev.CurrentVersion) |
| 73 | entry.SourceID = queryRow.RemovalRev.CurrentSource |
| 74 | if queryRow.RemovalDel { |
| 75 | entry.SetDeleted() |
| 76 | } |
| 77 | entry.SetRemoved() |
| 78 | } |
| 79 | return entry, true |
| 80 | |
| 81 | } |
| 82 | |
| 83 | // Queries the 'channels' view to get a range of sequences of a single channel as LogEntries. |
| 84 | func (dbc *DatabaseContext) getQueryHandlerForCollection(collectionID uint32) (ChannelQueryHandler, error) { |
no test coverage detected