blob: 1bf3d405069699848f574edeabd53dfdb52f7dd7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
/*-------------------------------------------------------------------------
*
* xid.c
* POSTGRES transaction identifier code.
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: xid.c,v 1.26 1999/07/17 20:16:45 momjian Exp $
*
* OLD COMMENTS
* XXX WARNING
* Much of this file will change when we change our representation
* of transaction ids -cim 3/23/90
*
* It is time to make the switch from 5 byte to 4 byte transaction ids
* This file was totally reworked. -mer 5/22/92
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include "access/xact.h"
extern TransactionId NullTransactionId;
extern TransactionId DisabledTransactionId;
extern TransactionId AmiTransactionId;
extern TransactionId FirstTransactionId;
/* XXX name for catalogs */
TransactionId
xidin(char *representation)
{
return atol(representation);
}
/* XXX name for catalogs */
char *
xidout(TransactionId transactionId)
{
/* maximum 32 bit unsigned integer representation takes 10 chars */
char *representation = palloc(11);
snprintf(representation, 11, "%u", transactionId);
return representation;
}
/* ----------------------------------------------------------------
* xideq
* ----------------------------------------------------------------
*/
/*
* xideq - returns 1, iff xid1 == xid2
* 0 else;
*/
bool
xideq(TransactionId xid1, TransactionId xid2)
{
return (bool) (xid1 == xid2);
}
/* ----------------------------------------------------------------
* TransactionIdAdd
* ----------------------------------------------------------------
*/
void
TransactionIdAdd(TransactionId *xid, int value)
{
*xid += value;
return;
}
|