diff options
Diffstat (limited to 'src/backend/access/common/tupdesc.c')
-rw-r--r-- | src/backend/access/common/tupdesc.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/backend/access/common/tupdesc.c b/src/backend/access/common/tupdesc.c index 1a8d6481a29..9fec6e33865 100644 --- a/src/backend/access/common/tupdesc.c +++ b/src/backend/access/common/tupdesc.c @@ -80,7 +80,25 @@ populate_compact_attribute(TupleDesc tupdesc, int attnum) dst->attgenerated = (src->attgenerated != '\0'); dst->attnotnull = src->attnotnull; - dst->attalign = src->attalign; + switch (src->attalign) + { + case TYPALIGN_INT: + dst->attalignby = ALIGNOF_INT; + break; + case TYPALIGN_CHAR: + dst->attalignby = sizeof(char); + break; + case TYPALIGN_DOUBLE: + dst->attalignby = ALIGNOF_DOUBLE; + break; + case TYPALIGN_SHORT: + dst->attalignby = ALIGNOF_SHORT; + break; + default: + dst->attalignby = 0; + elog(ERROR, "invalid attalign value: %c", src->attalign); + break; + } } /* |