mirror of
https://github.com/postgres/postgres.git
synced 2025-07-03 20:02:46 +03:00
GetAttributeByName and GetAttributeByNum should be declared to return
Datum, not char*, for portability's sake.
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.79 2000/08/24 03:29:03 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.80 2000/08/24 23:34:09 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -502,13 +502,8 @@ ExecEvalParam(Param *expression, ExprContext *econtext, bool *isNull)
|
||||
* named attribute out of the tuple from the arg slot. User defined
|
||||
* C functions which take a tuple as an argument are expected
|
||||
* to use this. Ex: overpaid(EMP) might call GetAttributeByNum().
|
||||
*
|
||||
* XXX these two functions are misdeclared: they should be declared to
|
||||
* return Datum. They are not used anywhere in the backend proper, and
|
||||
* exist only for use by user-defined functions. Should we change their
|
||||
* definitions, at risk of breaking user code?
|
||||
*/
|
||||
char *
|
||||
Datum
|
||||
GetAttributeByNum(TupleTableSlot *slot,
|
||||
AttrNumber attrno,
|
||||
bool *isNull)
|
||||
@ -527,7 +522,7 @@ GetAttributeByNum(TupleTableSlot *slot,
|
||||
if (TupIsNull(slot))
|
||||
{
|
||||
*isNull = true;
|
||||
return (char *) NULL;
|
||||
return (Datum) 0;
|
||||
}
|
||||
|
||||
retval = heap_getattr(slot->val,
|
||||
@ -535,11 +530,12 @@ GetAttributeByNum(TupleTableSlot *slot,
|
||||
slot->ttc_tupleDescriptor,
|
||||
isNull);
|
||||
if (*isNull)
|
||||
return (char *) NULL;
|
||||
return (char *) retval;
|
||||
return (Datum) 0;
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
char *
|
||||
Datum
|
||||
GetAttributeByName(TupleTableSlot *slot, char *attname, bool *isNull)
|
||||
{
|
||||
AttrNumber attrno;
|
||||
@ -557,7 +553,7 @@ GetAttributeByName(TupleTableSlot *slot, char *attname, bool *isNull)
|
||||
if (TupIsNull(slot))
|
||||
{
|
||||
*isNull = true;
|
||||
return (char *) NULL;
|
||||
return (Datum) 0;
|
||||
}
|
||||
|
||||
tupdesc = slot->ttc_tupleDescriptor;
|
||||
@ -581,8 +577,9 @@ GetAttributeByName(TupleTableSlot *slot, char *attname, bool *isNull)
|
||||
tupdesc,
|
||||
isNull);
|
||||
if (*isNull)
|
||||
return (char *) NULL;
|
||||
return (char *) retval;
|
||||
return (Datum) 0;
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user