-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathxplan_scf_vars.sql
38 lines (32 loc) · 1.75 KB
/
xplan_scf_vars.sql
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
--------------------------------------------------------------------------------
-- Author: Alberto Dell'Era
-- Copyright: (c) 2008-2021 Alberto Dell'Era http://www.adellera.it
--------------------------------------------------------------------------------
type scf_array_of_varchar2_t is table of varchar2(1000 char) index by binary_integer;
type scf_array_of_number_t is table of number index by binary_integer;
type scf_hash_of_varchar2_to_num_t is table of number index by varchar2(50);
type scf_col_state_t is record (
sep_top varchar2(1000 char), -- separator: top
colname varchar2(1000 char), -- column name
is_auxil varchar2(1 char), -- Y=is auxiliary (print nothing if all non-auxiliary are empty)
is_hidden varchar2(1 char), -- Y=is hidden
sep_mid varchar2(1000 char), -- separator: middle
sep_bot varchar2(1000 char), -- separator: bottom
is_number varchar2(1 char), -- Y=is number
self_src varchar2(1000 char), -- null if not self column; otherwise name of source column
rows_v scf_array_of_varchar2_t, -- row values - varchar2
rows_n scf_array_of_number_t -- row values - number
);
type scf_array_of_col_state_t is table of scf_col_state_t index by binary_integer;
type scf_state_t is record (
numcols int := 0,
numcols_not_empty int := null,
num_notaux_cols_not_empty int := null,
col_name_to_pos scf_hash_of_varchar2_to_num_t,
cols scf_array_of_col_state_t,
self_col_pos_id int := null,
self_col_pos_pid int := null,
self_id_to_row scf_array_of_number_t,
self_pid_is_leaf scf_array_of_varchar2_t,
row_colors scf_array_of_number_t
);