Mercurial > gemma
view 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 |
line wrap: on
line source
// This is Free Software under GNU Affero General Public License v >= 3.0 // without warranty, see README.md and license for details. // // SPDX-License-Identifier: AGPL-3.0-or-later // License-Filename: LICENSES/AGPL-3.0.txt // // Copyright (C) 2019 by via donau // – Österreichische Wasserstraßen-Gesellschaft mbH // Software engineering by Intevation GmbH // // Author(s): // * Sascha L. Teichmann <sascha.teichmann@intevation.de> package main import ( "context" "database/sql" "flag" "log" "github.com/jackc/pgx" "github.com/jackc/pgx/stdlib" ) func process(ctx context.Context, conn *sql.Conn) error { // TODO: Implement me! return nil } func connect(cc pgx.ConnConfig) error { db := stdlib.OpenDB(cc) defer db.Close() ctx := context.Background() conn, err := db.Conn(ctx) if err != nil { return err } defer conn.Close() return process(ctx, conn) } func main() { var ( db = flag.String("database", "gemma", "database name") user = flag.String("user", "sophie", "database user") host = flag.String("host", "localhost", "database host") password = flag.String("password", "so2Phie4", "database password") port = flag.Uint("port", 5432, "database port") ssl = flag.String("ssl", "prefer", "SSL mode") ) flag.Parse() cc, err := pgx.ParseConnectionString("sslmode=" + *ssl) if err != nil { log.Fatalf("error: %v\n", err) } // Do the rest manually to allow whitespace in user/password. cc.Host = *host cc.Port = uint16(*port) cc.User = *user cc.Password = *password cc.Database = *db if err := connect(cc); err != nil { log.Fatalf("error: %v\n", err) } }