On 04.06.25 17:53, Jeff Davis wrote:
> On Wed, 2025-06-04 at 11:33 -0400, David E. Wheeler wrote:
>> I understand the need to trace these dependencies, but as a function
>> developer with relatively modest understanding of collation nuances,
>> I’m wondering how I’d know I needed these markers. It seems
>> complicated. Which leads me to think that adoption would be low
>> outside of core.
>
> In the proposal, I mentioned adding runtime checks as future work.
> Perhaps that would be a requirement for this proposal so that users
> could get a warning? We could also make the markers negative, so that
> the default is to assume that a UDF with collatable inputs depends on
> all of the behaviors.
Yes, in my research in the past (see other message) I was also wondering
about this. One is, how do we get third-party code to update, the other
is, how many functions, either in core or third-party, do you need to
update, versus having a negative/opt-out approach.
My conclusion was also what you appear to be saying here: We should
assume by default that a function using a collatable data type might use
the collation. If the function doesn't, then the implementer can
explicitly opt out. This is similar to how functions are volatile by
default, but implementers can mark them as stable or immutable as their
own responsibility.