Mercurial > gemma
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 } |