1
0
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:
Tom Lane
2000-08-24 23:34:11 +00:00
parent d9eb7d8fa1
commit 481487b964
3 changed files with 18 additions and 21 deletions

View File

@ -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;
}
/*