diff.out

text/plain

Filename: diff.out
Type: text/plain
Part: 0
Message: pg_upgrade diffs on WIndows
--- tmp_check/dump1.sql	2012-09-04 14:55:08 -0400
+++ tmp_check/dump2.sql	2012-09-04 14:55:48 -0400
@@ -672,16 +672,16 @@
 *
 CREATE FUNCTION add_group(grp anyarray, ad anyelement, size integer) RETURNS anyarray*
     LANGUAGE plpgsql IMMUTABLE*
-    AS $$*
-begin*
-  if grp is null then*
-    return array[ad];*
-  end if;*
-  if array_upper(grp, 1) < size then*
-    return grp || ad;*
-  end if;*
-  return grp;*
-end;*
+    AS $$**
+begin**
+  if grp is null then**
+    return array[ad];**
+  end if;**
+  if array_upper(grp, 1) < size then**
+    return grp || ad;**
+  end if;**
+  return grp;**
+end;**
 $$;*
 *
 *
@@ -715,8 +715,8 @@
 *
 CREATE FUNCTION array_to_set(anyarray) RETURNS SETOF record*
     LANGUAGE sql IMMUTABLE STRICT*
-    AS $_$*
-  select i AS "index", $1[i] AS "value" from generate_subscripts($1, 1) i*
+    AS $_$**
+  select i AS "index", $1[i] AS "value" from generate_subscripts($1, 1) i**
 $_$;*
 *
 *
@@ -739,14 +739,14 @@
 *
 CREATE FUNCTION binary_coercible(oid, oid) RETURNS boolean*
     LANGUAGE sql STABLE STRICT*
-    AS $_$*
-SELECT ($1 = $2) OR*
- EXISTS(select 1 from pg_catalog.pg_cast where*
-        castsource = $1 and casttarget = $2 and*
-        castmethod = 'b' and castcontext = 'i') OR*
- ($2 = 'pg_catalog.anyarray'::pg_catalog.regtype AND*
-  EXISTS(select 1 from pg_catalog.pg_type where*
-         oid = $1 and typelem != 0 and typlen = -1))*
+    AS $_$**
+SELECT ($1 = $2) OR**
+ EXISTS(select 1 from pg_catalog.pg_cast where**
+        castsource = $1 and casttarget = $2 and**
+        castmethod = 'b' and castcontext = 'i') OR**
+ ($2 = 'pg_catalog.anyarray'::pg_catalog.regtype AND**
+  EXISTS(select 1 from pg_catalog.pg_type where**
+         oid = $1 and typelem != 0 and typlen = -1))**
 $_$;*
 *
 *
@@ -758,10 +758,10 @@
 *
 CREATE FUNCTION bleat(integer) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $_$*
-begin*
-  raise notice 'bleat %', $1;*
-  return $1;*
+    AS $_$**
+begin**
+  raise notice 'bleat %', $1;**
+  return $1;**
 end$_$;*
 *
 *
@@ -773,26 +773,26 @@
 *
 CREATE FUNCTION blockme() RETURNS integer*
     LANGUAGE plpgsql*
-    AS $$*
-declare x int;*
-begin*
-  x := 1;*
-  insert into foo values(x);*
-  begin*
-    x := x + 1;*
-    insert into foo values(x);*
-    -- we assume this will take longer than 2 seconds:*
-    select count(*) into x from tenk1 a, tenk1 b, tenk1 c;*
-  exception*
-    when others then*
-      raise notice 'caught others?';*
-      return -1;*
-    when query_canceled then*
-      raise notice 'nyeah nyeah, can''t stop me';*
-      x := x * 10;*
-  end;*
-  insert into foo values(x);*
-  return x;*
+    AS $$**
+declare x int;**
+begin**
+  x := 1;**
+  insert into foo values(x);**
+  begin**
+    x := x + 1;**
+    insert into foo values(x);**
+    -- we assume this will take longer than 2 seconds:**
+    select count(*) into x from tenk1 a, tenk1 b, tenk1 c;**
+  exception**
+    when others then**
+      raise notice 'caught others?';**
+      return -1;**
+    when query_canceled then**
+      raise notice 'nyeah nyeah, can''t stop me';**
+      x := x * 10;**
+  end;**
+  insert into foo values(x);**
+  return x;**
 end$$;*
 *
 *
@@ -826,18 +826,18 @@
 *
 CREATE FUNCTION cache_test(integer) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $_$*
-declare total int;*
-begin*
-	create temp table t1(f1 int);*
-	insert into t1 values($1);*
-	insert into t1 values(11);*
-	insert into t1 values(12);*
-	insert into t1 values(13);*
-	select sum(f1) into total from t1;*
-	drop table t1;*
-	return total;*
-end*
+    AS $_$**
+declare total int;**
+begin**
+	create temp table t1(f1 int);**
+	insert into t1 values($1);**
+	insert into t1 values(11);**
+	insert into t1 values(12);**
+	insert into t1 values(13);**
+	select sum(f1) into total from t1;**
+	drop table t1;**
+	return total;**
+end**
 $_$;*
 *
 *
@@ -849,9 +849,9 @@
 *
 CREATE FUNCTION cache_test_2() RETURNS integer*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-	return f1 from v1;*
+    AS $$**
+begin**
+	return f1 from v1;**
 end$$;*
 *
 *
@@ -863,15 +863,15 @@
 *
 CREATE FUNCTION cachebug() RETURNS void*
     LANGUAGE plpgsql*
-    AS $$*
-declare r int;*
-begin*
-  drop table if exists temptable cascade;*
-  create temp table temptable as select * from generate_series(1,3) as f1;*
-  create temp view vv as select * from temptable;*
-  for r in select * from vv loop*
-    raise notice '%', r;*
-  end loop;*
+    AS $$**
+declare r int;**
+begin**
+  drop table if exists temptable cascade;**
+  create temp table temptable as select * from generate_series(1,3) as f1;**
+  create temp view vv as select * from temptable;**
+  for r in select * from vv loop**
+    raise notice '%', r;**
+  end loop;**
 end$$;*
 *
 *
@@ -916,12 +916,12 @@
 *
 CREATE FUNCTION city_delete() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    DELETE FROM city_table WHERE city_id = OLD.city_id;*
-    if NOT FOUND then RETURN NULL; end if;*
-    RETURN OLD;*
-end;*
+    AS $$**
+begin**
+    DELETE FROM city_table WHERE city_id = OLD.city_id;**
+    if NOT FOUND then RETURN NULL; end if;**
+    RETURN OLD;**
+end;**
 $$;*
 *
 *
@@ -933,31 +933,31 @@
 *
 CREATE FUNCTION city_insert() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-    ctry_id int;*
-begin*
-    if NEW.country_name IS NOT NULL then*
-        SELECT country_id, continent INTO ctry_id, NEW.continent*
-            FROM country_table WHERE country_name = NEW.country_name;*
-        if NOT FOUND then*
-            raise exception 'No such country: "%"', NEW.country_name;*
-        end if;*
-    else*
-        NEW.continent := NULL;*
-    end if;*
-*
-    if NEW.city_id IS NOT NULL then*
-        INSERT INTO city_table*
-            VALUES(NEW.city_id, NEW.city_name, NEW.population, ctry_id);*
-    else*
-        INSERT INTO city_table(city_name, population, country_id)*
-            VALUES(NEW.city_name, NEW.population, ctry_id)*
-            RETURNING city_id INTO NEW.city_id;*
-    end if;*
-*
-    RETURN NEW;*
-end;*
+    AS $$**
+declare**
+    ctry_id int;**
+begin**
+    if NEW.country_name IS NOT NULL then**
+        SELECT country_id, continent INTO ctry_id, NEW.continent**
+            FROM country_table WHERE country_name = NEW.country_name;**
+        if NOT FOUND then**
+            raise exception 'No such country: "%"', NEW.country_name;**
+        end if;**
+    else**
+        NEW.continent := NULL;**
+    end if;**
+**
+    if NEW.city_id IS NOT NULL then**
+        INSERT INTO city_table**
+            VALUES(NEW.city_id, NEW.city_name, NEW.population, ctry_id);**
+    else**
+        INSERT INTO city_table(city_name, population, country_id)**
+            VALUES(NEW.city_name, NEW.population, ctry_id)**
+            RETURNING city_id INTO NEW.city_id;**
+    end if;**
+**
+    RETURN NEW;**
+end;**
 $$;*
 *
 *
@@ -969,31 +969,31 @@
 *
 CREATE FUNCTION city_update() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-    ctry_id int;*
-begin*
-    if NEW.country_name IS DISTINCT FROM OLD.country_name then*
-        SELECT country_id, continent INTO ctry_id, NEW.continent*
-            FROM country_table WHERE country_name = NEW.country_name;*
-        if NOT FOUND then*
-            raise exception 'No such country: "%"', NEW.country_name;*
-        end if;*
-*
-        UPDATE city_table SET city_name = NEW.city_name,*
-                              population = NEW.population,*
-                              country_id = ctry_id*
-            WHERE city_id = OLD.city_id;*
-    else*
-        UPDATE city_table SET city_name = NEW.city_name,*
-                              population = NEW.population*
-            WHERE city_id = OLD.city_id;*
-        NEW.continent := OLD.continent;*
-    end if;*
-*
-    if NOT FOUND then RETURN NULL; end if;*
-    RETURN NEW;*
-end;*
+    AS $$**
+declare**
+    ctry_id int;**
+begin**
+    if NEW.country_name IS DISTINCT FROM OLD.country_name then**
+        SELECT country_id, continent INTO ctry_id, NEW.continent**
+            FROM country_table WHERE country_name = NEW.country_name;**
+        if NOT FOUND then**
+            raise exception 'No such country: "%"', NEW.country_name;**
+        end if;**
+**
+        UPDATE city_table SET city_name = NEW.city_name,**
+                              population = NEW.population,**
+                              country_id = ctry_id**
+            WHERE city_id = OLD.city_id;**
+    else**
+        UPDATE city_table SET city_name = NEW.city_name,**
+                              population = NEW.population**
+            WHERE city_id = OLD.city_id;**
+        NEW.continent := OLD.continent;**
+    end if;**
+**
+    if NOT FOUND then RETURN NULL; end if;**
+    RETURN NEW;**
+end;**
 $$;*
 *
 *
@@ -1005,11 +1005,11 @@
 *
 CREATE FUNCTION doubledecrement(p1 pos_int) RETURNS pos_int*
     LANGUAGE plpgsql*
-    AS $$*
-declare v pos_int := 1;*
-begin*
-    v := p1 - 1;*
-    return v - 1;*
+    AS $$**
+declare v pos_int := 1;**
+begin**
+    v := p1 - 1;**
+    return v - 1;**
 end$$;*
 *
 *
@@ -1021,12 +1021,12 @@
 *
 CREATE FUNCTION dummy_update_func() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-BEGIN*
-  RAISE NOTICE 'dummy_update_func(%) called: action = %, old = %, new = %',*
-    TG_ARGV[0], TG_OP, OLD, NEW;*
-  RETURN NEW;*
-END;*
+    AS $$**
+BEGIN**
+  RAISE NOTICE 'dummy_update_func(%) called: action = %, old = %, new = %',**
+    TG_ARGV[0], TG_OP, OLD, NEW;**
+  RETURN NEW;**
+END;**
 $$;*
 *
 *
@@ -1143,24 +1143,24 @@
 *
 CREATE FUNCTION execute_into_test(character varying) RETURNS record*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-    _r record;*
-    _rt eifoo%rowtype;*
-    _v eitype;*
-    i int;*
-    j int;*
-    k int;*
-begin*
-    execute 'insert into '||$1||' values(10,15)';*
-    execute 'select (row).* from (select row(10,1)::eifoo) s' into _r;*
-    raise notice '% %', _r.i, _r.y;*
-    execute 'select * from '||$1||' limit 1' into _rt;*
-    raise notice '% %', _rt.i, _rt.y;*
-    execute 'select *, 20 from '||$1||' limit 1' into i, j, k;*
-    raise notice '% % %', i, j, k;*
-    execute 'select 1,2' into _v;*
-    return _v;*
+    AS $_$**
+declare**
+    _r record;**
+    _rt eifoo%rowtype;**
+    _v eitype;**
+    i int;**
+    j int;**
+    k int;**
+begin**
+    execute 'insert into '||$1||' values(10,15)';**
+    execute 'select (row).* from (select row(10,1)::eifoo) s' into _r;**
+    raise notice '% %', _r.i, _r.y;**
+    execute 'select * from '||$1||' limit 1' into _rt;**
+    raise notice '% %', _rt.i, _rt.y;**
+    execute 'select *, 20 from '||$1||' limit 1' into i, j, k;**
+    raise notice '% % %', i, j, k;**
+    execute 'select 1,2' into _v;**
+    return _v;**
 end; $_$;*
 *
 *
@@ -1205,30 +1205,30 @@
 *
 CREATE FUNCTION for_vect() RETURNS void*
     LANGUAGE plpgsql*
-    AS $_$*
-<<lbl>>declare a integer; b varchar; c varchar; r record;*
-begin*
-  -- fori*
-  for i in 1 .. 3 loop*
-    raise notice '%', i;*
-  end loop;*
-  -- fore with record var*
-  for r in select gs as aa, 'BB' as bb, 'CC' as cc from generate_series(1,4) gs loop*
-    raise notice '% % %', r.aa, r.bb, r.cc;*
-  end loop;*
-  -- fore with single scalar*
-  for a in select gs from generate_series(1,4) gs loop*
-    raise notice '%', a;*
-  end loop;*
-  -- fore with multiple scalars*
-  for a,b,c in select gs, 'BB','CC' from generate_series(1,4) gs loop*
-    raise notice '% % %', a, b, c;*
-  end loop;*
-  -- using qualified names in fors, fore is enabled, disabled only for fori*
-  for lbl.a, lbl.b, lbl.c in execute $$select gs, 'bb','cc' from generate_series(1,4) gs$$ loop*
-    raise notice '% % %', a, b, c;*
-  end loop;*
-end;*
+    AS $_$**
+<<lbl>>declare a integer; b varchar; c varchar; r record;**
+begin**
+  -- fori**
+  for i in 1 .. 3 loop**
+    raise notice '%', i;**
+  end loop;**
+  -- fore with record var**
+  for r in select gs as aa, 'BB' as bb, 'CC' as cc from generate_series(1,4) gs loop**
+    raise notice '% % %', r.aa, r.bb, r.cc;**
+  end loop;**
+  -- fore with single scalar**
+  for a in select gs from generate_series(1,4) gs loop**
+    raise notice '%', a;**
+  end loop;**
+  -- fore with multiple scalars**
+  for a,b,c in select gs, 'BB','CC' from generate_series(1,4) gs loop**
+    raise notice '% % %', a, b, c;**
+  end loop;**
+  -- using qualified names in fors, fore is enabled, disabled only for fori**
+  for lbl.a, lbl.b, lbl.c in execute $$select gs, 'bb','cc' from generate_series(1,4) gs$$ loop**
+    raise notice '% % %', a, b, c;**
+  end loop;**
+end;**
 $_$;*
 *
 *
@@ -1374,8 +1374,8 @@
 *
 CREATE FUNCTION make_table() RETURNS void*
     LANGUAGE sql*
-    AS $$*
-  CREATE TABLE created_table AS SELECT * FROM int8_tbl;*
+    AS $$**
+  CREATE TABLE created_table AS SELECT * FROM int8_tbl;**
 $$;*
 *
 *
@@ -1398,13 +1398,13 @@
 *
 CREATE FUNCTION multi_datum_use(p1 integer) RETURNS boolean*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-  x int;*
-  y int;*
-begin*
-  select into x,y unique1/p1, unique1/$1 from tenk1 group by unique1/p1;*
-  return x = y;*
+    AS $_$**
+declare**
+  x int;**
+  y int;**
+begin**
+  select into x,y unique1/p1, unique1/$1 from tenk1 group by unique1/p1;**
+  return x = y;**
 end$_$;*
 *
 *
@@ -1417,11 +1417,11 @@
 CREATE FUNCTION myfunc(integer) RETURNS text*
     LANGUAGE plpgsql*
     SET work_mem TO '1MB'*
-    AS $_$*
-begin*
-  set work_mem = '2MB';*
-  perform 1/$1;*
-  return current_setting('work_mem');*
+    AS $_$**
+begin**
+  set work_mem = '2MB';**
+  perform 1/$1;**
+  return current_setting('work_mem');**
 end $_$;*
 *
 *
@@ -1433,8 +1433,8 @@
 *
 CREATE FUNCTION myleast(VARIADIC anyarray) RETURNS anyelement*
     LANGUAGE sql IMMUTABLE STRICT*
-    AS $_$*
-  select min($1[i]) from generate_subscripts($1,1) g(i)*
+    AS $_$**
+  select min($1[i]) from generate_subscripts($1,1) g(i)**
 $_$;*
 *
 *
@@ -1446,20 +1446,20 @@
 *
 CREATE FUNCTION namedparmcursor_test1(integer, integer) RETURNS boolean*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-    c1 cursor (param1 int, param12 int) for select * from rc_test where a > param1 and b > param12;*
-    nonsense record;*
-begin*
-    open c1(param12 := $2, param1 := $1);*
-    fetch c1 into nonsense;*
-    close c1;*
-    if found then*
-        return true;*
-    else*
-        return false;*
-    end if;*
-end*
+    AS $_$**
+declare**
+    c1 cursor (param1 int, param12 int) for select * from rc_test where a > param1 and b > param12;**
+    nonsense record;**
+begin**
+    open c1(param12 := $2, param1 := $1);**
+    fetch c1 into nonsense;**
+    close c1;**
+    if found then**
+        return true;**
+    else**
+        return false;**
+    end if;**
+end**
 $_$;*
 *
 *
@@ -1471,20 +1471,20 @@
 *
 CREATE FUNCTION namedparmcursor_test2(integer, integer) RETURNS boolean*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-    c1 cursor (param1 int, param2 int) for select * from rc_test where a > param1 and b > param2;*
-    nonsense record;*
-begin*
-    open c1(param1 := $1, $2);*
-    fetch c1 into nonsense;*
-    close c1;*
-    if found then*
-        return true;*
-    else*
-        return false;*
-    end if;*
-end*
+    AS $_$**
+declare**
+    c1 cursor (param1 int, param2 int) for select * from rc_test where a > param1 and b > param2;**
+    nonsense record;**
+begin**
+    open c1(param1 := $1, $2);**
+    fetch c1 into nonsense;**
+    close c1;**
+    if found then**
+        return true;**
+    else**
+        return false;**
+    end if;**
+end**
 $_$;*
 *
 *
@@ -1496,12 +1496,12 @@
 *
 CREATE FUNCTION namedparmcursor_test7() RETURNS void*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-  c1 cursor (p1 int, p2 int) for*
-    select * from tenk1 where thousand = p1 and tenthous = p2;*
-begin*
-  open c1 (p2 := 77, p1 := 42/0);*
+    AS $$**
+declare**
+  c1 cursor (p1 int, p2 int) for**
+    select * from tenk1 where thousand = p1 and tenthous = p2;**
+begin**
+  open c1 (p2 := 77, p1 := 42/0);**
 end $$;*
 *
 *
@@ -1513,16 +1513,16 @@
 *
 CREATE FUNCTION namedparmcursor_test8() RETURNS integer*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-  c1 cursor (p1 int, p2 int) for*
-    select count(*) from tenk1 where thousand = p1 and tenthous = p2;*
-  n int4;*
-begin*
-  open c1 (77 -- test*
-  , 42);*
-  fetch c1 into n;*
-  return n;*
+    AS $$**
+declare**
+  c1 cursor (p1 int, p2 int) for**
+    select count(*) from tenk1 where thousand = p1 and tenthous = p2;**
+  n int4;**
+begin**
+  open c1 (77 -- test**
+  , 42);**
+  fetch c1 into n;**
+  return n;**
 end $$;*
 *
 *
@@ -1534,17 +1534,17 @@
 *
 CREATE FUNCTION namedparmcursor_test9(p1 integer) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-  c1 cursor (p1 int, p2 int, debug int) for*
-    select count(*) from tenk1 where thousand = p1 and tenthous = p2*
-      and four = debug;*
-  p2 int4 := 1006;*
-  n int4;*
-begin*
-  open c1 (p1 := p1, p2 := p2, debug := 2);*
-  fetch c1 into n;*
-  return n;*
+    AS $$**
+declare**
+  c1 cursor (p1 int, p2 int, debug int) for**
+    select count(*) from tenk1 where thousand = p1 and tenthous = p2**
+      and four = debug;**
+  p2 int4 := 1006;**
+  n int4;**
+begin**
+  open c1 (p1 := p1, p2 := p2, debug := 2);**
+  fetch c1 into n;**
+  return n;**
 end $$;*
 *
 *
@@ -1578,10 +1578,10 @@
 *
 CREATE FUNCTION noticetrigger() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-  raise notice 'noticetrigger % %', new.f1, new.data;*
-  return null;*
+    AS $$**
+begin**
+  raise notice 'noticetrigger % %', new.f1, new.data;**
+  return null;**
 end $$;*
 *
 *
@@ -1641,25 +1641,25 @@
 *
 CREATE FUNCTION perform_test_func() RETURNS void*
     LANGUAGE plpgsql*
-    AS $$*
-BEGIN*
-	IF FOUND then*
-		INSERT INTO perform_test VALUES (100, 100);*
-	END IF;*
-*
-	PERFORM simple_func(5);*
-*
-	IF FOUND then*
-		INSERT INTO perform_test VALUES (100, 100);*
-	END IF;*
-*
-	PERFORM simple_func(50);*
-*
-	IF FOUND then*
-		INSERT INTO perform_test VALUES (100, 100);*
-	END IF;*
-*
-	RETURN;*
+    AS $$**
+BEGIN**
+	IF FOUND then**
+		INSERT INTO perform_test VALUES (100, 100);**
+	END IF;**
+**
+	PERFORM simple_func(5);**
+**
+	IF FOUND then**
+		INSERT INTO perform_test VALUES (100, 100);**
+	END IF;**
+**
+	PERFORM simple_func(50);**
+**
+	IF FOUND then**
+		INSERT INTO perform_test VALUES (100, 100);**
+	END IF;**
+**
+	RETURN;**
 END;$$;*
 *
 *
@@ -1671,14 +1671,14 @@
 *
 CREATE FUNCTION physically_coercible(oid, oid) RETURNS boolean*
     LANGUAGE sql STABLE STRICT*
-    AS $_$*
-SELECT ($1 = $2) OR*
- EXISTS(select 1 from pg_catalog.pg_cast where*
-        castsource = $1 and casttarget = $2 and*
-        castmethod = 'b') OR*
- ($2 = 'pg_catalog.anyarray'::pg_catalog.regtype AND*
-  EXISTS(select 1 from pg_catalog.pg_type where*
-         oid = $1 and typelem != 0 and typlen = -1))*
+    AS $_$**
+SELECT ($1 = $2) OR**
+ EXISTS(select 1 from pg_catalog.pg_cast where**
+        castsource = $1 and casttarget = $2 and**
+        castmethod = 'b') OR**
+ ($2 = 'pg_catalog.anyarray'::pg_catalog.regtype AND**
+  EXISTS(select 1 from pg_catalog.pg_type where**
+         oid = $1 and typelem != 0 and typlen = -1))**
 $_$;*
 *
 *
@@ -1690,44 +1690,44 @@
 *
 CREATE FUNCTION pslot_backlink_view(character) RETURNS text*
     LANGUAGE plpgsql*
-    AS $_$*
-<<outer>>*
-declare*
-    rec		record;*
-    bltype	char(2);*
-    retval	text;*
-begin*
-    select into rec * from PSlot where slotname = $1;*
-    if not found then*
-        return '';*
-    end if;*
-    if rec.backlink = '' then*
-        return '-';*
-    end if;*
-    bltype := substr(rec.backlink, 1, 2);*
-    if bltype = 'PL' then*
-        declare*
-	    rec		record;*
-	begin*
-	    select into rec * from PLine where slotname = "outer".rec.backlink;*
-	    retval := 'Phone line ' || trim(rec.phonenumber);*
-	    if rec.comment != '' then*
-	        retval := retval || ' (';*
-		retval := retval || rec.comment;*
-		retval := retval || ')';*
-	    end if;*
-	    return retval;*
-	end;*
-    end if;*
-    if bltype = 'WS' then*
-        select into rec * from WSlot where slotname = rec.backlink;*
-	retval := trim(rec.slotname) || ' in room ';*
-	retval := retval || trim(rec.roomno);*
-	retval := retval || ' -> ';*
-	return retval || wslot_slotlink_view(rec.slotname);*
-    end if;*
-    return rec.backlink;*
-end;*
+    AS $_$**
+<<outer>>**
+declare**
+    rec		record;**
+    bltype	char(2);**
+    retval	text;**
+begin**
+    select into rec * from PSlot where slotname = $1;**
+    if not found then**
+        return '';**
+    end if;**
+    if rec.backlink = '' then**
+        return '-';**
+    end if;**
+    bltype := substr(rec.backlink, 1, 2);**
+    if bltype = 'PL' then**
+        declare**
+	    rec		record;**
+	begin**
+	    select into rec * from PLine where slotname = "outer".rec.backlink;**
+	    retval := 'Phone line ' || trim(rec.phonenumber);**
+	    if rec.comment != '' then**
+	        retval := retval || ' (';**
+		retval := retval || rec.comment;**
+		retval := retval || ')';**
+	    end if;**
+	    return retval;**
+	end;**
+    end if;**
+    if bltype = 'WS' then**
+        select into rec * from WSlot where slotname = rec.backlink;**
+	retval := trim(rec.slotname) || ' in room ';**
+	retval := retval || trim(rec.roomno);**
+	retval := retval || ' -> ';**
+	return retval || wslot_slotlink_view(rec.slotname);**
+    end if;**
+    return rec.backlink;**
+end;**
 $_$;*
 *
 *
@@ -1739,35 +1739,35 @@
 *
 CREATE FUNCTION pslot_slotlink_view(character) RETURNS text*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-    psrec	record;*
-    sltype	char(2);*
-    retval	text;*
-begin*
-    select into psrec * from PSlot where slotname = $1;*
-    if not found then*
-        return '';*
-    end if;*
-    if psrec.slotlink = '' then*
-        return '-';*
-    end if;*
-    sltype := substr(psrec.slotlink, 1, 2);*
-    if sltype = 'PS' then*
-	retval := trim(psrec.slotlink) || ' -> ';*
-	return retval || pslot_backlink_view(psrec.slotlink);*
-    end if;*
-    if sltype = 'HS' then*
-        retval := comment from Hub H, HSlot HS*
-			where HS.slotname = psrec.slotlink*
-			  and H.name = HS.hubname;*
-        retval := retval || ' slot ';*
-	retval := retval || slotno::text from HSlot*
-			where slotname = psrec.slotlink;*
-	return retval;*
-    end if;*
-    return psrec.slotlink;*
-end;*
+    AS $_$**
+declare**
+    psrec	record;**
+    sltype	char(2);**
+    retval	text;**
+begin**
+    select into psrec * from PSlot where slotname = $1;**
+    if not found then**
+        return '';**
+    end if;**
+    if psrec.slotlink = '' then**
+        return '-';**
+    end if;**
+    sltype := substr(psrec.slotlink, 1, 2);**
+    if sltype = 'PS' then**
+	retval := trim(psrec.slotlink) || ' -> ';**
+	return retval || pslot_backlink_view(psrec.slotlink);**
+    end if;**
+    if sltype = 'HS' then**
+        retval := comment from Hub H, HSlot HS**
+			where HS.slotname = psrec.slotlink**
+			  and H.name = HS.hubname;**
+        retval := retval || ' slot ';**
+	retval := retval || slotno::text from HSlot**
+			where slotname = psrec.slotlink;**
+	return retval;**
+    end if;**
+    return psrec.slotlink;**
+end;**
 $_$;*
 *
 *
@@ -1790,11 +1790,11 @@
 *
 CREATE FUNCTION raise_test1(integer) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $_$*
-begin*
-    raise notice 'This message has too many parameters!', $1;*
-    return $1;*
-end;*
+    AS $_$**
+begin**
+    raise notice 'This message has too many parameters!', $1;**
+    return $1;**
+end;**
 $_$;*
 *
 *
@@ -1806,11 +1806,11 @@
 *
 CREATE FUNCTION raise_test2(integer) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $_$*
-begin*
-    raise notice 'This message has too few parameters: %, %, %', $1, $1;*
-    return $1;*
-end;*
+    AS $_$**
+begin**
+    raise notice 'This message has too few parameters: %, %, %', $1, $1;**
+    return $1;**
+end;**
 $_$;*
 *
 *
@@ -1844,14 +1844,14 @@
 *
 CREATE FUNCTION recurse(double precision) RETURNS double precision*
     LANGUAGE plpgsql*
-    AS $_$*
-begin*
-  if ($1 > 0) then*
-    return sql_recurse($1 - 1);*
-  else*
-    return $1;*
-  end if;*
-end;*
+    AS $_$**
+begin**
+  if ($1 > 0) then**
+    return sql_recurse($1 - 1);**
+  else**
+    return $1;**
+  end if;**
+end;**
 $_$;*
 *
 *
@@ -1863,15 +1863,15 @@
 *
 CREATE FUNCTION recursion_test(integer, integer) RETURNS text*
     LANGUAGE plpgsql*
-    AS $_$*
-DECLARE rslt text;*
-BEGIN*
-    IF $1 <= 0 THEN*
-        rslt = CAST($2 AS TEXT);*
-    ELSE*
-        rslt = CAST($1 AS TEXT) || ',' || recursion_test($1 - 1, $2);*
-    END IF;*
-    RETURN rslt;*
+    AS $_$**
+DECLARE rslt text;**
+BEGIN**
+    IF $1 <= 0 THEN**
+        rslt = CAST($2 AS TEXT);**
+    ELSE**
+        rslt = CAST($1 AS TEXT) || ',' || recursion_test($1 - 1, $2);**
+    END IF;**
+    RETURN rslt;**
 END;$_$;*
 *
 *
@@ -1883,11 +1883,11 @@
 *
 CREATE FUNCTION refcursor_test1(refcursor) RETURNS refcursor*
     LANGUAGE plpgsql*
-    AS $_$*
-begin*
-    perform return_refcursor($1);*
-    return $1;*
-end*
+    AS $_$**
+begin**
+    perform return_refcursor($1);**
+    return $1;**
+end**
 $_$;*
 *
 *
@@ -1899,20 +1899,20 @@
 *
 CREATE FUNCTION refcursor_test2(integer, integer) RETURNS boolean*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-    c1 cursor (param1 int, param2 int) for select * from rc_test where a > param1 and b > param2;*
-    nonsense record;*
-begin*
-    open c1($1, $2);*
-    fetch c1 into nonsense;*
-    close c1;*
-    if found then*
-        return true;*
-    else*
-        return false;*
-    end if;*
-end*
+    AS $_$**
+declare**
+    c1 cursor (param1 int, param2 int) for select * from rc_test where a > param1 and b > param2;**
+    nonsense record;**
+begin**
+    open c1($1, $2);**
+    fetch c1 into nonsense;**
+    close c1;**
+    if found then**
+        return true;**
+    else**
+        return false;**
+    end if;**
+end**
 $_$;*
 *
 *
@@ -1935,24 +1935,24 @@
 *
 CREATE FUNCTION reraise_test() RETURNS void*
     LANGUAGE plpgsql*
-    AS $$*
-BEGIN*
-   BEGIN*
-       RAISE syntax_error;*
-   EXCEPTION*
-       WHEN syntax_error THEN*
-           BEGIN*
-               raise notice 'exception % thrown in inner block, reraising', sqlerrm;*
-               RAISE;*
-           EXCEPTION*
-               WHEN OTHERS THEN*
-                   raise notice 'RIGHT - exception % caught in inner block', sqlerrm;*
-           END;*
-   END;*
-EXCEPTION*
-   WHEN OTHERS THEN*
-       raise notice 'WRONG - exception % caught in outer block', sqlerrm;*
-END;*
+    AS $$**
+BEGIN**
+   BEGIN**
+       RAISE syntax_error;**
+   EXCEPTION**
+       WHEN syntax_error THEN**
+           BEGIN**
+               raise notice 'exception % thrown in inner block, reraising', sqlerrm;**
+               RAISE;**
+           EXCEPTION**
+               WHEN OTHERS THEN**
+                   raise notice 'RIGHT - exception % caught in inner block', sqlerrm;**
+           END;**
+   END;**
+EXCEPTION**
+   WHEN OTHERS THEN**
+       raise notice 'WRONG - exception % caught in outer block', sqlerrm;**
+END;**
 $$;*
 *
 *
@@ -1964,14 +1964,14 @@
 *
 CREATE FUNCTION ret_query1(OUT integer, OUT integer) RETURNS SETOF record*
     LANGUAGE plpgsql*
-    AS $_$*
-begin*
-    $1 := -1;*
-    $2 := -2;*
-    return next;*
-    return query select x + 1, x * 10 from generate_series(0, 10) s (x);*
-    return next;*
-end;*
+    AS $_$**
+begin**
+    $1 := -1;**
+    $2 := -2;**
+    return next;**
+    return query select x + 1, x * 10 from generate_series(0, 10) s (x);**
+    return next;**
+end;**
 $_$;*
 *
 *
@@ -1983,11 +1983,11 @@
 *
 CREATE FUNCTION ret_query2(lim integer) RETURNS SETOF record_type*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    return query select md5(s.x::text), s.x, s.x > 0*
-                 from generate_series(-8, lim) s (x) where s.x % 2 = 0;*
-end;*
+    AS $$**
+begin**
+    return query select md5(s.x::text), s.x, s.x > 0**
+                 from generate_series(-8, lim) s (x) where s.x % 2 = 0;**
+end;**
 $$;*
 *
 *
@@ -1999,11 +1999,11 @@
 *
 CREATE FUNCTION return_refcursor(rc refcursor) RETURNS refcursor*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    open rc for select a from rc_test;*
-    return rc;*
-end*
+    AS $$**
+begin**
+    open rc for select a from rc_test;**
+    return rc;**
+end**
 $$;*
 *
 *
@@ -2037,13 +2037,13 @@
 *
 CREATE FUNCTION serializable_update_trig() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-	rec record;*
-begin*
-	new.description = 'updated in trigger';*
-	return new;*
-end;*
+    AS $$**
+declare**
+	rec record;**
+begin**
+	new.description = 'updated in trigger';**
+	return new;**
+end;**
 $$;*
 *
 *
@@ -2066,14 +2066,14 @@
 *
 CREATE FUNCTION simple_func(integer) RETURNS boolean*
     LANGUAGE plpgsql*
-    AS $_$*
-BEGIN*
-	IF $1 < 20 THEN*
-		INSERT INTO perform_test VALUES ($1, $1 + 10);*
-		RETURN TRUE;*
-	ELSE*
-		RETURN FALSE;*
-	END IF;*
+    AS $_$**
+BEGIN**
+	IF $1 < 20 THEN**
+		INSERT INTO perform_test VALUES ($1, $1 + 10);**
+		RETURN TRUE;**
+	ELSE**
+		RETURN FALSE;**
+	END IF;**
 END;$_$;*
 *
 *
@@ -2085,7 +2085,7 @@
 *
 CREATE FUNCTION sql_if(boolean, anyelement, anyelement) RETURNS anyelement*
     LANGUAGE sql*
-    AS $_$*
+    AS $_$**
 select case when $1 then $2 else $3 end $_$;*
 *
 *
@@ -2163,39 +2163,39 @@
 *
 CREATE FUNCTION test_found() RETURNS boolean*
     LANGUAGE plpgsql*
-    AS $$*
-  declare*
-  begin*
-  insert into found_test_tbl values (1);*
-  if FOUND then*
-     insert into found_test_tbl values (2);*
-  end if;*
-*
-  update found_test_tbl set a = 100 where a = 1;*
-  if FOUND then*
-    insert into found_test_tbl values (3);*
-  end if;*
-*
-  delete from found_test_tbl where a = 9999; -- matches no rows*
-  if not FOUND then*
-    insert into found_test_tbl values (4);*
-  end if;*
-*
-  for i in 1 .. 10 loop*
-    -- no need to do anything*
-  end loop;*
-  if FOUND then*
-    insert into found_test_tbl values (5);*
-  end if;*
-*
-  -- never executes the loop*
-  for i in 2 .. 1 loop*
-    -- no need to do anything*
-  end loop;*
-  if not FOUND then*
-    insert into found_test_tbl values (6);*
-  end if;*
-  return true;*
+    AS $$**
+  declare**
+  begin**
+  insert into found_test_tbl values (1);**
+  if FOUND then**
+     insert into found_test_tbl values (2);**
+  end if;**
+**
+  update found_test_tbl set a = 100 where a = 1;**
+  if FOUND then**
+    insert into found_test_tbl values (3);**
+  end if;**
+**
+  delete from found_test_tbl where a = 9999; -- matches no rows**
+  if not FOUND then**
+    insert into found_test_tbl values (4);**
+  end if;**
+**
+  for i in 1 .. 10 loop**
+    -- no need to do anything**
+  end loop;**
+  if FOUND then**
+    insert into found_test_tbl values (5);**
+  end if;**
+**
+  -- never executes the loop**
+  for i in 2 .. 1 loop**
+    -- no need to do anything**
+  end loop;**
+  if not FOUND then**
+    insert into found_test_tbl values (6);**
+  end if;**
+  return true;**
   end;$$;*
 *
 *
@@ -2207,17 +2207,17 @@
 *
 CREATE FUNCTION test_ret_rec_dyn(integer) RETURNS record*
     LANGUAGE plpgsql*
-    AS $_$*
-DECLARE*
-	retval RECORD;*
-BEGIN*
-	IF $1 > 10 THEN*
-		SELECT INTO retval 5, 10, 15;*
-		RETURN retval;*
-	ELSE*
-		SELECT INTO retval 50, 5::numeric, 'xxx'::text;*
-		RETURN retval;*
-	END IF;*
+    AS $_$**
+DECLARE**
+	retval RECORD;**
+BEGIN**
+	IF $1 > 10 THEN**
+		SELECT INTO retval 5, 10, 15;**
+		RETURN retval;**
+	ELSE**
+		SELECT INTO retval 50, 5::numeric, 'xxx'::text;**
+		RETURN retval;**
+	END IF;**
 END;$_$;*
 *
 *
@@ -2229,20 +2229,20 @@
 *
 CREATE FUNCTION test_ret_set_rec_dyn(integer) RETURNS SETOF record*
     LANGUAGE plpgsql*
-    AS $_$*
-DECLARE*
-	retval RECORD;*
-BEGIN*
-	IF $1 > 10 THEN*
-		SELECT INTO retval 5, 10, 15;*
-		RETURN NEXT retval;*
-		RETURN NEXT retval;*
-	ELSE*
-		SELECT INTO retval 50, 5::numeric, 'xxx'::text;*
-		RETURN NEXT retval;*
-		RETURN NEXT retval;*
-	END IF;*
-	RETURN;*
+    AS $_$**
+DECLARE**
+	retval RECORD;**
+BEGIN**
+	IF $1 > 10 THEN**
+		SELECT INTO retval 5, 10, 15;**
+		RETURN NEXT retval;**
+		RETURN NEXT retval;**
+	ELSE**
+		SELECT INTO retval 50, 5::numeric, 'xxx'::text;**
+		RETURN NEXT retval;**
+		RETURN NEXT retval;**
+	END IF;**
+	RETURN;**
 END;$_$;*
 *
 *
@@ -2254,14 +2254,14 @@
 *
 CREATE FUNCTION test_ret_set_scalar(integer, integer) RETURNS SETOF integer*
     LANGUAGE plpgsql*
-    AS $_$*
-DECLARE*
-	i int;*
-BEGIN*
-	FOR i IN $1 .. $2 LOOP*
-		RETURN NEXT i + 1;*
-	END LOOP;*
-	RETURN;*
+    AS $_$**
+DECLARE**
+	i int;**
+BEGIN**
+	FOR i IN $1 .. $2 LOOP**
+		RETURN NEXT i + 1;**
+	END LOOP;**
+	RETURN;**
 END;$_$;*
 *
 *
@@ -2297,14 +2297,14 @@
 *
 CREATE FUNCTION test_table_func_rec() RETURNS SETOF found_test_tbl*
     LANGUAGE plpgsql*
-    AS $$*
-DECLARE*
-	rec RECORD;*
-BEGIN*
-	FOR rec IN select * from found_test_tbl LOOP*
-		RETURN NEXT rec;*
-	END LOOP;*
-	RETURN;*
+    AS $$**
+DECLARE**
+	rec RECORD;**
+BEGIN**
+	FOR rec IN select * from found_test_tbl LOOP**
+		RETURN NEXT rec;**
+	END LOOP;**
+	RETURN;**
 END;$$;*
 *
 *
@@ -2316,14 +2316,14 @@
 *
 CREATE FUNCTION test_table_func_row() RETURNS SETOF found_test_tbl*
     LANGUAGE plpgsql*
-    AS $$*
-DECLARE*
-	row found_test_tbl%ROWTYPE;*
-BEGIN*
-	FOR row IN select * from found_test_tbl LOOP*
-		RETURN NEXT row;*
-	END LOOP;*
-	RETURN;*
+    AS $$**
+DECLARE**
+	row found_test_tbl%ROWTYPE;**
+BEGIN**
+	FOR row IN select * from found_test_tbl LOOP**
+		RETURN NEXT row;**
+	END LOOP;**
+	RETURN;**
 END;$$;*
 *
 *
@@ -2335,19 +2335,19 @@
 *
 CREATE FUNCTION test_variable_storage() RETURNS text*
     LANGUAGE plpgsql*
-    AS $$*
-declare x text;*
-begin*
-  x := '1234';*
-  begin*
-    x := x || '5678';*
-    -- force error inside subtransaction SPI context*
-    perform trap_zero_divide(-100);*
-  exception*
-    when others then*
-      x := x || '9012';*
-  end;*
-  return x;*
+    AS $$**
+declare x text;**
+begin**
+  x := '1234';**
+  begin**
+    x := x || '5678';**
+    -- force error inside subtransaction SPI context**
+    perform trap_zero_divide(-100);**
+  exception**
+    when others then**
+      x := x || '9012';**
+  end;**
+  return x;**
 end$$;*
 *
 *
@@ -2403,38 +2403,38 @@
 *
 CREATE FUNCTION tg_backlink_a() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-    dummy	integer;*
-begin*
-    if tg_op = 'INSERT' then*
-        if new.backlink != '' then*
-	    dummy := tg_backlink_set(new.backlink, new.slotname);*
-	end if;*
-	return new;*
-    end if;*
-    if tg_op = 'UPDATE' then*
-        if new.backlink != old.backlink then*
-	    if old.backlink != '' then*
-	        dummy := tg_backlink_unset(old.backlink, old.slotname);*
-	    end if;*
-	    if new.backlink != '' then*
-	        dummy := tg_backlink_set(new.backlink, new.slotname);*
-	    end if;*
-	else*
-	    if new.slotname != old.slotname and new.backlink != '' then*
-	        dummy := tg_slotlink_set(new.backlink, new.slotname);*
-	    end if;*
-	end if;*
-	return new;*
-    end if;*
-    if tg_op = 'DELETE' then*
-        if old.backlink != '' then*
-	    dummy := tg_backlink_unset(old.backlink, old.slotname);*
-	end if;*
-	return old;*
-    end if;*
-end;*
+    AS $$**
+declare**
+    dummy	integer;**
+begin**
+    if tg_op = 'INSERT' then**
+        if new.backlink != '' then**
+	    dummy := tg_backlink_set(new.backlink, new.slotname);**
+	end if;**
+	return new;**
+    end if;**
+    if tg_op = 'UPDATE' then**
+        if new.backlink != old.backlink then**
+	    if old.backlink != '' then**
+	        dummy := tg_backlink_unset(old.backlink, old.slotname);**
+	    end if;**
+	    if new.backlink != '' then**
+	        dummy := tg_backlink_set(new.backlink, new.slotname);**
+	    end if;**
+	else**
+	    if new.slotname != old.slotname and new.backlink != '' then**
+	        dummy := tg_slotlink_set(new.backlink, new.slotname);**
+	    end if;**
+	end if;**
+	return new;**
+    end if;**
+    if tg_op = 'DELETE' then**
+        if old.backlink != '' then**
+	    dummy := tg_backlink_unset(old.backlink, old.slotname);**
+	end if;**
+	return old;**
+    end if;**
+end;**
 $$;*
 *
 *
@@ -2446,54 +2446,54 @@
 *
 CREATE FUNCTION tg_backlink_set(myname character, blname character) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-    mytype	char(2);*
-    link	char(4);*
-    rec		record;*
-begin*
-    mytype := substr(myname, 1, 2);*
-    link := mytype || substr(blname, 1, 2);*
-    if link = 'PLPL' then*
-        raise exception*
-		'backlink between two phone lines does not make sense';*
-    end if;*
-    if link in ('PLWS', 'WSPL') then*
-        raise exception*
-		'direct link of phone line to wall slot not permitted';*
-    end if;*
-    if mytype = 'PS' then*
-        select into rec * from PSlot where slotname = myname;*
-	if not found then*
-	    raise exception '% does not exist', myname;*
-	end if;*
-	if rec.backlink != blname then*
-	    update PSlot set backlink = blname where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'WS' then*
-        select into rec * from WSlot where slotname = myname;*
-	if not found then*
-	    raise exception '% does not exist', myname;*
-	end if;*
-	if rec.backlink != blname then*
-	    update WSlot set backlink = blname where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'PL' then*
-        select into rec * from PLine where slotname = myname;*
-	if not found then*
-	    raise exception '% does not exist', myname;*
-	end if;*
-	if rec.backlink != blname then*
-	    update PLine set backlink = blname where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    raise exception 'illegal backlink beginning with %', mytype;*
-end;*
+    AS $$**
+declare**
+    mytype	char(2);**
+    link	char(4);**
+    rec		record;**
+begin**
+    mytype := substr(myname, 1, 2);**
+    link := mytype || substr(blname, 1, 2);**
+    if link = 'PLPL' then**
+        raise exception**
+		'backlink between two phone lines does not make sense';**
+    end if;**
+    if link in ('PLWS', 'WSPL') then**
+        raise exception**
+		'direct link of phone line to wall slot not permitted';**
+    end if;**
+    if mytype = 'PS' then**
+        select into rec * from PSlot where slotname = myname;**
+	if not found then**
+	    raise exception '% does not exist', myname;**
+	end if;**
+	if rec.backlink != blname then**
+	    update PSlot set backlink = blname where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'WS' then**
+        select into rec * from WSlot where slotname = myname;**
+	if not found then**
+	    raise exception '% does not exist', myname;**
+	end if;**
+	if rec.backlink != blname then**
+	    update WSlot set backlink = blname where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'PL' then**
+        select into rec * from PLine where slotname = myname;**
+	if not found then**
+	    raise exception '% does not exist', myname;**
+	end if;**
+	if rec.backlink != blname then**
+	    update PLine set backlink = blname where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    raise exception 'illegal backlink beginning with %', mytype;**
+end;**
 $$;*
 *
 *
@@ -2505,45 +2505,45 @@
 *
 CREATE FUNCTION tg_backlink_unset(character, character) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-    myname	alias for $1;*
-    blname	alias for $2;*
-    mytype	char(2);*
-    rec		record;*
-begin*
-    mytype := substr(myname, 1, 2);*
-    if mytype = 'PS' then*
-        select into rec * from PSlot where slotname = myname;*
-	if not found then*
-	    return 0;*
-	end if;*
-	if rec.backlink = blname then*
-	    update PSlot set backlink = '' where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'WS' then*
-        select into rec * from WSlot where slotname = myname;*
-	if not found then*
-	    return 0;*
-	end if;*
-	if rec.backlink = blname then*
-	    update WSlot set backlink = '' where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'PL' then*
-        select into rec * from PLine where slotname = myname;*
-	if not found then*
-	    return 0;*
-	end if;*
-	if rec.backlink = blname then*
-	    update PLine set backlink = '' where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-end*
+    AS $_$**
+declare**
+    myname	alias for $1;**
+    blname	alias for $2;**
+    mytype	char(2);**
+    rec		record;**
+begin**
+    mytype := substr(myname, 1, 2);**
+    if mytype = 'PS' then**
+        select into rec * from PSlot where slotname = myname;**
+	if not found then**
+	    return 0;**
+	end if;**
+	if rec.backlink = blname then**
+	    update PSlot set backlink = '' where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'WS' then**
+        select into rec * from WSlot where slotname = myname;**
+	if not found then**
+	    return 0;**
+	end if;**
+	if rec.backlink = blname then**
+	    update WSlot set backlink = '' where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'PL' then**
+        select into rec * from PLine where slotname = myname;**
+	if not found then**
+	    return 0;**
+	end if;**
+	if rec.backlink = blname then**
+	    update PLine set backlink = '' where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+end**
 $_$;*
 *
 *
@@ -2555,13 +2555,13 @@
 *
 CREATE FUNCTION tg_chkbacklink() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if new.backlink isnull then*
-        new.backlink := '';*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if new.backlink isnull then**
+        new.backlink := '';**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -2573,13 +2573,13 @@
 *
 CREATE FUNCTION tg_chkslotlink() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if new.slotlink isnull then*
-        new.slotlink := '';*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if new.slotlink isnull then**
+        new.slotlink := '';**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -2591,13 +2591,13 @@
 *
 CREATE FUNCTION tg_chkslotname() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if substr(new.slotname, 1, 2) != tg_argv[0] then*
-        raise exception 'slotname must begin with %', tg_argv[0];*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if substr(new.slotname, 1, 2) != tg_argv[0] then**
+        raise exception 'slotname must begin with %', tg_argv[0];**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -2609,19 +2609,19 @@
 *
 CREATE FUNCTION tg_hslot_bd() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-    hubrec	record;*
-begin*
-    select into hubrec * from Hub where name = old.hubname;*
-    if not found then*
-        return old;*
-    end if;*
-    if old.slotno > hubrec.nslots then*
-        return old;*
-    end if;*
-    raise exception 'no manual manipulation of HSlot';*
-end;*
+    AS $$**
+declare**
+    hubrec	record;**
+begin**
+    select into hubrec * from Hub where name = old.hubname;**
+    if not found then**
+        return old;**
+    end if;**
+    if old.slotno > hubrec.nslots then**
+        return old;**
+    end if;**
+    raise exception 'no manual manipulation of HSlot';**
+end;**
 $$;*
 *
 *
@@ -2633,33 +2633,33 @@
 *
 CREATE FUNCTION tg_hslot_biu() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-    sname	text;*
-    xname	HSlot.slotname%TYPE;*
-    hubrec	record;*
-begin*
-    select into hubrec * from Hub where name = new.hubname;*
-    if not found then*
-        raise exception 'no manual manipulation of HSlot';*
-    end if;*
-    if new.slotno < 1 or new.slotno > hubrec.nslots then*
-        raise exception 'no manual manipulation of HSlot';*
-    end if;*
-    if tg_op = 'UPDATE' and new.hubname != old.hubname then*
-	if count(*) > 0 from Hub where name = old.hubname then*
-	    raise exception 'no manual manipulation of HSlot';*
-	end if;*
-    end if;*
-    sname := 'HS.' || trim(new.hubname);*
-    sname := sname || '.';*
-    sname := sname || new.slotno::text;*
-    if length(sname) > 20 then*
-        raise exception 'HSlot slotname "%" too long (20 char max)', sname;*
-    end if;*
-    new.slotname := sname;*
-    return new;*
-end;*
+    AS $$**
+declare**
+    sname	text;**
+    xname	HSlot.slotname%TYPE;**
+    hubrec	record;**
+begin**
+    select into hubrec * from Hub where name = new.hubname;**
+    if not found then**
+        raise exception 'no manual manipulation of HSlot';**
+    end if;**
+    if new.slotno < 1 or new.slotno > hubrec.nslots then**
+        raise exception 'no manual manipulation of HSlot';**
+    end if;**
+    if tg_op = 'UPDATE' and new.hubname != old.hubname then**
+	if count(*) > 0 from Hub where name = old.hubname then**
+	    raise exception 'no manual manipulation of HSlot';**
+	end if;**
+    end if;**
+    sname := 'HS.' || trim(new.hubname);**
+    sname := sname || '.';**
+    sname := sname || new.slotno::text;**
+    if length(sname) > 20 then**
+        raise exception 'HSlot slotname "%" too long (20 char max)', sname;**
+    end if;**
+    new.slotname := sname;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -2671,25 +2671,25 @@
 *
 CREATE FUNCTION tg_hslot_bu() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if new.slotname != old.slotname or new.hubname != old.hubname then*
-        delete from HSlot where slotname = old.slotname;*
-	insert into HSlot (*
-		    slotname,*
-		    hubname,*
-		    slotno,*
-		    slotlink*
-		) values (*
-		    new.slotname,*
-		    new.hubname,*
-		    new.slotno,*
-		    new.slotlink*
-		);*
-        return null;*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if new.slotname != old.slotname or new.hubname != old.hubname then**
+        delete from HSlot where slotname = old.slotname;**
+	insert into HSlot (**
+		    slotname,**
+		    hubname,**
+		    slotno,**
+		    slotlink**
+		) values (**
+		    new.slotname,**
+		    new.hubname,**
+		    new.slotno,**
+		    new.slotlink**
+		);**
+        return null;**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -2701,27 +2701,27 @@
 *
 CREATE FUNCTION tg_hub_a() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-    hname	text;*
-    dummy	integer;*
-begin*
-    if tg_op = 'INSERT' then*
-	dummy := tg_hub_adjustslots(new.name, 0, new.nslots);*
-	return new;*
-    end if;*
-    if tg_op = 'UPDATE' then*
-	if new.name != old.name then*
-	    update HSlot set hubname = new.name where hubname = old.name;*
-	end if;*
-	dummy := tg_hub_adjustslots(new.name, old.nslots, new.nslots);*
-	return new;*
-    end if;*
-    if tg_op = 'DELETE' then*
-	dummy := tg_hub_adjustslots(old.name, old.nslots, 0);*
-	return old;*
-    end if;*
-end;*
+    AS $$**
+declare**
+    hname	text;**
+    dummy	integer;**
+begin**
+    if tg_op = 'INSERT' then**
+	dummy := tg_hub_adjustslots(new.name, 0, new.nslots);**
+	return new;**
+    end if;**
+    if tg_op = 'UPDATE' then**
+	if new.name != old.name then**
+	    update HSlot set hubname = new.name where hubname = old.name;**
+	end if;**
+	dummy := tg_hub_adjustslots(new.name, old.nslots, new.nslots);**
+	return new;**
+    end if;**
+    if tg_op = 'DELETE' then**
+	dummy := tg_hub_adjustslots(old.name, old.nslots, 0);**
+	return old;**
+    end if;**
+end;**
 $$;*
 *
 *
@@ -2733,21 +2733,21 @@
 *
 CREATE FUNCTION tg_hub_adjustslots(hname character, oldnslots integer, newnslots integer) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if newnslots = oldnslots then*
-        return 0;*
-    end if;*
-    if newnslots < oldnslots then*
-        delete from HSlot where hubname = hname and slotno > newnslots;*
-	return 0;*
-    end if;*
-    for i in oldnslots + 1 .. newnslots loop*
-        insert into HSlot (slotname, hubname, slotno, slotlink)*
-		values ('HS.dummy', hname, i, '');*
-    end loop;*
-    return 0;*
-end*
+    AS $$**
+begin**
+    if newnslots = oldnslots then**
+        return 0;**
+    end if;**
+    if newnslots < oldnslots then**
+        delete from HSlot where hubname = hname and slotno > newnslots;**
+	return 0;**
+    end if;**
+    for i in oldnslots + 1 .. newnslots loop**
+        insert into HSlot (slotname, hubname, slotno, slotlink)**
+		values ('HS.dummy', hname, i, '');**
+    end loop;**
+    return 0;**
+end**
 $$;*
 *
 *
@@ -2759,24 +2759,24 @@
 *
 CREATE FUNCTION tg_iface_biu() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-    sname	text;*
-    sysrec	record;*
-begin*
-    select into sysrec * from system where name = new.sysname;*
-    if not found then*
-        raise exception $q$system "%" does not exist$q$, new.sysname;*
-    end if;*
-    sname := 'IF.' || new.sysname;*
-    sname := sname || '.';*
-    sname := sname || new.ifname;*
-    if length(sname) > 20 then*
-        raise exception 'IFace slotname "%" too long (20 char max)', sname;*
-    end if;*
-    new.slotname := sname;*
-    return new;*
-end;*
+    AS $_$**
+declare**
+    sname	text;**
+    sysrec	record;**
+begin**
+    select into sysrec * from system where name = new.sysname;**
+    if not found then**
+        raise exception $q$system "%" does not exist$q$, new.sysname;**
+    end if;**
+    sname := 'IF.' || new.sysname;**
+    sname := sname || '.';**
+    sname := sname || new.ifname;**
+    if length(sname) > 20 then**
+        raise exception 'IFace slotname "%" too long (20 char max)', sname;**
+    end if;**
+    new.slotname := sname;**
+    return new;**
+end;**
 $_$;*
 *
 *
@@ -2788,25 +2788,25 @@
 *
 CREATE FUNCTION tg_iface_bu() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if new.slotname != old.slotname then*
-        delete from IFace where slotname = old.slotname;*
-	insert into IFace (*
-		    slotname,*
-		    sysname,*
-		    ifname,*
-		    slotlink*
-		) values (*
-		    new.slotname,*
-		    new.sysname,*
-		    new.ifname,*
-		    new.slotlink*
-		);*
-        return null;*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if new.slotname != old.slotname then**
+        delete from IFace where slotname = old.slotname;**
+	insert into IFace (**
+		    slotname,**
+		    sysname,**
+		    ifname,**
+		    slotlink**
+		) values (**
+		    new.slotname,**
+		    new.sysname,**
+		    new.ifname,**
+		    new.slotlink**
+		);**
+        return null;**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -2818,11 +2818,11 @@
 *
 CREATE FUNCTION tg_pfield_ad() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    delete from PSlot where pfname = old.name;*
-    return old;*
-end;*
+    AS $$**
+begin**
+    delete from PSlot where pfname = old.name;**
+    return old;**
+end;**
 $$;*
 *
 *
@@ -2834,13 +2834,13 @@
 *
 CREATE FUNCTION tg_pfield_au() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if new.name != old.name then*
-        update PSlot set pfname = new.name where pfname = old.name;*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if new.name != old.name then**
+        update PSlot set pfname = new.name where pfname = old.name;**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -2852,23 +2852,23 @@
 *
 CREATE FUNCTION tg_phone_bu() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if new.slotname != old.slotname then*
-        delete from PHone where slotname = old.slotname;*
-	insert into PHone (*
-		    slotname,*
-		    comment,*
-		    slotlink*
-		) values (*
-		    new.slotname,*
-		    new.comment,*
-		    new.slotlink*
-		);*
-        return null;*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if new.slotname != old.slotname then**
+        delete from PHone where slotname = old.slotname;**
+	insert into PHone (**
+		    slotname,**
+		    comment,**
+		    slotlink**
+		) values (**
+		    new.slotname,**
+		    new.comment,**
+		    new.slotlink**
+		);**
+        return null;**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -2880,25 +2880,25 @@
 *
 CREATE FUNCTION tg_pline_bu() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if new.slotname != old.slotname then*
-        delete from PLine where slotname = old.slotname;*
-	insert into PLine (*
-		    slotname,*
-		    phonenumber,*
-		    comment,*
-		    backlink*
-		) values (*
-		    new.slotname,*
-		    new.phonenumber,*
-		    new.comment,*
-		    new.backlink*
-		);*
-        return null;*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if new.slotname != old.slotname then**
+        delete from PLine where slotname = old.slotname;**
+	insert into PLine (**
+		    slotname,**
+		    phonenumber,**
+		    comment,**
+		    backlink**
+		) values (**
+		    new.slotname,**
+		    new.phonenumber,**
+		    new.comment,**
+		    new.backlink**
+		);**
+        return null;**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -2910,17 +2910,17 @@
 *
 CREATE FUNCTION tg_pslot_biu() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-    pfrec	record;*
-    ps          alias for new;*
-begin*
-    select into pfrec * from PField where name = ps.pfname;*
-    if not found then*
-        raise exception $$Patchfield "%" does not exist$$, ps.pfname;*
-    end if;*
-    return ps;*
-end;*
+    AS $_$**
+declare**
+    pfrec	record;**
+    ps          alias for new;**
+begin**
+    select into pfrec * from PField where name = ps.pfname;**
+    if not found then**
+        raise exception $$Patchfield "%" does not exist$$, ps.pfname;**
+    end if;**
+    return ps;**
+end;**
 $_$;*
 *
 *
@@ -2932,25 +2932,25 @@
 *
 CREATE FUNCTION tg_pslot_bu() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if new.slotname != old.slotname then*
-        delete from PSlot where slotname = old.slotname;*
-	insert into PSlot (*
-		    slotname,*
-		    pfname,*
-		    slotlink,*
-		    backlink*
-		) values (*
-		    new.slotname,*
-		    new.pfname,*
-		    new.slotlink,*
-		    new.backlink*
-		);*
-        return null;*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if new.slotname != old.slotname then**
+        delete from PSlot where slotname = old.slotname;**
+	insert into PSlot (**
+		    slotname,**
+		    pfname,**
+		    slotlink,**
+		    backlink**
+		) values (**
+		    new.slotname,**
+		    new.pfname,**
+		    new.slotlink,**
+		    new.backlink**
+		);**
+        return null;**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -2962,11 +2962,11 @@
 *
 CREATE FUNCTION tg_room_ad() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    delete from WSlot where roomno = old.roomno;*
-    return old;*
-end;*
+    AS $$**
+begin**
+    delete from WSlot where roomno = old.roomno;**
+    return old;**
+end;**
 $$;*
 *
 *
@@ -2978,13 +2978,13 @@
 *
 CREATE FUNCTION tg_room_au() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if new.roomno != old.roomno then*
-        update WSlot set roomno = new.roomno where roomno = old.roomno;*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if new.roomno != old.roomno then**
+        update WSlot set roomno = new.roomno where roomno = old.roomno;**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -2996,38 +2996,38 @@
 *
 CREATE FUNCTION tg_slotlink_a() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-    dummy	integer;*
-begin*
-    if tg_op = 'INSERT' then*
-        if new.slotlink != '' then*
-	    dummy := tg_slotlink_set(new.slotlink, new.slotname);*
-	end if;*
-	return new;*
-    end if;*
-    if tg_op = 'UPDATE' then*
-        if new.slotlink != old.slotlink then*
-	    if old.slotlink != '' then*
-	        dummy := tg_slotlink_unset(old.slotlink, old.slotname);*
-	    end if;*
-	    if new.slotlink != '' then*
-	        dummy := tg_slotlink_set(new.slotlink, new.slotname);*
-	    end if;*
-	else*
-	    if new.slotname != old.slotname and new.slotlink != '' then*
-	        dummy := tg_slotlink_set(new.slotlink, new.slotname);*
-	    end if;*
-	end if;*
-	return new;*
-    end if;*
-    if tg_op = 'DELETE' then*
-        if old.slotlink != '' then*
-	    dummy := tg_slotlink_unset(old.slotlink, old.slotname);*
-	end if;*
-	return old;*
-    end if;*
-end;*
+    AS $$**
+declare**
+    dummy	integer;**
+begin**
+    if tg_op = 'INSERT' then**
+        if new.slotlink != '' then**
+	    dummy := tg_slotlink_set(new.slotlink, new.slotname);**
+	end if;**
+	return new;**
+    end if;**
+    if tg_op = 'UPDATE' then**
+        if new.slotlink != old.slotlink then**
+	    if old.slotlink != '' then**
+	        dummy := tg_slotlink_unset(old.slotlink, old.slotname);**
+	    end if;**
+	    if new.slotlink != '' then**
+	        dummy := tg_slotlink_set(new.slotlink, new.slotname);**
+	    end if;**
+	else**
+	    if new.slotname != old.slotname and new.slotlink != '' then**
+	        dummy := tg_slotlink_set(new.slotlink, new.slotname);**
+	    end if;**
+	end if;**
+	return new;**
+    end if;**
+    if tg_op = 'DELETE' then**
+        if old.slotlink != '' then**
+	    dummy := tg_slotlink_unset(old.slotlink, old.slotname);**
+	end if;**
+	return old;**
+    end if;**
+end;**
 $$;*
 *
 *
@@ -3039,84 +3039,84 @@
 *
 CREATE FUNCTION tg_slotlink_set(character, character) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-    myname	alias for $1;*
-    blname	alias for $2;*
-    mytype	char(2);*
-    link	char(4);*
-    rec		record;*
-begin*
-    mytype := substr(myname, 1, 2);*
-    link := mytype || substr(blname, 1, 2);*
-    if link = 'PHPH' then*
-        raise exception*
-		'slotlink between two phones does not make sense';*
-    end if;*
-    if link in ('PHHS', 'HSPH') then*
-        raise exception*
-		'link of phone to hub does not make sense';*
-    end if;*
-    if link in ('PHIF', 'IFPH') then*
-        raise exception*
-		'link of phone to hub does not make sense';*
-    end if;*
-    if link in ('PSWS', 'WSPS') then*
-        raise exception*
-		'slotlink from patchslot to wallslot not permitted';*
-    end if;*
-    if mytype = 'PS' then*
-        select into rec * from PSlot where slotname = myname;*
-	if not found then*
-	    raise exception '% does not exist', myname;*
-	end if;*
-	if rec.slotlink != blname then*
-	    update PSlot set slotlink = blname where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'WS' then*
-        select into rec * from WSlot where slotname = myname;*
-	if not found then*
-	    raise exception '% does not exist', myname;*
-	end if;*
-	if rec.slotlink != blname then*
-	    update WSlot set slotlink = blname where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'IF' then*
-        select into rec * from IFace where slotname = myname;*
-	if not found then*
-	    raise exception '% does not exist', myname;*
-	end if;*
-	if rec.slotlink != blname then*
-	    update IFace set slotlink = blname where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'HS' then*
-        select into rec * from HSlot where slotname = myname;*
-	if not found then*
-	    raise exception '% does not exist', myname;*
-	end if;*
-	if rec.slotlink != blname then*
-	    update HSlot set slotlink = blname where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'PH' then*
-        select into rec * from PHone where slotname = myname;*
-	if not found then*
-	    raise exception '% does not exist', myname;*
-	end if;*
-	if rec.slotlink != blname then*
-	    update PHone set slotlink = blname where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    raise exception 'illegal slotlink beginning with %', mytype;*
-end;*
+    AS $_$**
+declare**
+    myname	alias for $1;**
+    blname	alias for $2;**
+    mytype	char(2);**
+    link	char(4);**
+    rec		record;**
+begin**
+    mytype := substr(myname, 1, 2);**
+    link := mytype || substr(blname, 1, 2);**
+    if link = 'PHPH' then**
+        raise exception**
+		'slotlink between two phones does not make sense';**
+    end if;**
+    if link in ('PHHS', 'HSPH') then**
+        raise exception**
+		'link of phone to hub does not make sense';**
+    end if;**
+    if link in ('PHIF', 'IFPH') then**
+        raise exception**
+		'link of phone to hub does not make sense';**
+    end if;**
+    if link in ('PSWS', 'WSPS') then**
+        raise exception**
+		'slotlink from patchslot to wallslot not permitted';**
+    end if;**
+    if mytype = 'PS' then**
+        select into rec * from PSlot where slotname = myname;**
+	if not found then**
+	    raise exception '% does not exist', myname;**
+	end if;**
+	if rec.slotlink != blname then**
+	    update PSlot set slotlink = blname where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'WS' then**
+        select into rec * from WSlot where slotname = myname;**
+	if not found then**
+	    raise exception '% does not exist', myname;**
+	end if;**
+	if rec.slotlink != blname then**
+	    update WSlot set slotlink = blname where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'IF' then**
+        select into rec * from IFace where slotname = myname;**
+	if not found then**
+	    raise exception '% does not exist', myname;**
+	end if;**
+	if rec.slotlink != blname then**
+	    update IFace set slotlink = blname where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'HS' then**
+        select into rec * from HSlot where slotname = myname;**
+	if not found then**
+	    raise exception '% does not exist', myname;**
+	end if;**
+	if rec.slotlink != blname then**
+	    update HSlot set slotlink = blname where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'PH' then**
+        select into rec * from PHone where slotname = myname;**
+	if not found then**
+	    raise exception '% does not exist', myname;**
+	end if;**
+	if rec.slotlink != blname then**
+	    update PHone set slotlink = blname where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    raise exception 'illegal slotlink beginning with %', mytype;**
+end;**
 $_$;*
 *
 *
@@ -3128,65 +3128,65 @@
 *
 CREATE FUNCTION tg_slotlink_unset(character, character) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-    myname	alias for $1;*
-    blname	alias for $2;*
-    mytype	char(2);*
-    rec		record;*
-begin*
-    mytype := substr(myname, 1, 2);*
-    if mytype = 'PS' then*
-        select into rec * from PSlot where slotname = myname;*
-	if not found then*
-	    return 0;*
-	end if;*
-	if rec.slotlink = blname then*
-	    update PSlot set slotlink = '' where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'WS' then*
-        select into rec * from WSlot where slotname = myname;*
-	if not found then*
-	    return 0;*
-	end if;*
-	if rec.slotlink = blname then*
-	    update WSlot set slotlink = '' where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'IF' then*
-        select into rec * from IFace where slotname = myname;*
-	if not found then*
-	    return 0;*
-	end if;*
-	if rec.slotlink = blname then*
-	    update IFace set slotlink = '' where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'HS' then*
-        select into rec * from HSlot where slotname = myname;*
-	if not found then*
-	    return 0;*
-	end if;*
-	if rec.slotlink = blname then*
-	    update HSlot set slotlink = '' where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-    if mytype = 'PH' then*
-        select into rec * from PHone where slotname = myname;*
-	if not found then*
-	    return 0;*
-	end if;*
-	if rec.slotlink = blname then*
-	    update PHone set slotlink = '' where slotname = myname;*
-	end if;*
-	return 0;*
-    end if;*
-end;*
+    AS $_$**
+declare**
+    myname	alias for $1;**
+    blname	alias for $2;**
+    mytype	char(2);**
+    rec		record;**
+begin**
+    mytype := substr(myname, 1, 2);**
+    if mytype = 'PS' then**
+        select into rec * from PSlot where slotname = myname;**
+	if not found then**
+	    return 0;**
+	end if;**
+	if rec.slotlink = blname then**
+	    update PSlot set slotlink = '' where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'WS' then**
+        select into rec * from WSlot where slotname = myname;**
+	if not found then**
+	    return 0;**
+	end if;**
+	if rec.slotlink = blname then**
+	    update WSlot set slotlink = '' where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'IF' then**
+        select into rec * from IFace where slotname = myname;**
+	if not found then**
+	    return 0;**
+	end if;**
+	if rec.slotlink = blname then**
+	    update IFace set slotlink = '' where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'HS' then**
+        select into rec * from HSlot where slotname = myname;**
+	if not found then**
+	    return 0;**
+	end if;**
+	if rec.slotlink = blname then**
+	    update HSlot set slotlink = '' where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+    if mytype = 'PH' then**
+        select into rec * from PHone where slotname = myname;**
+	if not found then**
+	    return 0;**
+	end if;**
+	if rec.slotlink = blname then**
+	    update PHone set slotlink = '' where slotname = myname;**
+	end if;**
+	return 0;**
+    end if;**
+end;**
 $_$;*
 *
 *
@@ -3198,13 +3198,13 @@
 *
 CREATE FUNCTION tg_system_au() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if new.name != old.name then*
-        update IFace set sysname = new.name where sysname = old.name;*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if new.name != old.name then**
+        update IFace set sysname = new.name where sysname = old.name;**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -3216,13 +3216,13 @@
 *
 CREATE FUNCTION tg_wslot_biu() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if count(*) = 0 from Room where roomno = new.roomno then*
-        raise exception 'Room % does not exist', new.roomno;*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if count(*) = 0 from Room where roomno = new.roomno then**
+        raise exception 'Room % does not exist', new.roomno;**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -3234,25 +3234,25 @@
 *
 CREATE FUNCTION tg_wslot_bu() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-    if new.slotname != old.slotname then*
-        delete from WSlot where slotname = old.slotname;*
-	insert into WSlot (*
-		    slotname,*
-		    roomno,*
-		    slotlink,*
-		    backlink*
-		) values (*
-		    new.slotname,*
-		    new.roomno,*
-		    new.slotlink,*
-		    new.backlink*
-		);*
-        return null;*
-    end if;*
-    return new;*
-end;*
+    AS $$**
+begin**
+    if new.slotname != old.slotname then**
+        delete from WSlot where slotname = old.slotname;**
+	insert into WSlot (**
+		    slotname,**
+		    roomno,**
+		    slotlink,**
+		    backlink**
+		) values (**
+		    new.slotname,**
+		    new.roomno,**
+		    new.slotlink,**
+		    new.backlink**
+		);**
+        return null;**
+    end if;**
+    return new;**
+end;**
 $$;*
 *
 *
@@ -3264,25 +3264,25 @@
 *
 CREATE FUNCTION trap_matching_test(integer) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $_$*
-declare x int;*
-	sx smallint;*
-	y int;*
-begin*
-	begin	-- start a subtransaction*
-		x := 100 / $1;*
-		sx := $1;*
-		select into y unique1 from tenk1 where unique2 =*
-			(select unique2 from tenk1 b where ten = $1);*
-	exception*
-		when data_exception then  -- category match*
-			raise notice 'caught data_exception';*
-			x := -1;*
-		when NUMERIC_VALUE_OUT_OF_RANGE OR CARDINALITY_VIOLATION then*
-			raise notice 'caught numeric_value_out_of_range or cardinality_violation';*
-			x := -2;*
-	end;*
-	return x;*
+    AS $_$**
+declare x int;**
+	sx smallint;**
+	y int;**
+begin**
+	begin	-- start a subtransaction**
+		x := 100 / $1;**
+		sx := $1;**
+		select into y unique1 from tenk1 where unique2 =**
+			(select unique2 from tenk1 b where ten = $1);**
+	exception**
+		when data_exception then  -- category match**
+			raise notice 'caught data_exception';**
+			x := -1;**
+		when NUMERIC_VALUE_OUT_OF_RANGE OR CARDINALITY_VIOLATION then**
+			raise notice 'caught numeric_value_out_of_range or cardinality_violation';**
+			x := -2;**
+	end;**
+	return x;**
 end$_$;*
 *
 *
@@ -3294,28 +3294,28 @@
 *
 CREATE FUNCTION trap_zero_divide(integer) RETURNS integer*
     LANGUAGE plpgsql*
-    AS $_$*
-declare x int;*
-	sx smallint;*
-begin*
-	begin	-- start a subtransaction*
-		raise notice 'should see this';*
-		x := 100 / $1;*
-		raise notice 'should see this only if % <> 0', $1;*
-		sx := $1;*
-		raise notice 'should see this only if % fits in smallint', $1;*
-		if $1 < 0 then*
-			raise exception '% is less than zero', $1;*
-		end if;*
-	exception*
-		when division_by_zero then*
-			raise notice 'caught division_by_zero';*
-			x := -1;*
-		when NUMERIC_VALUE_OUT_OF_RANGE then*
-			raise notice 'caught numeric_value_out_of_range';*
-			x := -2;*
-	end;*
-	return x;*
+    AS $_$**
+declare x int;**
+	sx smallint;**
+begin**
+	begin	-- start a subtransaction**
+		raise notice 'should see this';**
+		x := 100 / $1;**
+		raise notice 'should see this only if % <> 0', $1;**
+		sx := $1;**
+		raise notice 'should see this only if % fits in smallint', $1;**
+		if $1 < 0 then**
+			raise exception '% is less than zero', $1;**
+		end if;**
+	exception**
+		when division_by_zero then**
+			raise notice 'caught division_by_zero';**
+			x := -1;**
+		when NUMERIC_VALUE_OUT_OF_RANGE then**
+			raise notice 'caught numeric_value_out_of_range';**
+			x := -2;**
+	end;**
+	return x;**
 end$_$;*
 *
 *
@@ -3327,10 +3327,10 @@
 *
 CREATE FUNCTION trigger_func() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-BEGIN*
-	RAISE NOTICE 'trigger_func(%) called: action = %, when = %, level = %', TG_ARGV[0], TG_OP, TG_WHEN, TG_LEVEL;*
-	RETURN NULL;*
+    AS $$**
+BEGIN**
+	RAISE NOTICE 'trigger_func(%) called: action = %, when = %, level = %', TG_ARGV[0], TG_OP, TG_WHEN, TG_LEVEL;**
+	RETURN NULL;**
 END;$$;*
 *
 *
@@ -3342,10 +3342,10 @@
 *
 CREATE FUNCTION trigtest() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-begin*
-	raise notice '% % % %', TG_RELNAME, TG_OP, TG_WHEN, TG_LEVEL;*
-	return new;*
+    AS $$**
+begin**
+	raise notice '% % % %', TG_RELNAME, TG_OP, TG_WHEN, TG_LEVEL;**
+	return new;**
 end;$$;*
 *
 *
@@ -3368,10 +3368,10 @@
 *
 CREATE FUNCTION user_relns() RETURNS SETOF name*
     LANGUAGE sql*
-    AS $$select relname*
-       from pg_class c, pg_namespace n*
-       where relnamespace = n.oid and*
-             (nspname !~ 'pg_.*' and nspname <> 'information_schema') and*
+    AS $$select relname**
+       from pg_class c, pg_namespace n**
+       where relnamespace = n.oid and**
+             (nspname !~ 'pg_.*' and nspname <> 'information_schema') and**
              relkind <> 'i' $$;*
 *
 *
@@ -3383,43 +3383,43 @@
 *
 CREATE FUNCTION view_trigger() RETURNS trigger*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-    argstr text := '';*
-begin*
-    for i in 0 .. TG_nargs - 1 loop*
-        if i > 0 then*
-            argstr := argstr || ', ';*
-        end if;*
-        argstr := argstr || TG_argv[i];*
-    end loop;*
-*
-    raise notice '% % % % (%)', TG_RELNAME, TG_WHEN, TG_OP, TG_LEVEL, argstr;*
-*
-    if TG_LEVEL = 'ROW' then*
-        if TG_OP = 'INSERT' then*
-            raise NOTICE 'NEW: %', NEW;*
-            INSERT INTO main_table VALUES (NEW.a, NEW.b);*
-            RETURN NEW;*
-        end if;*
-*
-        if TG_OP = 'UPDATE' then*
-            raise NOTICE 'OLD: %, NEW: %', OLD, NEW;*
-            UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b;*
-            if NOT FOUND then RETURN NULL; end if;*
-            RETURN NEW;*
-        end if;*
-*
-        if TG_OP = 'DELETE' then*
-            raise NOTICE 'OLD: %', OLD;*
-            DELETE FROM main_table WHERE a = OLD.a AND b = OLD.b;*
-            if NOT FOUND then RETURN NULL; end if;*
-            RETURN OLD;*
-        end if;*
-    end if;*
-*
-    RETURN NULL;*
-end;*
+    AS $$**
+declare**
+    argstr text := '';**
+begin**
+    for i in 0 .. TG_nargs - 1 loop**
+        if i > 0 then**
+            argstr := argstr || ', ';**
+        end if;**
+        argstr := argstr || TG_argv[i];**
+    end loop;**
+**
+    raise notice '% % % % (%)', TG_RELNAME, TG_WHEN, TG_OP, TG_LEVEL, argstr;**
+**
+    if TG_LEVEL = 'ROW' then**
+        if TG_OP = 'INSERT' then**
+            raise NOTICE 'NEW: %', NEW;**
+            INSERT INTO main_table VALUES (NEW.a, NEW.b);**
+            RETURN NEW;**
+        end if;**
+**
+        if TG_OP = 'UPDATE' then**
+            raise NOTICE 'OLD: %, NEW: %', OLD, NEW;**
+            UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b;**
+            if NOT FOUND then RETURN NULL; end if;**
+            RETURN NEW;**
+        end if;**
+**
+        if TG_OP = 'DELETE' then**
+            raise NOTICE 'OLD: %', OLD;**
+            DELETE FROM main_table WHERE a = OLD.a AND b = OLD.b;**
+            if NOT FOUND then RETURN NULL; end if;**
+            RETURN OLD;**
+        end if;**
+    end if;**
+**
+    RETURN NULL;**
+end;**
 $$;*
 *
 *
@@ -3431,33 +3431,33 @@
 *
 CREATE FUNCTION wait_for_stats() RETURNS void*
     LANGUAGE plpgsql*
-    AS $$*
-declare*
-  start_time timestamptz := clock_timestamp();*
-  updated bool;*
-begin*
-  -- we don't want to wait forever; loop will exit after 30 seconds*
-  for i in 1 .. 300 loop*
-*
-    -- check to see if indexscan has been sensed*
-    SELECT (st.idx_scan >= pr.idx_scan + 1) INTO updated*
-      FROM pg_stat_user_tables AS st, pg_class AS cl, prevstats AS pr*
-     WHERE st.relname='tenk2' AND cl.relname='tenk2';*
-*
-    exit when updated;*
-*
-    -- wait a little*
-    perform pg_sleep(0.1);*
-*
-    -- reset stats snapshot so we can test again*
-    perform pg_stat_clear_snapshot();*
-*
-  end loop;*
-*
-  -- report time waited in postmaster log (where it won't change test output)*
-  raise log 'wait_for_stats delayed % seconds',*
-    extract(epoch from clock_timestamp() - start_time);*
-end*
+    AS $$**
+declare**
+  start_time timestamptz := clock_timestamp();**
+  updated bool;**
+begin**
+  -- we don't want to wait forever; loop will exit after 30 seconds**
+  for i in 1 .. 300 loop**
+**
+    -- check to see if indexscan has been sensed**
+    SELECT (st.idx_scan >= pr.idx_scan + 1) INTO updated**
+      FROM pg_stat_user_tables AS st, pg_class AS cl, prevstats AS pr**
+     WHERE st.relname='tenk2' AND cl.relname='tenk2';**
+**
+    exit when updated;**
+**
+    -- wait a little**
+    perform pg_sleep(0.1);**
+**
+    -- reset stats snapshot so we can test again**
+    perform pg_stat_clear_snapshot();**
+**
+  end loop;**
+**
+  -- report time waited in postmaster log (where it won't change test output)**
+  raise log 'wait_for_stats delayed % seconds',**
+    extract(epoch from clock_timestamp() - start_time);**
+end**
 $$;*
 *
 *
@@ -3480,49 +3480,49 @@
 *
 CREATE FUNCTION wslot_slotlink_view(character) RETURNS text*
     LANGUAGE plpgsql*
-    AS $_$*
-declare*
-    rec		record;*
-    sltype	char(2);*
-    retval	text;*
-begin*
-    select into rec * from WSlot where slotname = $1;*
-    if not found then*
-        return '';*
-    end if;*
-    if rec.slotlink = '' then*
-        return '-';*
-    end if;*
-    sltype := substr(rec.slotlink, 1, 2);*
-    if sltype = 'PH' then*
-        select into rec * from PHone where slotname = rec.slotlink;*
-	retval := 'Phone ' || trim(rec.slotname);*
-	if rec.comment != '' then*
-	    retval := retval || ' (';*
-	    retval := retval || rec.comment;*
-	    retval := retval || ')';*
-	end if;*
-	return retval;*
-    end if;*
-    if sltype = 'IF' then*
-	declare*
-	    syrow	System%RowType;*
-	    ifrow	IFace%ROWTYPE;*
-        begin*
-	    select into ifrow * from IFace where slotname = rec.slotlink;*
-	    select into syrow * from System where name = ifrow.sysname;*
-	    retval := syrow.name || ' IF ';*
-	    retval := retval || ifrow.ifname;*
-	    if syrow.comment != '' then*
-	        retval := retval || ' (';*
-		retval := retval || syrow.comment;*
-		retval := retval || ')';*
-	    end if;*
-	    return retval;*
-	end;*
-    end if;*
-    return rec.slotlink;*
-end;*
+    AS $_$**
+declare**
+    rec		record;**
+    sltype	char(2);**
+    retval	text;**
+begin**
+    select into rec * from WSlot where slotname = $1;**
+    if not found then**
+        return '';**
+    end if;**
+    if rec.slotlink = '' then**
+        return '-';**
+    end if;**
+    sltype := substr(rec.slotlink, 1, 2);**
+    if sltype = 'PH' then**
+        select into rec * from PHone where slotname = rec.slotlink;**
+	retval := 'Phone ' || trim(rec.slotname);**
+	if rec.comment != '' then**
+	    retval := retval || ' (';**
+	    retval := retval || rec.comment;**
+	    retval := retval || ')';**
+	end if;**
+	return retval;**
+    end if;**
+    if sltype = 'IF' then**
+	declare**
+	    syrow	System%RowType;**
+	    ifrow	IFace%ROWTYPE;**
+        begin**
+	    select into ifrow * from IFace where slotname = rec.slotlink;**
+	    select into syrow * from System where name = ifrow.sysname;**
+	    retval := syrow.name || ' IF ';**
+	    retval := retval || ifrow.ifname;**
+	    if syrow.comment != '' then**
+	        retval := retval || ' (';**
+		retval := retval || syrow.comment;**
+		retval := retval || ')';**
+	    end if;**
+	    return retval;**
+	end;**
+    end if;**
+    return rec.slotlink;**
+end;**
 $_$;*
 *
 *