dkanavis

Untitled

Sep 18th, 2015
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. DECLARE
  2.         ip inet;
  3.         type character varying;
  4. BEGIN
  5.         ip := (netmask(NEW.subnet)&NEW.subnet)+1;
  6.         WHILE ip << NEW.subnet LOOP
  7.                 IF ip = NEW.router THEN
  8.                         type := 'router';
  9.                 ELSE
  10.                         type := 'dynamic_free';
  11.                 END IF;
  12.                 EXECUTE '
  13.                        INSERT INTO addresses (
  14.                                subnet_id,
  15.                                ip,
  16.                                type
  17.                        )
  18.                        VALUES (
  19.                                ' || NEW.id || ',
  20.                                ''' || host(ip) || ''',
  21.                                ''' || type || '''
  22.                        )
  23.                ';
  24.                 ip := ip + 1;
  25.         END LOOP;
  26.         RETURN NEW;
  27. END;
Advertisement
Add Comment
Please, Sign In to add comment