Browse Source

write docs for cutWALUntil and wal2json binaries

pull/672/head
Anton Kaliaev 7 years ago
parent
commit
bb7b152af5
No known key found for this signature in database GPG Key ID: 7B6881D965918214
2 changed files with 27 additions and 4 deletions
  1. +16
    -4
      scripts/cutWALUntil/main.go
  2. +11
    -0
      scripts/wal2json/main.go

+ 16
- 4
scripts/cutWALUntil/main.go View File

@ -1,3 +1,10 @@
/*
cutWALUntil is a small utility for cutting a WAL until the given height
(inclusively). Note it does not include last cs.EndHeightMessage.
Usage:
cutWALUntil <path-to-wal> height-to-stop <output-wal>
*/
package main
import (
@ -10,27 +17,32 @@ import (
)
func main() {
if len(os.Args) < 4 {
fmt.Println("3 arguments required: <path-to-wal> height-to-stop <output-wal>")
os.Exit(1)
}
var heightToStop uint64
var err error
if heightToStop, err = strconv.ParseUint(os.Args[2], 10, 64); err != nil {
panic(fmt.Errorf("failed to parse height: %v (format: cutWALUntil in heightToStop out)", err))
panic(fmt.Errorf("failed to parse height: %v", err))
}
in, err := os.Open(os.Args[1])
if err != nil {
panic(fmt.Errorf("failed to open WAL file: %v (format: cutWALUntil in heightToStop out)", err))
panic(fmt.Errorf("failed to open input WAL file: %v", err))
}
defer in.Close()
out, err := os.Create(os.Args[3])
if err != nil {
panic(fmt.Errorf("failed to open WAL file: %v (format: cutWALUntil in heightToStop out)", err))
panic(fmt.Errorf("failed to open output WAL file: %v", err))
}
defer out.Close()
enc := cs.NewWALEncoder(out)
dec := cs.NewWALDecoder(in)
for {
msg, err := dec.Decode()
if err == io.EOF {


+ 11
- 0
scripts/wal2json/main.go View File

@ -1,3 +1,9 @@
/*
wal2json converts binary WAL file to JSON.
Usage:
wal2json <path-to-wal>
*/
package main
import (
@ -10,6 +16,11 @@ import (
)
func main() {
if len(os.Args) < 2 {
fmt.Println("missing one argument: <path-to-wal>")
os.Exit(1)
}
f, err := os.Open(os.Args[1])
if err != nil {
panic(fmt.Errorf("failed to open WAL file: %v", err))


Loading…
Cancel
Save