# HG changeset patch
# User martin f. krafft <madduck@madduck.net>
# 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