1// Command gensales writes the sales the linked sources demo reads2// (sources.tape): ten million rows of Parquet, an id, one of eight3// categories, an amount and a date each, the same every time4// (internal/stress's SalesParquet), into the file named on its command5// line.6package main78import (9 "flag"10 "fmt"11 "os"12 "path/filepath"1314 "src.rest/cat/012/internal/stress"15)1617func main() {18 rows := flag.Int("rows", 10_000_000, "how many rows to write")19 flag.Parse()20 if flag.NArg() != 1 {21 fmt.Fprintln(os.Stderr, "usage: gensales [-rows n] out.parquet")22 os.Exit(2)23 }24 out := flag.Arg(0)25 dir, err := os.MkdirTemp(filepath.Dir(out), "gensales")26 if err == nil {27 defer os.RemoveAll(dir)28 var name string29 if name, err = stress.SalesParquet(dir, *rows); err == nil {30 err = os.Rename(name, out)31 }32 }33 if err != nil {34 fmt.Fprintln(os.Stderr, "gensales:", err)35 os.Exit(1)36 }37}