mirror of
https://github.com/postgres/postgres.git
synced 2026-02-21 00:40:20 -05:00
Make some minor cleanups in typalign-related code.
Commit 7b378237a widened AclMode to 64 bits, which implies that
the alignment of AclItem is now determined by an int64 field.
That commit correctly set the typalign for SQL type aclitem to
'd', but it missed the hard-wired knowledge about _aclitem in
bootstrap.c. This doesn't seem to have caused any ill effects,
probably because we never try to fill a non-null value into
an aclitem[] column during bootstrap. Nonetheless, it's clearly
a gotcha waiting to happen, so fix it up.
In passing, also fix a couple of typanalyze functions that were
using hard-coded typalign constants when they could just as
easily use greppable TYPALIGN_xxx macros.
Noticed these while working on a patch to expand the set of
typalign values. I doubt we are going to pursue that path,
but these fixes still seem worth a quick commit.
Discussion: https://postgr.es/m/1127261.1769649624@sss.pgh.pa.us
This commit is contained in:
parent
ba1e14134a
commit
7cdb633c89
3 changed files with 3 additions and 3 deletions
|
|
@ -137,7 +137,7 @@ static const struct typinfo TypInfo[] = {
|
|||
F_ARRAY_IN, F_ARRAY_OUT},
|
||||
{"_char", 1002, CHAROID, -1, false, TYPALIGN_INT, TYPSTORAGE_EXTENDED, InvalidOid,
|
||||
F_ARRAY_IN, F_ARRAY_OUT},
|
||||
{"_aclitem", 1034, ACLITEMOID, -1, false, TYPALIGN_INT, TYPSTORAGE_EXTENDED, InvalidOid,
|
||||
{"_aclitem", 1034, ACLITEMOID, -1, false, TYPALIGN_DOUBLE, TYPSTORAGE_EXTENDED, InvalidOid,
|
||||
F_ARRAY_IN, F_ARRAY_OUT}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -444,7 +444,7 @@ compute_tsvector_stats(VacAttrStats *stats,
|
|||
stats->statypid[0] = TEXTOID;
|
||||
stats->statyplen[0] = -1; /* typlen, -1 for varlena */
|
||||
stats->statypbyval[0] = false;
|
||||
stats->statypalign[0] = 'i';
|
||||
stats->statypalign[0] = TYPALIGN_INT;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -398,7 +398,7 @@ compute_range_stats(VacAttrStats *stats, AnalyzeAttrFetchFunc fetchfunc,
|
|||
stats->statypid[slot_idx] = FLOAT8OID;
|
||||
stats->statyplen[slot_idx] = sizeof(float8);
|
||||
stats->statypbyval[slot_idx] = true;
|
||||
stats->statypalign[slot_idx] = 'd';
|
||||
stats->statypalign[slot_idx] = TYPALIGN_DOUBLE;
|
||||
|
||||
/* Store the fraction of empty ranges */
|
||||
emptyfrac = palloc_object(float4);
|
||||
|
|
|
|||
Loading…
Reference in a new issue