diff options
author | =Corey Hulen <corey@hulen.com> | 2015-07-12 14:56:44 -0800 |
---|---|---|
committer | =Corey Hulen <corey@hulen.com> | 2015-07-12 19:24:48 -0800 |
commit | ff21a5c75f090d5c27446eeaa6fb3ff6f82c5ab4 (patch) | |
tree | 09201bb6769d9ded3c5df61a770a5ea534799434 /Godeps/_workspace/src/github.com/lib/pq/oid/gen.go | |
parent | 27cab0f507d253bba5658335f42a4c7675fcdac7 (diff) | |
download | chat-ff21a5c75f090d5c27446eeaa6fb3ff6f82c5ab4.tar.gz chat-ff21a5c75f090d5c27446eeaa6fb3ff6f82c5ab4.tar.bz2 chat-ff21a5c75f090d5c27446eeaa6fb3ff6f82c5ab4.zip |
Fixes mm-1420 adding postgres support
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() +} |