Fix portability problems recently exposed by regression tests on Alphas.
1. Distinguish cases where a Datum representing a tuple datatype is an OID from cases where it is a pointer to TupleTableSlot, and make sure we use the right typlen in each case. 2. Make fetchatt() and related code support 8-byte by-value datatypes on machines where Datum is 8 bytes. Centralize knowledge of the available by-value datatype sizes in two macros in tupmacs.h, so that this will be easier if we ever have to do it again.
Showing
- configure 71 additions, 26 deletionsconfigure
- configure.in 5 additions, 0 deletionsconfigure.in
- contrib/array/array_iterator.c 10 additions, 29 deletionscontrib/array/array_iterator.c
- src/backend/access/common/heaptuple.c 97 additions, 137 deletionssrc/backend/access/common/heaptuple.c
- src/backend/access/common/indextuple.c 8 additions, 8 deletionssrc/backend/access/common/indextuple.c
- src/backend/access/common/printtup.c 11 additions, 24 deletionssrc/backend/access/common/printtup.c
- src/backend/access/common/tupdesc.c 52 additions, 34 deletionssrc/backend/access/common/tupdesc.c
- src/backend/access/heap/heapam.c 2 additions, 2 deletionssrc/backend/access/heap/heapam.c
- src/backend/catalog/catalog.c 2 additions, 56 deletionssrc/backend/catalog/catalog.c
- src/backend/catalog/heap.c 1 addition, 7 deletionssrc/backend/catalog/heap.c
- src/backend/commands/copy.c 7 additions, 55 deletionssrc/backend/commands/copy.c
- src/backend/executor/execTuples.c 18 additions, 28 deletionssrc/backend/executor/execTuples.c
- src/backend/executor/execUtils.c 4 additions, 10 deletionssrc/backend/executor/execUtils.c
- src/backend/parser/parse_func.c 10 additions, 4 deletionssrc/backend/parser/parse_func.c
- src/backend/utils/adt/arrayfuncs.c 26 additions, 122 deletionssrc/backend/utils/adt/arrayfuncs.c
- src/backend/utils/cache/lsyscache.c 3 additions, 22 deletionssrc/backend/utils/cache/lsyscache.c
- src/include/access/heapam.h 26 additions, 44 deletionssrc/include/access/heapam.h
- src/include/access/htup.h 4 additions, 4 deletionssrc/include/access/htup.h
- src/include/access/itup.h 2 additions, 2 deletionssrc/include/access/itup.h
- src/include/access/tupmacs.h 119 additions, 30 deletionssrc/include/access/tupmacs.h
Loading
Please register or sign in to comment