X-Git-Url: http://git.hcoop.net/clinton/domtool2.git/blobdiff_plain/fe789bea628b15229156c8a4272c2b6063c9b1a0..617696c652e7c2d3d651c1476bae97ec97641394:/src/plugins/postgres.sml diff --git a/src/plugins/postgres.sml b/src/plugins/postgres.sml index 6465377..6bc3505 100644 --- a/src/plugins/postgres.sml +++ b/src/plugins/postgres.sml @@ -1,5 +1,6 @@ (* HCoop Domtool (http://hcoop.sourceforge.net/) * Copyright (c) 2006, Adam Chlipala + * Copyright (c) 2012 Clinton Ebadi * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -20,27 +21,34 @@ structure Postgres :> POSTGRES = struct -fun adduser {user, passwd} = +fun adduser port {user, passwd} = Option.map (fn s => "Error executing CREATE USER script:\n" ^ s) - (Slave.shellOutput [Config.Postgres.adduser, user]) + (Slave.shellOutput [Config.Postgres.adduser, " ", port, " ", user]) fun passwd _ = SOME "We don't use PostgreSQL passwords." -fun createdb {user, dbname, encoding} = +fun createdb port {user, dbname, encoding} = Option.map (fn s => "Error executing CREATE DATABASE script:\n" ^ s) (Slave.shellOutput [Config.Postgres.createdb, - " ", user, " ", dbname, + " ", port, " ", user, " ", dbname, case encoding of NONE => "" | SOME e => " " ^ e]) -fun dropdb {user, dbname} = +fun dropdb port {user, dbname} = Option.map (fn s => "Error executing DROP DATABASE script:\n" ^ s) - (Slave.shellOutput [Config.Postgres.dropdb, user, " ", dbname]) + (Slave.shellOutput [Config.Postgres.dropdb, " ", port, " ", user, " ", dbname]) val _ = Dbms.register ("postgres", {getpass = NONE, - adduser = adduser, + adduser = adduser Config.Postgres.postgres81port, passwd = passwd, - createdb = createdb, - dropdb = dropdb, + createdb = createdb Config.Postgres.postgres81port, + dropdb = dropdb Config.Postgres.postgres81port, grant = fn _ => SOME "You don't need to use GRANT for Postgres."}) +val _ = Dbms.register ("postgres-9.1", {getpass = NONE, + adduser = adduser Config.Postgres.postgres91port, + passwd = passwd, + createdb = createdb Config.Postgres.postgres91port, + dropdb = dropdb Config.Postgres.postgres91port, + grant = fn _ => SOME "You don't need to use GRANT for Postgres."}) + end