Make various variables const (read-only).
Tom Lane <tgl@sss.pgh.pa.us>
Make various variables const (read-only). These changes should generally improve correctness/maintainability. A nice side benefit is that several kilobytes move from initialized data to text segment, allowing them to be shared across processes and probably reducing copy-on-write overhead while forking a new backend. Unfortunately this doesn't seem to help libpq in the same way (at least not when it's compiled with -fpic on x86_64), but we can hope the linker at least collects all nominally-const data together even if it's not actually part of the text segment. Also, make pg_encname_tbl[] static in encnames.c, since there seems no very good reason for any other code to use it; per a suggestion from Wim Lewis, who independently submitted a patch that was mostly a subset of this one. Oskari Saarenmaa, with some editorialization by me
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/catalog/objectaddress.c | modified | +14 −14 |
| src/backend/commands/conversioncmds.c | modified | +1 −1 |
| src/backend/regex/regc_lex.c | modified | +2 −2 |
| src/backend/regex/regcomp.c | modified | +1 −1 |
| src/backend/regex/regerror.c | modified | +3 −3 |
| src/backend/tsearch/wparser_def.c | modified | +2 −2 |
| src/backend/utils/adt/datetime.c | modified | +3 −3 |
| src/backend/utils/adt/formatting.c | modified | +30 −37 |
| src/backend/utils/adt/tsrank.c | modified | +8 −8 |
| src/backend/utils/mb/encnames.c | modified | +21 −34 |
| src/backend/utils/mb/mbutils.c | modified | +3 −3 |
| src/backend/utils/mb/wchar.c | modified | +1 −1 |
| src/common/relpath.c | modified | +1 −1 |
| src/include/common/relpath.h | modified | +2 −1 |
| src/include/mb/pg_wchar.h | modified | +7 −19 |
| src/include/utils/datetime.h | modified | +2 −0 |