- Notifications
You must be signed in to change notification settings - Fork5
Commit37ee4b7
committed
Restructure function-internal caching in the range type code.
Move the responsibility for caching specialized information about rangetypes into the type cache, so that the catalog lookups only have to occuronce per session. Rearrange APIs a bit so that fn_extra caching isactually effective in the GiST support code. (Use of OidFunctionCallN isbad enough for performance in itself, but it also prevents the functionfrom exploiting fn_extra caching.)The range I/O functions are still not very bright about caching repeatedlookups, but that seems like material for a separate patch.Also, avoid unnecessary use of memcpy to fetch/store the range type OID andflags, and don't use the full range_deserialize machinery when all we needto see is the flags value.Also fix API error in range_gist_penalty --- it was failing to set *penaltyfor any case involving an empty range.1 parentad50934 commit37ee4b7
File tree
5 files changed
+700
-602
lines changed- src
- backend/utils
- adt
- cache
- include/utils
5 files changed
+700
-602
lines changed0 commit comments
Comments
(0)