On Mon, Jul 02, 2012 at 05:05:25PM +0100, Niall O'Reilly wrote: > > On 2 Jul 2012, at 16:13, Nico Williams wrote: > > > That reminds me: it'd be nice to have a bit string type, since the > > correct way to sort IPv4 CIDR blocks is as bit strings. > > Nice, definitely! > > > This is also > > a proper way to sort IPv6 blocks. Alternatively, it'd be nice to have > > native IP address types in SQLite4, as otherwise one has to jump > > through hoops to handle IP addresses properly. > > Bit strings would be more general. > Native IP would remove a sometimes-asserted motivation for preferring > PostgreSQL. > > As I see it, ranges, as well as single addresses and CIDR prefixes, > need to be supported, perhaps like the Perl Net::IP module does.
Individual IP addresses are nicely supported in the form of unsigned integers, and prefixes/ranges - as contiguous ranges of such integers. For example, to determine whether given IP address belongs to a particular subnet, one can calculate "IP between NETWORK_MIN and NETWORK_MAX", which sqlite does quite efficiently. This is for IPv4 at least. Valentin Davydov. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users