diff options
author | Corey Hulen <corey@hulen.com> | 2015-07-23 11:21:54 -0800 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2015-07-23 11:21:54 -0800 |
commit | b813234f4cc38e72bb94556d3a4acdcde5071468 (patch) | |
tree | f9a0eb8f9596c91531c6997617b4dd66e05dd317 /Godeps/_workspace/src/github.com/lib/pq/oid/gen.go | |
parent | 32e8dddd0cd8532e45f89290a154d5d7911c16dd (diff) | |
parent | 98751a4f65a656839dc3724e72e672b585cb18c9 (diff) | |
download | chat-b813234f4cc38e72bb94556d3a4acdcde5071468.tar.gz chat-b813234f4cc38e72bb94556d3a4acdcde5071468.tar.bz2 chat-b813234f4cc38e72bb94556d3a4acdcde5071468.zip |
Merge pull request #170 from mattermost/mm-1420
Fixes mm-1420 adding initial support for postgres
Diffstat (limited to 'Godeps/_workspace/src/github.com/lib/pq/oid/gen.go')
-rw-r--r-- | Godeps/_workspace/src/github.com/lib/pq/oid/gen.go | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/Godeps/_workspace/src/github.com/lib/pq/oid/gen.go b/Godeps/_workspace/src/github.com/lib/pq/oid/gen.go new file mode 100644 index 000000000..cd4aea808 --- /dev/null +++ b/Godeps/_workspace/src/github.com/lib/pq/oid/gen.go @@ -0,0 +1,74 @@ +// +build ignore + +// Generate the table of OID values +// Run with 'go run gen.go'. +package main + +import ( + "database/sql" + "fmt" + "log" + "os" + "os/exec" + + _ "github.com/lib/pq" +) + +func main() { + datname := os.Getenv("PGDATABASE") + sslmode := os.Getenv("PGSSLMODE") + + if datname == "" { + os.Setenv("PGDATABASE", "pqgotest") + } + + if sslmode == "" { + os.Setenv("PGSSLMODE", "disable") + } + + db, err := sql.Open("postgres", "") + if err != nil { + log.Fatal(err) + } + cmd := exec.Command("gofmt") + cmd.Stderr = os.Stderr + w, err := cmd.StdinPipe() + if err != nil { + log.Fatal(err) + } + f, err := os.Create("types.go") + if err != nil { + log.Fatal(err) + } + cmd.Stdout = f + err = cmd.Start() + if err != nil { + log.Fatal(err) + } + fmt.Fprintln(w, "// generated by 'go run gen.go'; do not edit") + fmt.Fprintln(w, "\npackage oid") + fmt.Fprintln(w, "const (") + rows, err := db.Query(` + SELECT typname, oid + FROM pg_type WHERE oid < 10000 + ORDER BY oid; + `) + if err != nil { + log.Fatal(err) + } + var name string + var oid int + for rows.Next() { + err = rows.Scan(&name, &oid) + if err != nil { + log.Fatal(err) + } + fmt.Fprintf(w, "T_%s Oid = %d\n", name, oid) + } + if err = rows.Err(); err != nil { + log.Fatal(err) + } + fmt.Fprintln(w, ")") + w.Close() + cmd.Wait() +} |