On 2019-07-02 17:09, Tom Lane wrote: > Peter Eisentraut <peter.eisentr...@2ndquadrant.com> writes: >> On 2019-06-30 14:50, Fabien COELHO wrote: >>> I'm wondering whether pg_random_uuid() should be taken out of pgcrypto if >>> it is available in core? > >> That would probably require an extension version update dance in >> pgcrypto. I'm not sure if it's worth that. Thoughts? > > We have some previous experience with this type of thing when we migrated > contrib/tsearch2 stuff into core. I'm too caffeine-deprived to remember > exactly what we did or how well it worked. But it seems advisable to go > study that history, because we could easily make things a mess for users > if we fail to consider their upgrade experience.
I think in that case we wanted users of the extension to transparently end up using the in-core code. This is not the case here: Both the extension and the proposed in-core code do the same thing and there is very little code duplication, so having them coexist would be fine in principle. I think the alternatives are: 1. We keep the code in both places. This is fine. There is no problem with having the same C function or the same SQL function name in both places. 2. We remove the C function from pgcrypto and make an extension version bump. This will create breakage for (some) current users of the function from pgcrypto. So option 2 would ironically punish the very users we are trying to help. So I think just doing nothing is the best option. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services