Re: Converting contrib SQL functions to new style

Ronan Dunklau <ronan.dunklau@aiven.io>

From: Ronan Dunklau <ronan.dunklau@aiven.io>
To: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@lists.postgresql.org
Cc: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Date: 2024-10-29T07:28:55Z
Lists: pgsql-hackers

Attachments

Le mercredi 1 septembre 2021, 19:27:35 heure normale d’Europe centrale Tom 
Lane a écrit :
> The rest of this is stuck pending investigation of the ideas about
> making new-style function creation safer when the creation-time path
> isn't secure, so I suppose we should mark it RWF rather than leaving
> it in the queue.  Will go do that.

Sorry to revive such an old thread but ... since the introduction of the 
@extschema:name@ syntax in 72a5b1fc880481914da2d4233077438dd87840ca we can now 
proceed with this or am I missing something ?

I've updated the previous patches to convert them to the new-style, added one 
for lo as well. Most of them are just patching against a newer extension 
version than what was provided at the time, except for earthdistance which now 
references everything explicitly by pg_catalog or @extschema:cube@. 

This is a bit tangential to the initial subject, but take the opportunity to 
also update the CREATE DOMAIN statement in earthdistance extension to 
explicitly reference the cube schema.

Best regards,

--
Ronan Dunklau

Commits

  1. Use @extschema:name@ notation in contrib transform modules.

  2. pg_freespacemap: Fix declaration of pg_freespace(regclass)

  3. contrib/pageinspect: Use SQL-standard function bodies.

  4. contrib/xml2: Use SQL-standard function bodies.

  5. contrib/citext: Use SQL-standard function bodies.

  6. contrib/earthdistance: Use SQL-standard function bodies.

  7. contrib/lo: Use SQL-standard function bodies

  8. xml2: Add tests for functions xpath_nodeset() and xpath_list()

  9. contrib/lo: Add test for function lo_oid()

  10. pg_freespacemap: Use SQL-standard function bodies

  11. Add @extschema:name@ and no_relocate options to extensions.

  12. Make contrib modules' installation scripts more secure.