MCPcopy
hub / github.com/dgraph-io/dgraph / isSwap

Function isSwap

edgraph/server.go:2492–2512  ·  view source on GitHub ↗
(qc *queryContext, pred1SubjectUid uint64, pred1Predicate string)

Source from the content-addressed store, hash-verified

2490}
2491
2492func isSwap(qc *queryContext, pred1SubjectUid uint64, pred1Predicate string) (bool, error) {
2493 for i := range qc.uniqueVars {
2494 gmuIndex, rdfIndex := decodeIndex(i)
2495 pred2 := qc.gmuList[gmuIndex].Set[rdfIndex]
2496 var pred2SubjectUid uint64
2497 if !strings.HasPrefix(pred2.Subject, "uid(") {
2498 var err error
2499 pred2SubjectUid, err = parseSubject(pred2.Subject)
2500 if err != nil {
2501 return false, errors.Wrapf(err, "error while parsing [%v]", pred2.Subject)
2502 }
2503 } else {
2504 pred2SubjectUid = 0
2505 }
2506
2507 if pred2SubjectUid == pred1SubjectUid && pred1Predicate == pred2.Predicate {
2508 return true, nil
2509 }
2510 }
2511 return false, nil
2512}
2513
2514// encodeBit two uint32 numbers by bit.
2515// First 32 bits store k1 and last 32 bits store k2.

Callers 1

verifyUniqueFunction · 0.85

Calls 2

decodeIndexFunction · 0.85
parseSubjectFunction · 0.85

Tested by

no test coverage detected