Re: CIDR index use for '<<' operator - Mailing list pgsql-general

From Tom Lane
Subject Re: CIDR index use for '<<' operator
Date
Msg-id 28089.970727483@sss.pgh.pa.us
Whole thread Raw
In response to CIDR index use for '<<' operator  ("Kendall Koning" <kkoning@egl.net>)
Responses Re: CIDR index use for '<<' operator
List pgsql-general
"Kendall Koning" <kkoning@egl.net> writes:
> Postgres doesn't seem to make use of indexes when doing operations with the
> CIDR '<<' (contains) operator.

You're right --- the system has no idea that the '<<' operator has any
relationship to the sort ordering of CIDR indexes.

Seems like it'd be possible to improve this along the same lines that
we use to make LIKE and regexp matches indexable: derive lower and
upper bounds on the CIDR variable from a 'cidr-var << cidr-constant'
clause, and use those to create 'cidr-var >= lower-bound AND
cidr-var <= upper-bound' indexscan limit clauses.

If you feel like tackling this, the "special index operator" support
in src/backend/optimizer/path/indxpath.c is the stuff that'd need to
be extended.

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: executing user-defined functions
Next
From: Jan Wieck
Date:
Subject: Re: executing user-defined functions