1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-10 17:42:29 +03:00

Latest round of fmgr updates. All functions with bool,char, or int2

inputs have been converted to newstyle.  This should go a long way towards
fixing our portability problems with platforms where char and short
parameters are passed differently from int-width parameters.  Still
more to do for the Alpha port however.
This commit is contained in:
Tom Lane
2000-06-05 07:29:25 +00:00
parent c61db5ba2d
commit 48165ec226
47 changed files with 2201 additions and 2034 deletions

View File

@@ -1,12 +1,12 @@
/*-------------------------------------------------------------------------
*
* xid.c
* POSTGRES transaction identifier code.
* POSTGRES transaction identifier type.
*
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: xid.c,v 1.27 2000/01/26 05:56:04 momjian Exp $
* $Id: xid.c,v 1.28 2000/06/05 07:28:38 tgl Exp $
*
* OLD COMMENTS
* XXX WARNING
@@ -19,33 +19,42 @@
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include "access/xact.h"
/*
* TransactionId is typedef'd as uint32, so...
*/
#define PG_GETARG_TRANSACTIONID(n) PG_GETARG_UINT32(n)
#define PG_RETURN_TRANSACTIONID(x) PG_RETURN_UINT32(x)
extern TransactionId NullTransactionId;
extern TransactionId DisabledTransactionId;
extern TransactionId AmiTransactionId;
extern TransactionId FirstTransactionId;
/* XXX name for catalogs */
TransactionId
xidin(char *representation)
Datum
xidin(PG_FUNCTION_ARGS)
{
return atol(representation);
char *representation = PG_GETARG_CSTRING(0);
PG_RETURN_TRANSACTIONID((TransactionId) atol(representation));
}
/* XXX name for catalogs */
char *
xidout(TransactionId transactionId)
Datum
xidout(PG_FUNCTION_ARGS)
{
TransactionId transactionId = PG_GETARG_TRANSACTIONID(0);
/* maximum 32 bit unsigned integer representation takes 10 chars */
char *representation = palloc(11);
snprintf(representation, 11, "%u", transactionId);
return representation;
snprintf(representation, 11, "%lu", (unsigned long) transactionId);
PG_RETURN_CSTRING(representation);
}
/* ----------------------------------------------------------------
@@ -57,14 +66,15 @@ xidout(TransactionId transactionId)
* xideq - returns 1, iff xid1 == xid2
* 0 else;
*/
bool
xideq(TransactionId xid1, TransactionId xid2)
Datum
xideq(PG_FUNCTION_ARGS)
{
return (bool) (xid1 == xid2);
TransactionId xid1 = PG_GETARG_TRANSACTIONID(0);
TransactionId xid2 = PG_GETARG_TRANSACTIONID(1);
PG_RETURN_BOOL(xid1 == xid2);
}
/* ----------------------------------------------------------------
* TransactionIdAdd
* ----------------------------------------------------------------
@@ -73,5 +83,4 @@ void
TransactionIdAdd(TransactionId *xid, int value)
{
*xid += value;
return;
}