diff -r 62211b6a9b8e -r e21ceaabe871 pgsql/create_optional_types_and_functions.pgsql --- 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,