Re: Large writable variables

Peter Eisentraut <peter.eisentraut@2ndquadrant.com>

From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@postgresql.org, Thomas Munro <thomas.munro@enterprisedb.com>
Date: 2018-10-25T00:04:34Z
Lists: pgsql-hackers
On 18/10/2018 21:31, Andres Freund wrote:
> On 2018-10-18 22:17:55 +0200, Peter Eisentraut wrote:
>> I'd perhaps change the signature
>>
>> #define unconstify(underlying_type, var)
>>
>> because the "var" doesn't actually have to be a variable.
> 
> Hm, so expr, or what would you use?

done

>> Attached is my previous patch adapted to your macro.
>>
>> I'm tempted to get rid of the stuff in dfmgr.c and just let the "older
>> platforms" get the warning.

and done

> Yea, that works for me.
> 
> Are you planning to apply this?

and done

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Commits

  1. Apply unconstify() in more places

  2. Improve unconstify() documentation

  3. Drop const cast from dlsym() calls

  4. Const-ify a few more large static tables.

  5. Improve tzparse's handling of TZDEFRULES ("posixrules") zone data.

  6. Avoid statically allocating statement cache in ecpglib/prepare.c.

  7. Reorder FmgrBuiltin members, saving 25% in size.

  8. Add macro to cast away const without allowing changes to underlying type.

  9. Mark constantly allocated dest receiver as const.

  10. Avoid statically allocating formatting.c's format string caches.

  11. Correct constness of system attributes in heap.c & prerequisites.

  12. Avoid statically allocating gmtsub()'s timezone workspace.

  13. Correct constness of a few variables.

  14. Move the replication lag tracker into heap memory.