From 48d818ede15b3e43546e8d49dc19a3021bc773cf Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 17 Oct 2018 15:32:47 -0400 Subject: [PATCH] Const-ify a few more large static tables. Per research by Andres. Discussion: https://postgr.es/m/20181015200754.7y7zfuzsoux2c4ya@alap3.anarazel.de --- src/backend/utils/adt/datetime.c | 4 ++-- .../conversion_procs/euc_jp_and_sjis/sjis.map | 2 +- src/interfaces/ecpg/pgtypeslib/dt.h | 2 +- src/interfaces/ecpg/pgtypeslib/dt_common.c | 20 +++++++++---------- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c index 46159de795..20d6cee8b1 100644 --- a/src/backend/utils/adt/datetime.c +++ b/src/backend/utils/adt/datetime.c @@ -165,7 +165,7 @@ static const datetkn datetktbl[] = { {YESTERDAY, RESERV, DTK_YESTERDAY} /* yesterday midnight */ }; -static int szdatetktbl = sizeof datetktbl / sizeof datetktbl[0]; +static const int szdatetktbl = sizeof datetktbl / sizeof datetktbl[0]; /* * deltatktbl: same format as datetktbl, but holds keywords used to represent @@ -238,7 +238,7 @@ static const datetkn deltatktbl[] = { {"yrs", UNITS, DTK_YEAR} /* "years" relative */ }; -static int szdeltatktbl = sizeof deltatktbl / sizeof deltatktbl[0]; +static const int szdeltatktbl = sizeof deltatktbl / sizeof deltatktbl[0]; static TimeZoneAbbrevTable *zoneabbrevtbl = NULL; diff --git a/src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/sjis.map b/src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/sjis.map index cfcfaefb06..1062f834d6 100644 --- a/src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/sjis.map +++ b/src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/sjis.map @@ -1,4 +1,4 @@ -static struct +static const struct { unsigned short int nec; /* SJIS UDC (NEC selection IBM kanji) */ unsigned short int sjis; /* SJIS UDC (IBM kanji) */ diff --git a/src/interfaces/ecpg/pgtypeslib/dt.h b/src/interfaces/ecpg/pgtypeslib/dt.h index 8cf03bfedf..2c967b303a 100644 --- a/src/interfaces/ecpg/pgtypeslib/dt.h +++ b/src/interfaces/ecpg/pgtypeslib/dt.h @@ -336,6 +336,6 @@ extern char *pgtypes_date_weekdays_short[]; extern char *pgtypes_date_months[]; extern char *months[]; extern char *days[]; -extern int day_tab[2][13]; +extern const int day_tab[2][13]; #endif /* DT_H */ diff --git a/src/interfaces/ecpg/pgtypeslib/dt_common.c b/src/interfaces/ecpg/pgtypeslib/dt_common.c index 568b172596..ba4dd3a924 100644 --- a/src/interfaces/ecpg/pgtypeslib/dt_common.c +++ b/src/interfaces/ecpg/pgtypeslib/dt_common.c @@ -10,13 +10,13 @@ #include "dt.h" #include "pgtypes_timestamp.h" -int day_tab[2][13] = { +const int day_tab[2][13] = { {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 0}, {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 0}}; typedef long AbsoluteTime; -static datetkn datetktbl[] = { +static const datetkn datetktbl[] = { /* text, token, lexval */ {EARLY, RESERV, DTK_EARLY}, /* "-infinity" reserved for "early time" */ {"acsst", DTZ, 37800}, /* Cent. Australia */ @@ -420,7 +420,7 @@ static datetkn datetktbl[] = { {ZULU, TZ, 0}, /* UTC */ }; -static datetkn deltatktbl[] = { +static const datetkn deltatktbl[] = { /* text, token, lexval */ {"@", IGNORE_DTF, 0}, /* postgres relative prefix */ {DAGO, AGO, 0}, /* "ago" indicates negative time offset */ @@ -490,9 +490,9 @@ static datetkn deltatktbl[] = { static const unsigned int szdatetktbl = lengthof(datetktbl); static const unsigned int szdeltatktbl = lengthof(deltatktbl); -static datetkn *datecache[MAXDATEFIELDS] = {NULL}; +static const datetkn *datecache[MAXDATEFIELDS] = {NULL}; -static datetkn *deltacache[MAXDATEFIELDS] = {NULL}; +static const datetkn *deltacache[MAXDATEFIELDS] = {NULL}; char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", NULL}; @@ -502,12 +502,12 @@ char *pgtypes_date_weekdays_short[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fr char *pgtypes_date_months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", NULL}; -static datetkn * -datebsearch(char *key, datetkn *base, unsigned int nel) +static const datetkn * +datebsearch(const char *key, const datetkn *base, unsigned int nel) { if (nel > 0) { - datetkn *last = base + nel - 1, + const datetkn *last = base + nel - 1, *position; int result; @@ -540,7 +540,7 @@ int DecodeUnits(int field, char *lowtoken, int *val) { int type; - datetkn *tp; + const datetkn *tp; /* use strncmp so that we match truncated tokens */ if (deltacache[field] != NULL && @@ -641,7 +641,7 @@ static int DecodeSpecial(int field, char *lowtoken, int *val) { int type; - datetkn *tp; + const datetkn *tp; /* use strncmp so that we match truncated tokens */ if (datecache[field] != NULL &&