--- a/pgsql/create_optional_types_and_functions.pgsql Mon Jul 12 01:53:32 2010 +0000
+++ b/pgsql/create_optional_types_and_functions.pgsql Tue Jul 20 03:15:57 2010 +0000
@@ -88,7 +88,7 @@
address varchar(320) := localpart || '@' || the_domain;
BEGIN
FOR rec IN
- SELECT address, domaindir||'/'||users.uid||'/'||maillocation||'/'
+ SELECT address, domaindir||'/'||users.uid||'/'||directory||'/'
FROM domain_data, users, maillocation
WHERE domain_data.gid = did
AND users.gid = did
@@ -108,7 +108,6 @@
-- ---
-- Data type for functions: postfix_relocated_map(varchar, varchar)
-- postfix_virtual_alias_map(varchar, varchar)
---
-- ---
CREATE TYPE recipient_destination AS (
recipient varchar(320),
@@ -296,7 +295,9 @@
-- Returns: dovecotuser records
--
-- Required access privileges for your dovecot database user:
--- GRANT SELECT ON users,domain_data,domain_name,maillocation TO dovecot;
+-- GRANT SELECT
+-- ON users, domain_data, domain_name, maillocation, mailboxformat
+-- TO dovecot;
--
-- For more details see http://wiki.dovecot.org/UserDatabase
-- ---
@@ -309,12 +310,13 @@
did bigint := (SELECT gid FROM domain_name WHERE domainname=the_domain);
BEGIN
FOR record IN
- SELECT userid, uid, did, domaindir ||'/'|| uid AS home,
- '~/'|| maillocation AS mail
- FROM users, domain_data, maillocation
+ SELECT userid, uid, did, domaindir || '/' || uid AS home,
+ format || ':~/' || directory AS mail
+ FROM users, domain_data, mailboxformat, maillocation
WHERE users.gid = did
AND users.local_part = localpart
AND maillocation.mid = users.mid
+ AND mailboxformat.fid = maillocation.fid
AND domain_data.gid = did
LOOP
RETURN NEXT record;
@@ -332,7 +334,7 @@
-- ---
CREATE TYPE dovecotpassword AS (
userid varchar(320),
- password varchar(74),
+ password varchar(270),
smtp boolean,
pop3 boolean,
imap boolean,