Mercurial > gemma
comparison cmd/octreediff/db.go @ 2465:86c7a023400e octree-diff
Started experimental octree diff branch.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 25 Feb 2019 17:02:33 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
2391:123e7f43b676 | 2465:86c7a023400e |
---|---|
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) 2018 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 "database/sql" | |
18 "flag" | |
19 | |
20 "github.com/jackc/pgx" | |
21 "github.com/jackc/pgx/stdlib" | |
22 ) | |
23 | |
24 var ( | |
25 dbhost = flag.String("dbhost", "localhost", "database host") | |
26 dbport = flag.Uint("dbport", 5432, "database port") | |
27 dbname = flag.String("dbname", "gemma", "database user") | |
28 dbuser = flag.String("dbuser", "scott", "database user") | |
29 dbpassword = flag.String("dbpw", "tiger", "database password") | |
30 dbssl = flag.String("dbssl", "prefer", "database SSL mode") | |
31 ) | |
32 | |
33 func run(fn func(*sql.DB) error) error { | |
34 | |
35 // To ease SSL config ride a bit on parsing. | |
36 cc, err := pgx.ParseConnectionString("sslmode=" + *dbssl) | |
37 if err != nil { | |
38 return err | |
39 } | |
40 | |
41 // Do the rest manually to allow whitespace in user/password. | |
42 cc.Host = *dbhost | |
43 cc.Port = uint16(*dbport) | |
44 cc.User = *dbuser | |
45 cc.Password = *dbpassword | |
46 cc.Database = *dbname | |
47 | |
48 db := stdlib.OpenDB(cc) | |
49 defer db.Close() | |
50 | |
51 return fn(db) | |
52 } |