xid.c
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

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