changeset 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 18331577a251
children 8f745c353784
files cmd/oct2str/main.go schema/gemma.sql schema/updates/1302/01.mesh-columns.sql
diffstat 3 files changed, 76 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cmd/oct2str/main.go	Sun Oct 13 19:22:36 2019 +0200
@@ -0,0 +1,72 @@
+// 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)
+	}
+}
--- a/schema/gemma.sql	Sun Oct 13 16:02:16 2019 +0200
+++ b/schema/gemma.sql	Sun Oct 13 19:22:36 2019 +0200
@@ -712,6 +712,8 @@
         depth_reference varchar NOT NULL, -- REFERENCES depth_references,
         octree_checksum varchar,
         octree_index bytea,
+        mesh_checksum varchar,
+        mesh_index bytea,
         staging_done boolean NOT NULL DEFAULT false
     )
     CREATE CONSTRAINT TRIGGER a_sounding_results_reference_bottleneck
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/schema/updates/1302/01.mesh-columns.sql	Sun Oct 13 19:22:36 2019 +0200
@@ -0,0 +1,2 @@
+alter table waterway.sounding_results add column mesh_index bytea;
+alter table waterway.sounding_results add column mesh_checksum varchar;