From 8cd23d257f1b61f031c72f5f63c558dd00040c7d Mon Sep 17 00:00:00 2001 From: "Sascha L. Teichmann" Date: Sat, 23 Aug 2014 16:01:57 +0200 Subject: [PATCH] Moved special code for interleaver out of common. --- common/coords.go | 28 ---------------------------- interleaver/main.go | 41 +++++++++++++++++++++++++++++++++++------ 2 files changed, 35 insertions(+), 34 deletions(-) diff --git a/common/coords.go b/common/coords.go index 0491549..0bcf5aa 100644 --- a/common/coords.go +++ b/common/coords.go @@ -176,31 +176,3 @@ func TranscodeInterleavedToPlain(key []byte) ([]byte, error) { return EncodeStringToBytes(TransformInterleavedToPlain(pos)) } } - -func SelectKeySplitter(interleaved bool) KeySplitter { - if interleaved { - return InterleavedToCoord - } - return PlainToCoord -} - -func SelectKeyJoiner(interleaved bool) KeyJoiner { - if interleaved { - return CoordToInterleaved - } - return CoordToPlain -} - -func SelectKeyDecoder(interleaved bool) KeyDecoder { - if interleaved { - return DecodeFromBigEndian - } - return DecodeStringFromBytes -} - -func SelectKeyEncoder(interleaved bool) KeyEncoder { - if interleaved { - return EncodeToBigEndian - } - return EncodeStringToBytes -} diff --git a/interleaver/main.go b/interleaver/main.go index 1971e7d..85dd651 100644 --- a/interleaver/main.go +++ b/interleaver/main.go @@ -20,6 +20,34 @@ func usage() { flag.PrintDefaults() } +func selectKeySplitter(interleaved bool) common.KeySplitter { + if interleaved { + return common.InterleavedToCoord + } + return common.PlainToCoord +} + +func selectKeyJoiner(interleaved bool) common.KeyJoiner { + if interleaved { + return common.CoordToInterleaved + } + return common.CoordToPlain +} + +func selectKeyDecoder(interleaved bool) common.KeyDecoder { + if interleaved { + return common.DecodeFromBigEndian + } + return common.DecodeStringFromBytes +} + +func selectKeyEncoder(interleaved bool) common.KeyEncoder { + if interleaved { + return common.EncodeToBigEndian + } + return common.EncodeStringToBytes +} + func copyProducerToConsumer(producer BlockProducer, consumer BlockConsumer) (err error) { var block Block i := 0 @@ -86,14 +114,14 @@ func main() { if srcBackend == "sqlite" { if producer, err = NewSQLiteBlockProducer( flag.Arg(0), - common.SelectKeySplitter(srcInterleaved)); err != nil { + selectKeySplitter(srcInterleaved)); err != nil { log.Fatalf("Cannot open '%s': %s", flag.Arg(0), err) } } else { // LevelDB if producer, err = NewLevelDBBlockProducer( flag.Arg(0), - common.SelectKeySplitter(srcInterleaved), - common.SelectKeyDecoder(srcInterleaved)); err != nil { + selectKeySplitter(srcInterleaved), + selectKeyDecoder(srcInterleaved)); err != nil { log.Fatalf("Cannot open '%s': %s", flag.Arg(0), err) } } @@ -101,14 +129,15 @@ func main() { if dstBackend == "sqlite" { if consumer, err = NewSQLiteBlockConsumer( - flag.Arg(1), common.SelectKeyJoiner(dstInterleaved)); err != nil { + flag.Arg(1), + selectKeyJoiner(dstInterleaved)); err != nil { log.Fatalf("Cannot open '%s': %s", flag.Arg(1), err) } } else { // LevelDB if consumer, err = NewLevelDBBlockConsumer( flag.Arg(1), - common.SelectKeyJoiner(dstInterleaved), - common.SelectKeyEncoder(dstInterleaved)); err != nil { + selectKeyJoiner(dstInterleaved), + selectKeyEncoder(dstInterleaved)); err != nil { log.Fatalf("Cannot open '%s': %s", flag.Arg(1), err) } }