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

Function makeChangeEntry

db/changes.go:542–568  ·  view source on GitHub ↗
(ctx context.Context, logEntry *LogEntry, seqID SequenceID, channel channels.ID, versionType ChangesVersionType)

Source from the content-addressed store, hash-verified

540}
541
542func makeChangeEntry(ctx context.Context, logEntry *LogEntry, seqID SequenceID, channel channels.ID, versionType ChangesVersionType) ChangeEntry {
543 change := ChangeEntry{
544 Seq: seqID,
545 ID: logEntry.DocID,
546 Deleted: (logEntry.Flags & channels.Deleted) != 0,
547 Changes: []ChangeByVersionType{{ChangesVersionTypeRevTreeID: logEntry.RevID}},
548 branched: (logEntry.Flags & channels.Branched) != 0,
549 principalDoc: logEntry.IsPrincipal,
550 collectionID: logEntry.CollectionID,
551 }
552
553 switch versionType {
554 case ChangesVersionTypeCV:
555 if logEntry.SourceID != "" {
556 change.Changes[0] = ChangeByVersionType{versionType: Version{SourceID: logEntry.SourceID, Value: logEntry.Version}.String()}
557 }
558 case ChangesVersionTypeRevTreeID:
559 fallthrough
560 default:
561 // already initialized with a 'rev' change entry
562 }
563 if logEntry.Flags&channels.Removed != 0 {
564 change.Removed = base.SetOf(channel.Name)
565 }
566
567 return change
568}
569
570func makeRevocationChangeEntry(ctx context.Context, logEntry *LogEntry, seqID SequenceID, channel channels.ID, versionType ChangesVersionType) ChangeEntry {
571 entry := makeChangeEntry(ctx, logEntry, seqID, channel, versionType)

Callers 3

changesFeedMethod · 0.85
getLateFeedMethod · 0.85

Calls 2

SetOfFunction · 0.92
StringMethod · 0.65

Tested by

no test coverage detected