comparison cmd/oct2str/main.go @ 4648:66fcd898efd9 stree-experiment

Started with conversion tool.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 13 Oct 2019 19:22:36 +0200
parents
children 8f745c353784
comparison
equal deleted inserted replaced
4647:18331577a251 4648:66fcd898efd9
1 // This is Free Software under GNU Affero General Public License v >= 3.0
2 // without warranty, see README.md and license for details.
3 //
4 // SPDX-License-Identifier: AGPL-3.0-or-later
5 // License-Filename: LICENSES/AGPL-3.0.txt
6 //
7 // Copyright (C) 2019 by via donau
8 // – Österreichische Wasserstraßen-Gesellschaft mbH
9 // Software engineering by Intevation GmbH
10 //
11 // Author(s):
12 // * Sascha L. Teichmann <sascha.teichmann@intevation.de>
13
14 package main
15
16 import (
17 "context"
18 "database/sql"
19 "flag"
20 "log"
21
22 "github.com/jackc/pgx"
23 "github.com/jackc/pgx/stdlib"
24 )
25
26 func process(ctx context.Context, conn *sql.Conn) error {
27 // TODO: Implement me!
28 return nil
29 }
30
31 func connect(cc pgx.ConnConfig) error {
32 db := stdlib.OpenDB(cc)
33 defer db.Close()
34
35 ctx := context.Background()
36
37 conn, err := db.Conn(ctx)
38 if err != nil {
39 return err
40 }
41 defer conn.Close()
42
43 return process(ctx, conn)
44 }
45
46 func main() {
47 var (
48 db = flag.String("database", "gemma", "database name")
49 user = flag.String("user", "sophie", "database user")
50 host = flag.String("host", "localhost", "database host")
51 password = flag.String("password", "so2Phie4", "database password")
52 port = flag.Uint("port", 5432, "database port")
53 ssl = flag.String("ssl", "prefer", "SSL mode")
54 )
55
56 flag.Parse()
57 cc, err := pgx.ParseConnectionString("sslmode=" + *ssl)
58 if err != nil {
59 log.Fatalf("error: %v\n", err)
60 }
61
62 // Do the rest manually to allow whitespace in user/password.
63 cc.Host = *host
64 cc.Port = uint16(*port)
65 cc.User = *user
66 cc.Password = *password
67 cc.Database = *db
68
69 if err := connect(cc); err != nil {
70 log.Fatalf("error: %v\n", err)
71 }
72 }