package main import ( "database/sql" "flag" "fmt" "os" "github.com/golang/glog" _ "github.com/lib/pq" ) func fetchMessage(db *sql.DB, hash string) error { rows, err := db.Query(` SELECT blob FROM original WHERE hash = $1 `, hash) if err != nil { return err } var b []byte for rows.Next() { if err := rows.Scan(&b); err != nil { return err } fmt.Println(string(b)) } if err := rows.Err(); err != nil { return err } return nil } func main() { defer glog.Flush() flag.Parse() // TODO(wathiede): make a set of flags. db, err := sql.Open("postgres", "user=gomail dbname=gomail sslmode=disable") if err != nil { glog.Fatal(err) } if flag.NArg() == 0 { fmt.Println("Must specify message hashes to print") os.Exit(1) } for _, hash := range flag.Args() { if err := fetchMessage(db, hash); err != nil { glog.Fatal(err) } } }