From 19f5b090e68f2fef69d8dd55be6dcd4ec88f45bc Mon Sep 17 00:00:00 2001 From: David Schor Date: Mon, 10 Aug 2015 02:44:19 -0400 Subject: [PATCH] add gzip support --- internal/dump.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/internal/dump.go b/internal/dump.go index e4674be..2bdc799 100644 --- a/internal/dump.go +++ b/internal/dump.go @@ -3,6 +3,8 @@ package internal import ( "fmt" "os" + "compress/gzip" + "path/filepath" "github.com/google/cayley/graph" "github.com/google/cayley/exporter" @@ -24,11 +26,16 @@ func Dump(qs graph.QuadStore, outFile, typ string) error { fmt.Printf("dumping db to file %q\n", outFile) } - export := exporter.NewExporter(f, qs) - if export.Err() != nil { - return export.Err() + var export *exporter.Exporter + if filepath.Ext(outFile) == ".gz" { + gzip := gzip.NewWriter(f) + defer gzip.Close() + export = exporter.NewExporter(gzip, qs) + } else { + export = exporter.NewExporter(f, qs) } + //TODO: add possible support for exporting specific queries only switch typ { case "nquad": export.ExportNquad()