Re: JOINing based on whether an IP address is contained within a CIDR range? - Mailing list pgsql-sql

From Tom Lane
Subject Re: JOINing based on whether an IP address is contained within a CIDR range?
Date
Msg-id 23757.1193340735@sss.pgh.pa.us
Whole thread Raw
In response to JOINing based on whether an IP address is contained within a CIDR range?  ("Jamie Tufnell" <diesql@googlemail.com>)
List pgsql-sql
"Jamie Tufnell" <diesql@googlemail.com> writes:
> Is it possible to somehow JOIN using the <<= and
> = network operators?

Sure, why not?

You probably won't get a plan that's smarter than a nestloop, but I
imagine you'll have few enough rows in network_names that it won't
matter.

One potential problem is if there could be overlapping entries in
network_names --- the join would give you multiple rows for any
log entry that matches more than one network_names entry.  You
could fix that using a subselect with LIMIT 1, as long as you
weren't too picky about which name got reported.
        regards, tom lane


pgsql-sql by date:

Previous
From: Erik Jones
Date:
Subject: Re: JOINing based on whether an IP address is contained within a CIDR range?
Next
From: Darnell Brawner
Date:
Subject: hidden versioning system