view cmd/octree2contour/db.go @ 943:532c8392048f v1-uat1

client: replace arrow image * Use an arrow image that has the same color and is a triangle.
author Bernhard Reiter <bernhard@intevation.de>
date Tue, 09 Oct 2018 19:55:33 +0200
parents a9783d8f74ed
children
line wrap: on
line source

package main

import (
	"database/sql"
	"flag"

	"github.com/jackc/pgx"
	"github.com/jackc/pgx/stdlib"
)

var (
	dbhost     = flag.String("dbhost", "localhost", "database host")
	dbport     = flag.Uint("dbport", 5432, "database port")
	dbname     = flag.String("dbname", "gemma", "database user")
	dbuser     = flag.String("dbuser", "scott", "database user")
	dbpassword = flag.String("dbpw", "tiger", "database password")
	dbssl      = flag.String("dbssl", "prefer", "database SSL mode")
)

func run(fn func(*sql.DB) error) error {

	// To ease SSL config ride a bit on parsing.
	cc, err := pgx.ParseConnectionString("sslmode=" + *dbssl)
	if err != nil {
		return err
	}

	// Do the rest manually to allow whitespace in user/password.
	cc.Host = *dbhost
	cc.Port = uint16(*dbport)
	cc.User = *dbuser
	cc.Password = *dbpassword
	cc.Database = *dbname

	db := stdlib.OpenDB(cc)
	defer db.Close()

	return fn(db)
}