zerosleeps

Since 2010

GetReversedHostname

Saturday 17 June 2017

I stumbled upon this in Mozilla’s core source code:

This extracts the hostname from the URI and reverses it in the form that we use (always ending with a “.”). So “http://microsoft.com/” becomes “moc.tfosorcim.”

The idea behind this is that we can create an index over the items in the reversed host name column, and then query for as much or as little of the host name as we feel like.

For example, the query “host >= ‘gro.allizom.’ AND host < ‘gro.allizom/’ Matches all host names ending in ‘.mozilla.org’, including ‘developer.mozilla.org’ and just ‘mozilla.org’ (since we define all reversed host names to end in a period, even ‘mozilla.org’ matches). The important thing is that this operation uses the index. Any substring calls in a select statement (even if it’s for the beginning of a string) will bypass any indices and will be slow).

Ingenious! Software is hard.