# HG changeset patch # User martin f. krafft # Date 1334010833 -7200 # Node ID 0244f1344b040b9c5e0903187fc0ec2556528a88 # Parent 1fa354bbdb902c17ddafda9eafc4ad951d741f6b Make virtual_alias_maps function search catchall when no aliases are found diff -r 1fa354bbdb90 -r 0244f1344b04 pgsql/create_tables-dovecot-1.2.x.pgsql --- a/pgsql/create_tables-dovecot-1.2.x.pgsql Tue Apr 10 00:08:12 2012 +0200 +++ b/pgsql/create_tables-dovecot-1.2.x.pgsql Tue Apr 10 00:33:53 2012 +0200 @@ -598,6 +598,15 @@ LOOP RETURN NEXT record; END LOOP; + IF NOT FOUND THEN + FOR record IN + SELECT recipient, destination + FROM catchall + WHERE gid = did + LOOP + RETURN NEXT record; + END LOOP; + END IF; RETURN; END; $$ LANGUAGE plpgsql STABLE diff -r 1fa354bbdb90 -r 0244f1344b04 pgsql/create_tables.pgsql --- a/pgsql/create_tables.pgsql Tue Apr 10 00:08:12 2012 +0200 +++ b/pgsql/create_tables.pgsql Tue Apr 10 00:33:53 2012 +0200 @@ -575,6 +575,15 @@ LOOP RETURN NEXT record; END LOOP; + IF NOT FOUND THEN + FOR record IN + SELECT recipient, destination + FROM catchall + WHERE gid = did + LOOP + RETURN NEXT record; + END LOOP; + END IF; RETURN; END; $$ LANGUAGE plpgsql STABLE diff -r 1fa354bbdb90 -r 0244f1344b04 pgsql/update_tables_0.5.x-0.6-dovecot-1.2.x.pgsql --- a/pgsql/update_tables_0.5.x-0.6-dovecot-1.2.x.pgsql Tue Apr 10 00:08:12 2012 +0200 +++ b/pgsql/update_tables_0.5.x-0.6-dovecot-1.2.x.pgsql Tue Apr 10 00:33:53 2012 +0200 @@ -495,6 +495,15 @@ LOOP RETURN NEXT record; END LOOP; + IF NOT FOUND THEN + FOR record IN + SELECT recipient, destination + FROM catchall + WHERE gid = did + LOOP + RETURN NEXT record; + END LOOP; + END IF; RETURN; END; $$ LANGUAGE plpgsql STABLE diff -r 1fa354bbdb90 -r 0244f1344b04 pgsql/update_tables_0.5.x-0.6.pgsql --- a/pgsql/update_tables_0.5.x-0.6.pgsql Tue Apr 10 00:08:12 2012 +0200 +++ b/pgsql/update_tables_0.5.x-0.6.pgsql Tue Apr 10 00:33:53 2012 +0200 @@ -473,6 +473,15 @@ LOOP RETURN NEXT record; END LOOP; + IF NOT FOUND THEN + FOR record IN + SELECT recipient, destination + FROM catchall + WHERE gid = did + LOOP + RETURN NEXT record; + END LOOP; + END IF; RETURN; END; $$ LANGUAGE plpgsql STABLE