Cory Nelson wrote: > Expand the prefix into the full feed:beef:0000:etc > > Insert into a table (start binary(16), mask_length int) > > select top 1 binary,length from table where start <= @input order by > binary desc > > Check if the row is inside the range returned. This will take a single > index seek.
Looking at this again, I do not think the solution is correct. E.g. assume you have populated 10m prefixes, one of which is ::/0. Assume the search key is ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff and ::/0 is the only covering prefix. Then your scheme will not find ::/0. And simple extensions of your scheme involve searching through the whole set to find ::/0. -- Eric A. Rubin-Smith Money is the root of all wealth. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users