*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.24 1997/09/08 21:40:18 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.25 1997/09/12 04:07:06 momjian Exp $
*
* NOTES
* The old interface functions have been converted to macros
* heap_getsysattr
* ----------------
*/
-char *
+Datum
heap_getsysattr(HeapTuple tup, Buffer b, int attnum)
{
switch (attnum)
{
case SelfItemPointerAttributeNumber:
- return ((char *) &tup->t_ctid);
+ return ((Datum) &tup->t_ctid);
case ObjectIdAttributeNumber:
- return ((char *) (long) tup->t_oid);
+ return ((Datum) (long) tup->t_oid);
case MinTransactionIdAttributeNumber:
- return ((char *) (long) tup->t_xmin);
+ return ((Datum) (long) tup->t_xmin);
case MinCommandIdAttributeNumber:
- return ((char *) (long) tup->t_cmin);
+ return ((Datum) (long) tup->t_cmin);
case MaxTransactionIdAttributeNumber:
- return ((char *) (long) tup->t_xmax);
+ return ((Datum) (long) tup->t_xmax);
case MaxCommandIdAttributeNumber:
- return ((char *) (long) tup->t_cmax);
+ return ((Datum) (long) tup->t_cmax);
case ChainItemPointerAttributeNumber:
- return ((char *) &tup->t_chain);
+ return ((Datum) &tup->t_chain);
case AnchorItemPointerAttributeNumber:
elog(WARN, "heap_getsysattr: t_anchor does not exist!");
break;
if (!AbsoluteTimeIsBackwardCompatiblyValid(tup->t_tmin) &&
TransactionIdDidCommit(tup->t_xmin))
tup->t_tmin = TransactionIdGetCommitTime(tup->t_xmin);
- return ((char *) (long) tup->t_tmin);
+ return ((Datum) (long) tup->t_tmin);
case MaxAbsoluteTimeAttributeNumber:
if (!AbsoluteTimeIsBackwardCompatiblyReal(tup->t_tmax))
{
else
tup->t_tmax = CURRENT_ABSTIME;
}
- return ((char *) (long) tup->t_tmax);
+ return ((Datum) (long) tup->t_tmax);
case VersionTypeAttributeNumber:
- return ((char *) (long) tup->t_vtype);
+ return ((Datum) (long) tup->t_vtype);
default:
elog(WARN, "heap_getsysattr: undefined attnum %d", attnum);
}
* the same attribute descriptor will go much quicker. -cim 5/4/91
* ----------------
*/
-char *
+Datum
fastgetattr(HeapTuple tup,
int attnum,
TupleDesc tupleDesc,
attnum--;
if (att[attnum]->attcacheoff > 0)
{
- return (char *)
+ return (Datum)
fetchatt(&(att[attnum]),
(char *) tup + tup->t_hoff + att[attnum]->attcacheoff);
}
/*
* first attribute is always at position zero
*/
- return ((char *) fetchatt(&(att[0]), (char *) tup + tup->t_hoff));
+ return ((Datum) fetchatt(&(att[0]), (char *) tup + tup->t_hoff));
}
tp = (char *) tup + tup->t_hoff;
{
if (att[attnum]->attcacheoff > 0)
{
- return (char *)
+ return (Datum)
fetchatt(&(att[attnum]),
tp + att[attnum]->attcacheoff);
}
else if (attnum == 0)
{
- return (char *)
+ return (Datum)
fetchatt(&(att[0]), (char *) tup + tup->t_hoff);
}
else if (!HeapTupleAllFixed(tup))
}
return
- (char *) fetchatt(&(att[attnum]), tp + att[attnum]->attcacheoff);
+ (Datum) fetchatt(&(att[attnum]), tp + att[attnum]->attcacheoff);
}
else
{
off = LONGALIGN(off);
break;
}
- return ((char *) fetchatt(&(att[attnum]), tp + off));
+ return ((Datum) fetchatt(&(att[attnum]), tp + off));
}
}
{
bool isnull;
- values[i] = (Datum) heap_getattr(tuple,
- InvalidBuffer,
- i + 1,
- tdesc,
- &isnull);
+ values[i] = heap_getattr(tuple,
+ InvalidBuffer,
+ i + 1,
+ tdesc,
+ &isnull);
if (isnull)
nulls[i] = 'n';
else
if (repl[attoff] == ' ')
{
- char *attr;
-
- attr =
+ value[attoff] =
heap_getattr(tuple,
InvalidBuffer,
AttrOffsetGetAttrNumber(attoff),
RelationGetTupleDescriptor(relation),
&isNull);
- value[attoff] = PointerGetDatum(attr);
nulls[attoff] = (isNull) ? 'n' : ' ';
}
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/common/Attic/heapvalid.c,v 1.18 1997/09/08 02:19:51 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/common/Attic/heapvalid.c,v 1.19 1997/09/12 04:07:09 momjian Exp $
*
*-------------------------------------------------------------------------
*/
for (; nkeys--; keys++)
{
- atp = (Datum) heap_getattr(t, InvalidBuffer,
- keys->sk_attno,
- tupdesc,
- &isnull);
+ atp = heap_getattr(t, InvalidBuffer,
+ keys->sk_attno,
+ tupdesc,
+ &isnull);
if (isnull)
/* XXX eventually should check if SK_ISNULL */
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.17 1997/09/08 02:19:56 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.18 1997/09/12 04:07:12 momjian Exp $
*
*-------------------------------------------------------------------------
*/
int i,
j,
k;
- char *outputstr,
- *attr;
+ char *outputstr;
+ Datum attr;
bool isnull;
Oid typoutput;
debugtup(HeapTuple tuple, TupleDesc typeinfo)
{
register int i;
- char *attr,
- *value;
+ Datum attr;
+ char *value;
bool isnull;
Oid typoutput;
int i,
j,
k;
- char *attr;
+ Datum attr;
bool isnull;
/* ----------------
else
{
pq_putint(len, sizeof(int32));
- pq_putnchar(attr, len);
+ pq_putnchar(DatumGetPointer(attr), len);
#ifdef IPORTAL_DEBUG
- fprintf(stderr, "byref length %d data %x\n", len, attr);
+ fprintf(stderr, "byref length %d data %x\n", len,
+ DatumGetPointer(attr));
#endif
}
}
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.16 1997/09/08 21:41:06 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.17 1997/09/12 04:07:15 momjian Exp $
*
* INTERFACE ROUTINES
* index_open - open an index relation by relationId
for (i = 0; i < FIgetnArgs(fInfo); i++)
{
- attData[i] = (Datum) heap_getattr(tuple,
- buffer,
- attrNums[i],
- hTupDesc,
- attNull);
+ attData[i] = heap_getattr(tuple,
+ buffer,
+ attrNums[i],
+ hTupDesc,
+ attNull);
}
returnVal = (Datum) fmgr_array_args(FIgetProcOid(fInfo),
FIgetnArgs(fInfo),
}
else
{
- returnVal = (Datum) heap_getattr(tuple, buffer, attrNums[attOff],
- hTupDesc, attNull);
+ returnVal = heap_getattr(tuple, buffer, attrNums[attOff],
+ hTupDesc, attNull);
}
return returnVal;
}
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.19 1997/09/08 02:21:54 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.20 1997/09/12 04:07:20 momjian Exp $
*
*-------------------------------------------------------------------------
*/
while (HeapTupleIsValid(lTuple = heap_getnext(sRel, 0, &b)))
{
- d = (Datum) heap_getattr(lTuple, b, Anum_pg_listener_notify,
- tdesc, &isnull);
+ d = heap_getattr(lTuple, b, Anum_pg_listener_notify,
+ tdesc, &isnull);
if (!DatumGetInt32(d))
{
rTuple = heap_modifytuple(lTuple, b, lRel, value, nulls, repl);
while (HeapTupleIsValid(lTuple = heap_getnext(sRel, 0, &b)))
{
- d = (Datum) heap_getattr(lTuple, b, Anum_pg_listener_relname,
- tdesc, &isnull);
+ d = heap_getattr(lTuple, b, Anum_pg_listener_relname,
+ tdesc, &isnull);
if (AsyncExistsPendingNotify((char *) DatumGetPointer(d)))
{
- d = (Datum) heap_getattr(lTuple, b, Anum_pg_listener_pid,
- tdesc, &isnull);
+ d = heap_getattr(lTuple, b, Anum_pg_listener_pid,
+ tdesc, &isnull);
if (ourpid == DatumGetInt32(d))
{
s = heap_beginscan(lDesc, 0, NowTimeQual, 0, (ScanKey) NULL);
while (HeapTupleIsValid(htup = heap_getnext(s, 0, &b)))
{
- d = (Datum) heap_getattr(htup, b, Anum_pg_listener_relname, tdesc,
- &isnull);
+ d = heap_getattr(htup, b, Anum_pg_listener_relname, tdesc,
+ &isnull);
relnamei = DatumGetPointer(d);
if (!strncmp(relnamei, relname, NAMEDATALEN))
{
- d = (Datum) heap_getattr(htup, b, Anum_pg_listener_pid, tdesc, &isnull);
+ d = heap_getattr(htup, b, Anum_pg_listener_pid, tdesc, &isnull);
pid = DatumGetInt32(d);
if (pid == ourPid)
{
while (HeapTupleIsValid(lTuple = heap_getnext(sRel, 0, &b)))
{
- d = (Datum) heap_getattr(lTuple, b, Anum_pg_listener_relname,
- tdesc, &isnull);
+ d = heap_getattr(lTuple, b, Anum_pg_listener_relname,
+ tdesc, &isnull);
rTuple = heap_modifytuple(lTuple, b, lRel, value, nulls, repl);
heap_replace(lRel, &lTuple->t_ctid, rTuple);
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.33 1997/09/08 21:42:30 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.34 1997/09/12 04:07:25 momjian Exp $
*
*-------------------------------------------------------------------------
*/
for (i = 0; i < attr_count; i++)
{
- value = (Datum)
- heap_getattr(tuple, InvalidBuffer, i + 1, tupDesc, &isnull);
+ value = heap_getattr(tuple, InvalidBuffer, i + 1, tupDesc, &isnull);
if (!binary)
{
if (!isnull)
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.46 1997/09/08 21:42:48 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.47 1997/09/12 04:07:30 momjian Exp $
*
*-------------------------------------------------------------------------
*/
* Berkeley.
*/
- d = (Datum) heap_getattr(pgctup, buf, Anum_pg_class_relname,
- pgcdesc, &n);
+ d = heap_getattr(pgctup, buf, Anum_pg_class_relname, pgcdesc, &n);
rname = (char *) d;
/* skip archive relations */
continue;
}
- d = (Datum) heap_getattr(pgctup, buf, Anum_pg_class_relsmgr,
- pgcdesc, &n);
+ d = heap_getattr(pgctup, buf, Anum_pg_class_relsmgr, pgcdesc, &n);
smgrno = DatumGetInt16(d);
/* skip write-once storage managers */
continue;
}
- d = (Datum) heap_getattr(pgctup, buf, Anum_pg_class_relkind,
- pgcdesc, &n);
+ d = heap_getattr(pgctup, buf, Anum_pg_class_relkind, pgcdesc, &n);
rkind = DatumGetChar(d);
VacAttrStats *stats = &vacattrstats[i];
bool value_hit = true;
- value = (Datum) heap_getattr(htup, InvalidBuffer,
- stats->attr->attnum, tupDesc, &isnull);
+ value = heap_getattr(htup, InvalidBuffer,
+ stats->attr->attnum, tupDesc, &isnull);
if (!VacAttrStatsEqValid(stats))
continue;
while (HeapTupleIsValid(pgitup = heap_getnext(pgiscan, 0, NULL)))
{
- d = (Datum) heap_getattr(pgitup, InvalidBuffer, Anum_pg_index_indexrelid,
- pgidesc, &n);
+ d = heap_getattr(pgitup, InvalidBuffer, Anum_pg_index_indexrelid,
+ pgidesc, &n);
i++;
if (i % 10 == 0)
ioid = (Oid *) repalloc(ioid, (i + 10) * sizeof(Oid));
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execJunk.c,v 1.8 1997/09/08 21:42:56 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execJunk.c,v 1.9 1997/09/12 04:07:33 momjian Exp $
*
*-------------------------------------------------------------------------
*/
tuple = slot->val;
tupType = (TupleDesc) junkfilter->jf_tupType;
- *value = (Datum)
- heap_getattr(tuple, InvalidBuffer, resno, tupType, isNull);
+ *value = heap_getattr(tuple, InvalidBuffer, resno, tupType, isNull);
return true;
}
*/
for (i = 0; i < cleanLength; i++)
{
- Datum d = (Datum)
- heap_getattr(tuple, InvalidBuffer, cleanMap[i], tupType, &isNull);
-
- values[i] = d;
+ values[i] =
+ heap_getattr(tuple, InvalidBuffer, cleanMap[i], tupType, &isNull);
if (isNull)
nulls[i] = 'n';
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.16 1997/09/08 21:43:00 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.17 1997/09/12 04:07:36 momjian Exp $
*
*-------------------------------------------------------------------------
*/
return (Datum) tempSlot;
}
- result = (Datum)
- heap_getattr(heapTuple, /* tuple containing attribute */
- buffer, /* buffer associated with tuple */
- attnum, /* attribute number of desired attribute */
- tuple_type,/* tuple descriptor of tuple */
- isNull); /* return: is attribute null? */
+ result = heap_getattr(heapTuple, /* tuple containing attribute */
+ buffer, /* buffer associated with tuple */
+ attnum, /* attribute number of desired attribute */
+ tuple_type,/* tuple descriptor of tuple */
+ isNull); /* return: is attribute null? */
/* ----------------
* return null if att is null
return (char *) NULL;
}
- retval = (Datum)
- heap_getattr(slot->val,
- slot->ttc_buffer,
- attrno,
- slot->ttc_tupleDescriptor,
- isNull);
+ retval = heap_getattr(slot->val,
+ slot->ttc_buffer,
+ attrno,
+ slot->ttc_tupleDescriptor,
+ isNull);
if (*isNull)
return (char *) NULL;
return (char *) retval;
if (attrno == InvalidAttrNumber)
elog(WARN, "GetAttributeByName: attribute %s not found", attname);
- retval = (Datum)
- heap_getattr(slot->val,
- slot->ttc_buffer,
- attrno,
- tupdesc,
- isNull);
+ retval = heap_getattr(slot->val,
+ slot->ttc_buffer,
+ attrno,
+ tupdesc,
+ isNull);
if (*isNull)
return (char *) NULL;
return (char *) retval;
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/functions.c,v 1.10 1997/09/08 21:43:08 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/functions.c,v 1.11 1997/09/12 04:07:41 momjian Exp $
*
*-------------------------------------------------------------------------
*/
AttrNumber attrno = attrVar->varattno;
- val = PointerGetDatum(heap_getattr(tup,
- InvalidBuffer,
- attrno,
- TD,
- isnullP));
+ val = heap_getattr(tup, InvalidBuffer, attrno, TD, isnullP);
if (*isnullP)
return (Datum) NULL;
return (Datum) tempSlot;
}
- result = (Datum)
+ result =
heap_getattr(heapTuple, /* tuple containing attribute */
buffer, /* buffer associated with tuple */
attnum, /* attribute number of desired attribute */
* columns. (ie. tuples from the same group are consecutive)
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.9 1997/09/08 21:43:10 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.10 1997/09/12 04:07:43 momjian Exp $
*
*-------------------------------------------------------------------------
*/
{
bool isNull1,
isNull2;
- char *attr1,
- *attr2;
+ Datum attr1,
+ attr2;
char *val1,
*val2;
int i;
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeUnique.c,v 1.10 1997/09/08 21:43:21 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeUnique.c,v 1.11 1997/09/12 04:07:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
*/
bool isNull1,
isNull2;
- char *attr1,
- *attr2;
+ Datum attr1,
+ attr2;
char *val1,
*val2;
char *
SPI_getvalue(HeapTuple tuple, TupleDesc tupdesc, int fnumber)
{
- char *val;
+ Datum val;
bool isnull;
Oid foutoid;
return (fmgr(foutoid, val, gettypelem(tupdesc->attrs[fnumber - 1]->atttypid)));
}
-char *
+Datum
SPI_getbinval(HeapTuple tuple, TupleDesc tupdesc, int fnumber, bool * isnull)
{
- char *val;
+ Datum val;
*isnull = true;
SPI_result = 0;
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-dumpdata.c,v 1.8 1997/09/08 21:43:39 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-dumpdata.c,v 1.9 1997/09/12 04:07:50 momjian Exp $
*
*-------------------------------------------------------------------------
*/
be_printtup(HeapTuple tuple, TupleDesc typeinfo)
{
int i;
- char *attr;
+ Datum attr;
bool isnull;
Oid typoutput;
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/Attic/catalog_utils.c,v 1.25 1997/09/08 21:46:04 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/Attic/catalog_utils.c,v 1.26 1997/09/12 04:07:56 momjian Exp $
*
*-------------------------------------------------------------------------
*/
{
qentry = (SuperQE *) palloc(sizeof(SuperQE));
- d = (Datum) fastgetattr(inhtup, Anum_pg_inherits_inhparent,
- inhtupdesc, &isNull);
+ d = fastgetattr(inhtup, Anum_pg_inherits_inhparent,
+ inhtupdesc, &isNull);
qentry->sqe_relid = DatumGetObjectId(d);
/* put this one on the queue */
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parser.c,v 1.25 1997/09/08 21:46:12 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parser.c,v 1.26 1997/09/12 04:08:01 momjian Exp $
*
*-------------------------------------------------------------------------
*/
case T_Integer:
const_string = (char *) palloc(256);
string_palloced = true;
- sprintf(const_string, "%d", expr->val.ival);
+ sprintf(const_string, "%ld", expr->val.ival);
break;
default:
elog(WARN,
case CASHOID: /* money */
const_string = (char *) palloc(256);
string_palloced = true;
- sprintf(const_string, "%d",
+ sprintf(const_string, "%ld",
(long) ((Const *) expr)->constvalue);
break;
case TEXTOID: /* text */
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteRemove.c,v 1.4 1997/09/08 02:28:20 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteRemove.c,v 1.5 1997/09/12 04:08:06 momjian Exp $
*
*-------------------------------------------------------------------------
*/
*/
ruleId = tuple->t_oid;
eventRelationOidDatum =
- PointerGetDatum(heap_getattr(tuple,
- buffer,
- Anum_pg_rewrite_ev_class,
- RelationGetTupleDescriptor(RewriteRelation),
- &isNull));
+ heap_getattr(tuple,
+ buffer,
+ Anum_pg_rewrite_ev_class,
+ RelationGetTupleDescriptor(RewriteRelation),
+ &isNull);
if (isNull)
{
/* XXX strange!!! */
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteSupport.c,v 1.9 1997/09/08 21:46:44 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteSupport.c,v 1.10 1997/09/12 04:08:10 momjian Exp $
*
*-------------------------------------------------------------------------
*/
if (ruletuple == NULL)
elog(WARN, "rule %u isn't in rewrite system relation", ruleoid);
- ruleaction = heap_getattr(ruletuple,
- InvalidBuffer,
- Anum_pg_rewrite_action,
- ruleTupdesc,
- &action_is_null);
- rule_evqual_string = heap_getattr(ruletuple, InvalidBuffer,
- Anum_pg_rewrite_ev_qual,
- ruleTupdesc, &action_is_null);
+ ruleaction = (char *)heap_getattr(ruletuple,
+ InvalidBuffer,
+ Anum_pg_rewrite_action,
+ ruleTupdesc,
+ &action_is_null);
+ rule_evqual_string = (char *)heap_getattr(ruletuple, InvalidBuffer,
+ Anum_pg_rewrite_ev_qual,
+ ruleTupdesc, &action_is_null);
*instead_flag = !!heap_getattr(ruletuple, InvalidBuffer,
Anum_pg_rewrite_is_instead,
ruleTupdesc, &instead_is_null);
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/storage/large_object/inv_api.c,v 1.17 1997/09/08 21:47:17 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/storage/large_object/inv_api.c,v 1.18 1997/09/12 04:08:15 momjian Exp $
*
*-------------------------------------------------------------------------
*/
}
/* copy the data from this block into the buffer */
- d = (Datum) heap_getattr(htup, b, 2, obj_desc->hdesc, &isNull);
+ d = heap_getattr(htup, b, 2, obj_desc->hdesc, &isNull);
fsblock = (struct varlena *) DatumGetPointer(d);
off = obj_desc->offset - obj_desc->lowbyte;
* return the tuple.
*/
- d = (Datum) heap_getattr(htup, *bufP, 1, obj_desc->hdesc, &isNull);
+ d = heap_getattr(htup, *bufP, 1, obj_desc->hdesc, &isNull);
lastbyte = (int32) DatumGetInt32(d);
- d = (Datum) heap_getattr(htup, *bufP, 2, obj_desc->hdesc, &isNull);
+ d = heap_getattr(htup, *bufP, 2, obj_desc->hdesc, &isNull);
fsblock = (struct varlena *) DatumGetPointer(d);
/*
newpage = BufferGetPage(newbuf);
hr = obj_desc->heap_r;
freespc = IFREESPC(page);
- d = (Datum) heap_getattr(htup, buffer, 2, obj_desc->hdesc, &isNull);
+ d = heap_getattr(htup, buffer, 2, obj_desc->hdesc, &isNull);
fsblock = (struct varlena *) DatumGetPointer(d);
tupbytes = fsblock->vl_len - sizeof(fsblock->vl_len);
index_endscan(iscan);
/* get olastbyte attribute */
- d = (Datum) heap_getattr(htup, buf, 1, hdesc, &isNull);
+ d = heap_getattr(htup, buf, 1, hdesc, &isNull);
size = DatumGetInt32(d) + 1;
/* wei hates it if you forget to do this */
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/not_in.c,v 1.5 1997/09/08 02:30:52 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/not_in.c,v 1.6 1997/09/12 04:08:21 momjian Exp $
*
*-------------------------------------------------------------------------
*/
current_tuple != NULL && retval;
current_tuple = heap_getnext(scan_descriptor, 0, NULL))
{
- value = PointerGetDatum(heap_getattr(current_tuple,
- InvalidBuffer,
- (AttrNumber) attrid,
- RelationGetTupleDescriptor(relation_to_scan),
- &dummy));
+ value = heap_getattr(current_tuple,
+ InvalidBuffer,
+ (AttrNumber) attrid,
+ RelationGetTupleDescriptor(relation_to_scan),
+ &dummy);
integer_value = DatumGetInt16(value);
if (left_side_argument == integer_value)
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.13 1997/09/08 21:48:45 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.14 1997/09/12 04:08:28 momjian Exp $
*
* Notes:
* XXX This needs to use exception.h to handle recovery when
cacheInOutP->cc_skey[3].sk_argument =
(cacheInOutP->cc_key[3] == ObjectIdAttributeNumber)
? (Datum) tuple->t_oid
- : (Datum) fastgetattr(tuple,
- cacheInOutP->cc_key[3],
- RelationGetTupleDescriptor(relation),
- &isNull);
+ : fastgetattr(tuple,
+ cacheInOutP->cc_key[3],
+ RelationGetTupleDescriptor(relation),
+ &isNull);
Assert(!isNull);
/* FALLTHROUGH */
case 3:
cacheInOutP->cc_skey[2].sk_argument =
(cacheInOutP->cc_key[2] == ObjectIdAttributeNumber)
? (Datum) tuple->t_oid
- : (Datum) fastgetattr(tuple,
- cacheInOutP->cc_key[2],
- RelationGetTupleDescriptor(relation),
- &isNull);
+ : fastgetattr(tuple,
+ cacheInOutP->cc_key[2],
+ RelationGetTupleDescriptor(relation),
+ &isNull);
Assert(!isNull);
/* FALLTHROUGH */
case 2:
cacheInOutP->cc_skey[1].sk_argument =
(cacheInOutP->cc_key[1] == ObjectIdAttributeNumber)
? (Datum) tuple->t_oid
- : (Datum) fastgetattr(tuple,
- cacheInOutP->cc_key[1],
- RelationGetTupleDescriptor(relation),
- &isNull);
+ : fastgetattr(tuple,
+ cacheInOutP->cc_key[1],
+ RelationGetTupleDescriptor(relation),
+ &isNull);
Assert(!isNull);
/* FALLTHROUGH */
case 1:
cacheInOutP->cc_skey[0].sk_argument =
(cacheInOutP->cc_key[0] == ObjectIdAttributeNumber)
? (Datum) tuple->t_oid
- : (Datum) fastgetattr(tuple,
- cacheInOutP->cc_key[0],
- RelationGetTupleDescriptor(relation),
- &isNull);
+ : fastgetattr(tuple,
+ cacheInOutP->cc_key[0],
+ RelationGetTupleDescriptor(relation),
+ &isNull);
Assert(!isNull);
break;
default:
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.7 1997/09/08 21:48:56 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.8 1997/09/12 04:08:35 momjian Exp $
*
* NOTES
* These routines allow the parser/planner/executor to perform
int32 attributeLength,
attributeByValue;
bool isNull;
- char *attributeValue;
+ Datum attributeValue;
void *returnValue;
tp = SearchSysCacheTuple(cacheId, key1, key2, key3, key4);
: attributeLength; /* fixed length */
tmp = (char *) palloc(size);
- memmove(tmp, attributeValue, size);
+ memmove(tmp, (void *)attributeValue, size);
returnValue = (void *) tmp;
}
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.11 1997/09/08 02:31:34 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.12 1997/09/12 04:08:39 momjian Exp $
*
*-------------------------------------------------------------------------
*/
{
HeapTuple procedureTuple;
Form_pg_proc procedureStruct;
- char *proname;
- char *probinattr,
+ char *proname,
*probinstring;
+ Datum probinattr;
func_ptr user_fn;
Relation rdesc;
bool isnull;
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/lselect.c,v 1.7 1997/09/08 02:32:25 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/lselect.c,v 1.8 1997/09/12 04:08:46 momjian Exp $
*
*-------------------------------------------------------------------------
*/
int
tuplecmp(HeapTuple ltup, HeapTuple rtup, LeftistContext context)
{
- register char *lattr,
- *rattr;
+ register Datum lattr,
+ rattr;
int nkey = 0;
int result = 0;
bool isnull;
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.7 1997/09/08 21:49:37 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.8 1997/09/12 04:08:57 momjian Exp $
*
*-------------------------------------------------------------------------
*/
static bool TimeQualIncludesNow(TimeQual qual);
static bool TimeQualIndicatesDisableValidityChecking(TimeQual qual);
static bool TimeQualIsLegal(TimeQual qual);
+#ifndef NO_ASSERT_CHECKING
static bool TimeQualIsRanged(TimeQual qual);
-static bool TimeQualIsSnapshot(TimeQual qual);
static bool TimeQualIsValid(TimeQual qual);
+#endif
+static bool TimeQualIsSnapshot(TimeQual qual);
/*
* TimeQualMode --
* TimeQualIsValid --
* True iff time qualification is valid.
*/
+#ifndef NO_ASSERT_CHECKING
static bool
TimeQualIsValid(TimeQual qual)
{
}
return (true);
}
+#endif
/*
* TimeQualIsLegal --
* Note:
* Assumes time qualification is valid.
*/
+#ifndef NO_ASSERT_CHECKING
static bool
TimeQualIsRanged(TimeQual qual)
{
return ((bool) !(((InternalTimeQual) qual)->mode & TimeQualAt));
}
+#endif
/*
* TimeQualIndicatesDisableValidityChecking --
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: heapam.h,v 1.15 1997/09/08 21:50:45 momjian Exp $
+ * $Id: heapam.h,v 1.16 1997/09/12 04:09:03 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#define heap_getattr(tup, b, attnum, tupleDesc, isnull) \
(AssertMacro((tup) != NULL) ? \
((attnum) > (int) (tup)->t_natts) ? \
- (((isnull) ? (*(isnull) = true) : (char)NULL), (char *)NULL) : \
+ (((isnull) ? (*(isnull) = true) : (char)NULL), (Datum)NULL) : \
((attnum) > 0) ? \
fastgetattr((tup), (attnum), (tupleDesc), (isnull)) : \
(((isnull) ? (*(isnull) = false) : (char)NULL), heap_getsysattr((tup), (b), (attnum))) : \
- (char *)NULL)
+ (Datum)NULL)
extern HeapAccessStatistics heap_access_stats; /* in stats.c */
extern int heap_attisnull(HeapTuple tup, int attnum);
extern int heap_sysattrlen(AttrNumber attno);
extern bool heap_sysattrbyval(AttrNumber attno);
-extern char *heap_getsysattr(HeapTuple tup, Buffer b, int attnum);
-extern char *
-fastgetattr(HeapTuple tup, int attnum,
- TupleDesc att, bool *isnull);
+extern Datum heap_getsysattr(HeapTuple tup, Buffer b, int attnum);
+extern Datum fastgetattr(HeapTuple tup, int attnum,
+ TupleDesc att, bool *isnull);
extern HeapTuple heap_copytuple(HeapTuple tuple);
extern HeapTuple
heap_formtuple(TupleDesc tupleDescriptor,
extern int SPI_fnumber(TupleDesc tupdesc, char *fname);
extern char *SPI_fname(TupleDesc tupdesc, int fnumber);
extern char *SPI_getvalue(HeapTuple tuple, TupleDesc tupdesc, int fnumber);
-extern char *SPI_getbinval(HeapTuple tuple, TupleDesc tupdesc, int fnumber, bool * isnull);
+extern Datum SPI_getbinval(HeapTuple tuple, TupleDesc tupdesc, int fnumber, bool * isnull);
extern char *SPI_gettype(TupleDesc tupdesc, int fnumber);
extern Oid SPI_gettypeid(TupleDesc tupdesc, int fnumber);
extern char *SPI_getrelname(Relation rel);