Changeset 599 for trunk/dns.sql


Ignore:
Timestamp:
03/21/14 16:44:13 (10 years ago)
Author:
Kris Deugau
Message:

/trunk

Prepare for changes to allow any record in either forward or reverse
zones, no matter how silly.

This commit adds a database function to catch errors with CASTing a
column as inet, so that any place we need to sort records based on the
IP value of a column succeeds by treating non-IP values as 0.0.0.0/0.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dns.sql

    r543 r599  
    66-- SET SESSION AUTHORIZATION 'dnsdb';
    77
     8-- pre-pg8.3, this must be run as a superuser
     9CREATE LANGUAGE plpgsql;
     10-- it's required for:
     11
     12-- Return proper conversion of string to inet, or 0.0.0.0/0 if the string is
     13-- not a valid inet value.  We need to do this to support "funky" records that
     14-- may not actually have valid IP address values.  Used for ORDER BY
     15CREATE OR REPLACE FUNCTION inetlazy (rdata text) RETURNS inet AS $$
     16BEGIN
     17        RETURN CAST(rdata AS inet);
     18EXCEPTION
     19        WHEN OTHERS THEN
     20                RETURN CAST('0.0.0.0/0' AS inet);
     21END;
     22$$ LANGUAGE plpgsql;
     23
     24
    825-- need a handy place to put eg a DB version identifier - useful for auto-upgrading a DB
    926CREATE TABLE misc (
     
    1431
    1532COPY misc (misc_id, key, value) FROM stdin;
    16 1       dbversion       1.2
     331       dbversion       1.2.4
    1734\.
    1835
Note: See TracChangeset for help on using the changeset viewer.