MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / nextChannelQueryEntry

Function nextChannelQueryEntry

db/changes_view.go:54–81  ·  view source on GitHub ↗
(ctx context.Context, results sgbucket.QueryResultIterator, collectionID uint32)

Source from the content-addressed store, hash-verified

52}
53
54func 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.
84func (dbc *DatabaseContext) getQueryHandlerForCollection(collectionID uint32) (ChannelQueryHandler, error) {

Callers 1

Calls 6

SetRevAndVersionMethod · 0.95
SetDeletedMethod · 0.95
SetRemovedMethod · 0.95
NewFeedTimestampFromNowFunction · 0.92
HexCasToUint64Function · 0.92
NextMethod · 0.45

Tested by

no test coverage detected