Add planner support functions for range operators <@ and @>.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 075df6b2080b13e0a5adc88737b7c24417a873c1
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2024-01-20T18:57:54Z
Releases: 17.0
Add planner support functions for range operators <@ and @>.

These support functions will transform expressions with constant
range values into direct comparisons on the range bound values,
which are frequently better-optimizable.  The transformation is
skipped however if it would require double evaluation of a
volatile or expensive element expression.

Along the way, add the range opfamily OID to range typcache entries,
since load_rangetype_info has to compute that anyway and it seems
silly to duplicate the work later.

Kim Johan Andersson and Jian He, reviewed by Laurenz Albe

Discussion: https://postgr.es/m/94f64d1f-b8c0-b0c5-98bc-0793a34e0851@kimmet.dk

Files

Discussion