(buf *z.Buffer)
| 443 | } |
| 444 | |
| 445 | func (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 | |
| 483 | func runExportBackup() error { |
| 484 | keys, err := x.GetEncAclKeys(ExportBackup.Conf) |
nothing calls this directly
no test coverage detected