.nf
 
 
    ========== licence begin  GPL
    Copyright (c) 2000-2004 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
*****************************************************
Copyright (c) 2000-2004 SAP AG
SAP Database Technology
 
Release :      Date : 2003-09-12
*****************************************************
modname : GKB07
changed : 2003-09-12
module  : KB7_constants_and_types
 
Author  : G. Gromann
Created : 2003-09-12
*****************************************************
 
Purpose : Constants and types used within the qual/select modules
 
Define  :
 
.CM *-END-* define --------------------------------------
***********************************************************
 
Use     :
 
.CM *-END-* use -----------------------------------------
***********************************************************
 
Synonym :
 
.CM *-END-* synonym -------------------------------------
***********************************************************
 
.CM -lll-
Code    :
 
CONST
      ckb07_maxdistinctfiles  =   16;
      ckb07_maxnewpos         =  MAX_COL_PER_TAB_GG00 + MAX_JOINS_GG04;
 
TYPE
 
      tkb07_distinct_file_info = RECORD
            dfi_root       : tsp00_PageNo;
            dfi_root_check : tsp00_Int4;
      END;
 
      tkb07_distinct_roots = ARRAY [ 1..ckb07_maxdistinctfiles ]
            OF tkb07_distinct_file_info;

      tkb07_setfunc_handling = (
            sfh_none,
            sfh_stddev_variance,
            sfh_all);
 
      tkb07_select_param = RECORD
            CASE boolean OF
                true:
                    (selr_selectbuffer   : tgg00_SelectBuffer;
                    selr_resf_id        : tgg00_FileId;
                    selr_inv_id         : tgg00_FileId;
                    selr_distinct_id    : tgg00_FileId;
                    selr_intersect_id   : tgg00_FileId;
                    selr_tree_pos       : tgg00_FilePos;
                    selr_id_outer_join  : tgg00_FileId;
                    selr_tree           : tgg00_FileId;
                    selr_disrootarr     : tkb07_distinct_roots;
                    selr_startkey       : tgg00_Lkey;
                    selr_stopkey        : tgg00_Lkey;
                    selr_invkey         : tgg00_Lkey;
                    selr_rowno          : tsp00_Int4;
                    selr_key_cnt_offs   : tsp00_Int4;
                    selr_countresult    : tsp00_Int4;
                    selr_act_cntresult  : tsp00_Int4;
                    selr_resrec_maxlen  : tsp00_Int4;
                    selr_maxresult      : tsp00_Int4;
                    selr_group_count    : tsp00_Int4;
                    selr_cnt_outer_join : tsp00_Int4;
                    selr_recl           : tsp00_Int2;
                    selr_dis_file_cnt   : tsp00_Int2;
                    selr_res_keyl       : tsp00_Int2;
                    selr_l_currpos      : tsp00_Int2;
                    selr_l_endpos       : tsp00_Int2;
                    selr_first_jlen     : tsp00_Int2;
                    selr_l_defbyte_pos  : tsp00_Int2;
                    selr_keyl           : tsp00_Int2;
                    selr_filler         : tsp00_Int4;
                    selr_mbtype         : tgg00_MessType;
                    selr_distinct_bytes : boolean;
                    selr_distinct       : tgg04_Distinct;
                    selr_union          : boolean;
                    selr_one_result     : boolean;
                    selr_subquery       : boolean;
                    selr_intern_dist    : boolean;
                    selr_is_nokey       : boolean;
                    selr_count_all      : boolean;
                    selr_count_bd       : boolean;
                    selr_dupl           : tsp00_C1;
                    selr_write_rownum   : boolean;
                    selr_append_all     : boolean;
                    selr_union_select   : boolean;
                    selr_isunion        : boolean;
                    selr_isexcept       : boolean;
                    selr_isintersect    : boolean;
                    selr_isall          : boolean;
                    selr_call_avg       : tkb07_setfunc_handling;
                    selr_call_later_out : boolean;
                    selr_trunc_part2    : boolean;
                    selr_file_to_drop   : boolean;
                    selr_no_warn8_sort  : boolean;
                    selr_oracle_selinto : boolean;
                    selr_join_with_func : boolean;
                    selr_all_recursive  : boolean;
                    selr_last_join      : boolean;
                    selr_finding_poss   : boolean);
                false:
                    (selr_ptrallignment : tsp00_MoveObjPtr);
                END;
            (*ENDCASE*) 
 
 
      tkb07_SelectParamPtr = ^tkb07_select_param;

      tkb07_one_new_pos = RECORD
            onfrom  : tsp00_Int2;
            onto    : tsp00_Int2;
            onlen   : tsp00_Int2;
            on_fill : tsp00_Int2;
      END;
 
 
      tkb07_new_positions = RECORD
            posarr  : ARRAY [ 1..ckb07_maxnewpos ] OF tkb07_one_new_pos;
            lposcnt : tsp00_Int2;
            rposcnt : tsp00_Int2;
      END;
 
 
      tkb07_outer_join_type = (no_outer_join,
            left_outer_join,
            right_outer_join);
 
      tkb07_get_param = RECORD
            gi_n_pos_s       : tkb07_new_positions;
            gi_linkrec       : tgg07_KbJoinRec;
            gi_copy_info     : tgg07_JoinColCopyInfo;
            gi_result_info   : tgg07_JoinResInfo;
      END;
 
      tkb07_ora_number_fmt_elem = (
            onf_no_correct_format,
            onf_nine,
            onf_zero,
            onf_sign_at_this_position,
            onf_sign_at_end,
            onf_sign_brackets,
            onf_currency_dollar,
            onf_currency_iso,
            onf_currency_local,
            onf_blank,
            onf_decimal_implicit,
            onf_decimal_point,
            onf_decimal_dot,
            onf_seperator,
            onf_seperator_comma,
            onf_exponent,
            onf_roman_numeral_lower,
            onf_roman_numeral_upper);
 
      tkb07_conv_type = RECORD
            ct_epos    : tsp00_Int2;
            ct_elenvar : tsp00_Int2;
            ct_codeno  : tsp00_Uint1;
            ct_is_desc : boolean;
      END;
 
      tkb07_conv_arr = ARRAY [ 1..MAX_JOINS_GG04 ] OF tkb07_conv_type;

      tkb07_buffer_description = RECORD
            buffer_addr : tsp00_MoveObjPtr;
            buffer_size : tsp00_Int4;
            buffer_len  : tsp00_Int4;
      END;
 
.CM *-END-* code ----------------------------------------
.SP 2 
***********************************************************
*-PRETTY-*  statements    :          0
*-PRETTY-*  lines of code :        142        PRETTYX 3.10 
*-PRETTY-*  lines in file :        244         1997-12-10 
.PA 
