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

Method Write

backup/run.go:445–481  ·  view source on GitHub ↗
(buf *z.Buffer)

Source from the content-addressed store, hash-verified

443}
444
445func (bw *bufWriter) Write(buf *z.Buffer) error {
446 kv := &bpb.KV{}
447 err := buf.SliceIterate(func(s []byte) error {
448 kv.Reset()
449 if err := proto.Unmarshal(s, kv); err != nil {
450 return fmt.Errorf("processKvBuf failed to unmarshal kv: %w", err)
451 }
452 pk, err := x.Parse(kv.Key)
453 if err != nil {
454 return fmt.Errorf("processKvBuf failed to parse key: %w", err)
455 }
456 if pk.Attr == "_predicate_" {
457 return nil
458 }
459 if pk.IsSchema() || pk.IsType() {
460 return exportSchema(bw.writers, kv.Value, pk)
461 }
462 if pk.IsData() {
463 pl := &pb.PostingList{}
464 if err := proto.Unmarshal(kv.Value, pl); err != nil {
465 return fmt.Errorf("processKvBuf failed to Unmarshal pl: %w", err)
466 }
467 l := posting.NewList(kv.Key, pl, kv.Version)
468 kvList, err := worker.ToExportKvList(pk, l, bw.req)
469 if err != nil {
470 return fmt.Errorf("processKvBuf failed to export: %w", err)
471 }
472 if len(kvList.Kv) == 0 {
473 return nil
474 }
475 exportKv := kvList.Kv[0]
476 return worker.WriteExport(bw.writers, exportKv, bw.req.Format)
477 }
478 return nil
479 })
480 return fmt.Errorf("bufWriter failed to write: %w", err)
481}
482
483func runExportBackup() error {
484 keys, err := x.GetEncAclKeys(ExportBackup.Conf)

Callers

nothing calls this directly

Calls 10

ParseFunction · 0.92
NewListFunction · 0.92
ToExportKvListFunction · 0.92
WriteExportFunction · 0.92
exportSchemaFunction · 0.85
IsSchemaMethod · 0.80
IsTypeMethod · 0.80
IsDataMethod · 0.80
ResetMethod · 0.45
ErrorfMethod · 0.45

Tested by

no test coverage detected