deftr.h
上传用户:dgyhgb
上传日期:2007-01-07
资源大小:676k
文件大小:4k
源码类别:

SQL Server

开发平台:

Unix_Linux

  1. /*
  2.  *  deftr.h  - definitions of Transaction
  3.  *              Kernel of GNU SQL-server  
  4.  *
  5.  * This file is a part of GNU SQL Server
  6.  *
  7.  *  Copyright (c) 1996, 1997, Free Software Foundation, Inc
  8.  *  Developed at the Institute of System Programming
  9.  *  This file is written by  Vera Ponomarenko
  10.  *
  11.  *  This program is free software; you can redistribute it and/or modify
  12.  *  it under the terms of the GNU General Public License as published by
  13.  *  the Free Software Foundation; either version 2 of the License, or
  14.  *  (at your option) any later version.
  15.  *
  16.  *  This program is distributed in the hope that it will be useful,
  17.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19.  *  GNU General Public License for more details.
  20.  *
  21.  *  You should have received a copy of the GNU General Public License
  22.  *  along with this program; if not, write to the Free Software
  23.  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  24.  *
  25.  *  Contacts:   gss@ispras.ru
  26.  *
  27.  */
  28. #ifndef __deftr_h__
  29. #define __deftr_h__
  30. /* $Id: deftr.h,v 1.245 1997/03/31 03:46:38 kml Exp $ */
  31. #ifndef __PR_GLOB_H__
  32. enum {
  33.   NRSNUM  =0,
  34.   RDRNUM  =0L,
  35.   SEGSIZE =512,
  36.   SZSNBF  =BD_PAGESIZE,
  37.   MAXCL   =2, /* max number of narrow locks */
  38.   MIN_TUPLE_LENGTH =5,
  39.   /* record codes in BD page */
  40.   IND     =0, /* record - indirect reference */
  41.   IDTR    =01, /* record - transaction identifier */
  42.   CORT    =02, /* record - ordinary tuple */
  43.   CREM    =03, /* record - removed tuple */
  44.   /* scan types */
  45.   SCR     =1, /* relation scan */
  46.   SCTR    =2, /* temporary relation scan */
  47.   SCI     =3, /* index scan */
  48.   SCF     =4, /* filter scan */
  49.   /* scan modes */
  50.   FASTSCAN   =1,
  51.   SLOWSCAN   =2,
  52.   /* record types in Logical Journal */
  53.   MODLJ       =1, /* modification */
  54.   INSLJ       =3, /* insertion */
  55.   DELLJ       =5, /* deletion */
  56.   RLBLJ       =7, /* rollback */
  57.   CRILJ       =9, /* index creation */
  58.   DLILJ       =11, /* index deletion */
  59.   ADFLJ       =13, /* fields addition */
  60.   RLBLJ_AS_OP =15, /* rollback as an operation*/
  61.   EOTLJ       =0, /* end of transaction */
  62.   CPRLJ       =2, /* record about c.p. */
  63.   GRLBLJ      =4, /* record about global rollback */
  64.   /* record types in Microjournal */
  65.   OLD     =1, /* about old value */
  66.   SHF     =2, /* about shift */
  67.   COMBR   =3, /* about old value and rigth shift */
  68.   COMBL   =4, /* about old value and left shift */
  69.   /* masks */
  70.   MSKIDTR =07777777777L, /* for transaction identifier */
  71.   EOSC    =0200, /* end of tuple scale */
  72.   MSKCORT   =03,
  73.   MSKIND  =037777,
  74.   MSK21B   =0377,
  75.   MSKCRT   =0376,
  76.   MSKCREM  =0377,
  77.   MSKB4B   =017,
  78.   MSKS4B   =0360,
  79.   DELRD    =8, /* for relation descriptor */
  80.   DTSCAN   =8, /* for scan table */
  81.   DEXTD    =10, /* for extent descriptor table */
  82.   TOBPTD   =10, /* for temporary object pointer table */
  83.   DSEGSIZE =64, /* for dynamic segment */
  84.   /* temporary object characteristics */
  85.   TREL    =1, /* temporary relation */
  86.   FLTR    =0, /* filter */
  87.   SORT    =1,
  88.   NSORT   =0,
  89.   /* Index Control Program answer cods */
  90.   EOI      =-1,
  91.   NO_KEY2  =-2,
  92.   UNIQ    =0200,
  93.   PRUN    =1,
  94.   PRCL    =1,
  95.   IROOT   =1, /* ROOT is defined in compiler */
  96.   LEAF    =0,
  97.   BTWN    =2,
  98.   THREAD =64
  99. };
  100. #endif
  101. #define size1b          sizeof(i1_t)
  102. #define size2b          sizeof(i2_t)
  103. #define size4b          sizeof(i4_t)
  104. #define drbdsize        sizeof(struct d_r_bd)
  105. #define drtsize         sizeof(struct d_r_t)
  106. #define dtrsize         sizeof(struct des_trel)
  107. #define phsize          sizeof(struct page_head)
  108. #define phtrsize        sizeof(struct p_h_tr)
  109. #define phfsize         sizeof(struct p_h_f)
  110. #define rfsize          sizeof(struct des_field)
  111. #define tidsize         sizeof(struct des_tid)
  112. #define ldisize         sizeof(struct ldesind)
  113. #define dinsize         sizeof(struct des_index)
  114. #define dexsize         sizeof(struct des_exns)
  115. #define scrsize         sizeof(struct d_sc_r)
  116. #define scisize         sizeof(struct d_sc_i)
  117. #define scfsize         sizeof(struct d_sc_f)
  118. #define chpsize         sizeof(char *)
  119. #define cpnsize         sizeof(CPNM)
  120. #define adjsize         sizeof(struct ADBL)
  121. #define dflsize         sizeof(struct des_fltr)
  122. #define indphsize       sizeof(struct ind_page)
  123. #endif