-
Notifications
You must be signed in to change notification settings - Fork 41
Open
Description
My hesitance to go ahead with #342 and also with #343 has the same root: in their current form, they seem to be adding non-trivial complexity that could become barriers for the future improvements, while in the ideal world such features should be added with much less friction and much less interconnectedness.
After a some thinking and high-level fiddling, I think I have found a way forward though: we will need to refactor the value encoding/decoding to have access to:
- connection settings (like client-provided timezone)
- runtime parameter values (like server-provided timezone)
- the
TypeRegistryitself (there should be no need to use any other reference than the one provided in the connection settings) - the connection or ways to open a new connection + an OID cache that can use it to query yet-unknown identifiers (this becomes tricky in certain clusters so it shouldn't be 100% automatic caching)
- user-provided transformation functions for specific types - e.g. to pull in larger timezone databases like
pg_timezone, which may not be needed for all users
I'm not entirely sure how such code would look like, but I think the above feature would now only allow the two pending features to go ahead, but also allow better overall extensibility.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels