mirror of
https://github.com/postgres/postgres.git
synced 2025-06-29 10:41:53 +03:00
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.
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execUtils.c,v 1.69 2000/11/16 22:30:20 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execUtils.c,v 1.70 2000/12/27 23:59:11 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -274,16 +274,10 @@ ExecAssignResultTypeFromTL(Plan *node, CommonState *commonstate)
|
||||
{
|
||||
List *targetList;
|
||||
TupleDesc tupDesc;
|
||||
int len;
|
||||
|
||||
targetList = node->targetlist;
|
||||
tupDesc = ExecTypeFromTL(targetList);
|
||||
len = ExecTargetListLength(targetList);
|
||||
|
||||
if (len > 0)
|
||||
ExecAssignResultType(commonstate, tupDesc);
|
||||
else
|
||||
ExecAssignResultType(commonstate, (TupleDesc) NULL);
|
||||
ExecAssignResultType(commonstate, tupDesc);
|
||||
}
|
||||
|
||||
/* ----------------
|
||||
@ -582,8 +576,8 @@ ExecSetTypeInfo(int index,
|
||||
}
|
||||
|
||||
/* ----------------
|
||||
* ExecFreeTypeInfo frees the array of attrbutes
|
||||
* created by ExecMakeTypeInfo and returned by ExecTypeFromTL...
|
||||
* ExecFreeTypeInfo frees the array of attributes
|
||||
* created by ExecMakeTypeInfo and returned by ExecTypeFromTL
|
||||
* ----------------
|
||||
*/
|
||||
void
|
||||
|
Reference in New Issue
Block a user