/* @lastChanged: "2000-03-28  13:23"
 
 * @filename:   gbd07
 * @purpose:    "BD_kernel_constants_and_types"
 * @release:    7.1.0.0
 * @see:        "-.-"
 *
 * @copyright:  "Copyright by SAP AG, 1998"
 */
 
.tt 1 $SAP$LiveCache$GBD07$
.tt 3 $$BD_constants_and_types$2000-04-06$
***********************************************************
.nf


    ========== licence begin  GPL
    Copyright (C) 2000 SAP AG

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
    ========== licence end

.fo
 
Module  : BD_kernel_constants_and_types
 
Define  :
 
.CM *-END-* define --------------------------------------
 
Use     :
 
.CM *-END-* use -----------------------------------------
 
Synonym :
 
.CM *-END-* synonym -------------------------------------
 
Version : 2000-04-06
 
Release :      Date : 2000-04-06
 
***********************************************************
 
Specification:
 
.CM *-END-* specification -------------------------------
 
***********************************************************
 
Description:
 
.CM *-END-* description ---------------------------------
 
***********************************************************
 
Structure:
 
.CM *-END-* structure -----------------------------------
 
**********************************************************
 
.CM -lll-
Code    :
 
 
CONST
      DUMMY_INDEX_BD07     =  NIL_PAGE_NO_GG00;
      MAX_LOCKENTRIES_BD07 =   65535; (* max lock/request-entries *)
      MAX_HASHLIST_BD07    = 2000000; (* max size of hashtable *)
      MAX_PARTITION_BD07   =      64; (* max tree regions *)
      MAX_PARTITION_1_BD07 = MAX_PARTITION_BD07 - 1;
      PRIO_NORMAL_BD07     =       0; (* reset task priority *)
      PRIO_HIGH_BD07       =       2; (* highest priority for a task *)
      (* *)
      cbd7_dummy_index     = DUMMY_INDEX_BD07;
      cbd7_maxlockentries  = MAX_LOCKENTRIES_BD07;
      cbd7_maxhashlist     = MAX_HASHLIST_BD07;
      cbd7_max_partition   = MAX_PARTITION_BD07;
      cbd7_max_partition_1 = MAX_PARTITION_1_BD07;
      cbd7_prio_normal     = PRIO_NORMAL_BD07;
      cbd7_prio_high       = PRIO_HIGH_BD07;
 
TYPE
      tbd7_entry_ptr = ^tbd7_locklistentry;
      (* *)
      tbd7_lockmode  = (
            bd7lm_nil,
            bd7lm_locked,
            bd7lm_requested);
 
      tbd7_locklistentry = RECORD (* old *)
            lle_root             : tsp00_PageNo;
            lle_leaf             : tsp00_PageNo;
            lle_index            : tsp00_PageNo;
            lle_pid              : tsp00_TaskId;
            lle_filler1          : tsp00_Int2;
            lle_excl_lock_exist  : boolean; (* PTS 1106058 TS 2000-03-28 *)
            lle_ignore_svp       : boolean;
            lle_state            : tbd_treelock;
            lle_mode             : tbd7_lockmode;
            lle_prio_on          : boolean;
            lle_resume_after_svp : boolean;
            lle_next_diff_root   : tbd7_entry_ptr;
            lle_next_eq_root     : tbd7_entry_ptr;
            lle_prev_eq_root     : tbd7_entry_ptr;
            lle_next_lock        : tbd7_entry_ptr;
            lle_next_request     : tbd7_entry_ptr;
            lle_first_request    : tbd7_entry_ptr
      END;
 
      tbd7_entry_list = ARRAY [1..cbd7_maxlockentries] OF
            tbd7_locklistentry;
      (* *)
      tbd7_entry_list_ptr = ^tbd7_entry_list;
      (* *)
      tbd7_anchor_list = ARRAY [1..cbd7_maxhashlist] OF
            tbd7_entry_ptr;
      (* *)
      tbd7_anchor_ptr = ^tbd7_anchor_list;
      (* *)
 
      tbd7_univ_ptr = RECORD (* old *)
            CASE integer OF
                1 :
                    ( entrylistaddr : tbd7_entry_list_ptr );
                2 :
                    ( anchorlistaddr : tbd7_anchor_ptr );
                3 :
                    ( any_addr : tsp00_ObjAddr );
                END;
            (*ENDCASE*) 
 
 
      tbd7_root_desc = RECORD (* old *)
            rd_ptr           : tbd7_entry_ptr;
            rd_prev_ptr      : tbd7_entry_ptr;
            rd_collision_ptr : tbd7_entry_ptr;
            rd_root          : tsp00_PageNo;
            rd_hash          : tsp00_Int4;
            rd_partition     : tsp00_Int2;
            rd_fill1         : boolean;
            rd_exist         : boolean;
&           ifdef BIT64
            rd_fill3         : tsp00_Int4;
&           endif
      END;
 
 
      tbd7_treelocklist = RECORD (* old *)
            tll_anchor           : tbd7_anchor_ptr;
            tll_entry            : tbd7_entry_list_ptr;
            tll_free_entry       : tbd7_entry_ptr;
            tll_pid_request      : tsp00_TaskId;
            tll_hashsize         : tsp00_Int4;
            tll_locklistsize     : tsp00_Int2;
            tll_generated        : boolean;
            tll_prevent_split    : boolean;
            tll_split_counter    : tsp00_Int2;
            tll_resume_counter   : tsp00_Int2;
            tll_svp_ignore_cnt   : tsp00_Int2;
            tll_fill1            : tsp00_Int2;
&           ifdef BIT64
            tll_fill2            : tsp00_Int4;
&           endif
      END;
 
      tbd7_locklist_array = ARRAY [0..cbd7_max_partition_1]
            OF tbd7_treelocklist;
      (* *)
 
.CM *-END-* code ----------------------------------------
.SP 2 
***********************************************************
*-PRETTY-*  statements    :          0
*-PRETTY-*  lines of code :         96        PRETTYX 3.10 
*-PRETTY-*  lines in file :        168         1997-12-10 
.PA 
