Document #: US-25156,EN
------------------------------------------------------------------------------
Major subject: vision Minor subjects: vision_catalogs
Keywords: system_catalogs, tech_notes
Abstract:
INGRES/Vision System Catalogs. The following descriptions
of several INGRES/Vision System Catalogs are more detailed
than those in the INGRES/SQL Reference Manual. Catalog ii_menuargs,
Catalog ii_vqjoins, Catalog ii_vqtabcols, Catalog ii_vqtables,
Application Flow Diagram, Escape Code.
Expert note:
INGRES/Vision System Catalogs
=============================
The following descriptions of several INGRES/Vision System Catalogs are
more detailed than those in the INGRES/SQL Reference Manual. These new
descriptions will be added to the next version of the reference manual.
o Catalog ii_menuargs
o Catalog ii_vqjoins
o Catalog ii_vqtabcols
o Catalog ii_vqtables
o Application Flow Diagram
o Escape Code
These detailed descriptions are provided for your convenience, as with
all INGRES Extended System Catalogs, the use of these catalogs is not
supported by Ingres and their content and layout may change at any time.
Catalog ii_menuargs
-------------------
Column Name Data Type Description
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
object_id integer Object id of frame.
mu_text varchar(32) Menu item text.
mu_seq smallint Sequence number beginning at 0 (for
argument ordering).
mu_field varchar(32) Field name in called frame to assign value
to. If field name is of the form "X.Y",
then this will contain the "X" portion only.
mu_column varchar(32) Portion of field name in called frame to
assign value to. Only used when field name
is of form "X.Y", in which case this
contains the "Y" portion.
mu_expr varchar(240) 4GL expression (field, constant, BYREF(),
etc) in the parent frame to assign to
field in the called frame.
Catalog ii_vqjoins
------------------
Column Name Data Type Description
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
object_id integer Object id of the frame.
vq_seq smallint Sequence number (for ordering).
join_type smallint Type of join specified by this row:
0 = Master/Detail join
1 = Master/Lookup join
2 = Detail/Lookup join
join_tab1 smallint Index to table 1 of the join. Relative
table number in visual query beginning
with 0.
join_tab2 smallint Index to table 2 of the join. Relative
table number in visual query beginning
with 0. (table 2 is always below table
1 in visual query).
join_col1 smallint Join column for table 1. Index into
array of columns for table 1. (Same
as ii_vqtabcols.vq_seq.)
join_col2 smallint Join column for table 2. Index into
array of columns for table 2. (Same
as ii_vqtabcols.vq_seq.)
Catalog ii_vqtabcols
--------------------
Column Name Data Type Description
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
object_id integer Object id of the frame.
vq_seq smallint Column sequence number (for ordering).
tvq_seq smallint Sequence number of table in visual query
from ii_vqtables.
col_name varchar(32) Column name.
ref_name varchar(32) Name used on the form for field containing
data.
adf_type smallint Type information for column. See
description of
iicolumns.column_ingdatatype for details.
adf_length integer Column size in bytes.
adf_scale integer Currently not used.
col_flags integer This column contains multiple pieces of
information about the column in a bitmap
format. The following values may be
present (expressed in Hex):
1 = Column is to be used on form/report
2 = Column is joined to a detail table
and must be displayed
4 = Column is joined to a lookup table
and must be displayed
8 = Column is a subordinate join field;
therefore it can't be displayed
0x10 = Column is sequenced (generate new
surrogate key value for INSERT
statements)
0x20 = Column is descending (for sort)
0x40 = Column is part of the table's
unique key
0x100 = Set if column allows defaults
col_sortorder smallint Sort order for this column. Set to 0 if
not part of sort sequence. For lookup
tables, this gives the order of the column
in the lookup frame.
col_info varchar(240) Information entered by developer for this
column in visual query. For Browse and
Update frames, this is a query restriction
and is added to the WHERE clause of the
SELECT statement. For Append frames,
this gives default value information and
is either used in 4gl assignment statements
for a displayed column, or in the INSERT
statement for a not-displayed column.
Catalog ii_vqtables
-------------------
Column Name Data Type Description
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
object_id integer Object id of the frame.
vq_seq smallint Order of table in visual query.
vq_mode smallint This column contains multiple pieces of
information about the frame as a whole,
in a bitmap format (although note that
the first 4 entries below are mutually
exclusive; only one of them may appear).
May contain the following values (in Hex):
0 = Frame has no tables (menu frame).
1 = Master/Detail frame.
2 = Master only in a table field.
3 = Master only in simple fields.
0x10 = If set, then the "Qualification
Processing" frame behavior is "Disabled".
(can only be set for Browse & Update frames)
0x20 = If set, then the "Next Master
Menuitem" frame behavior is "Disabled".
(can only be set for Browse & Update frames)
0x40 = If set, then the "Hold Locks on
Displayed Data" frame behavior is set to
"Yes" (can only be set for Update frames).
tab_name varchar(32) Table name.
tab_owner varchar(32) Table owner.
tab_section smallint Visual query section table is in:
0 = table is in master section
1 = table is in detail section
tab_usage smallint How this table is used in the visual query:
0 = Append table
1 = Update table
2 = Browse table
3 = Lookup table
tab_flags integer This column contains multiple pieces of
information about the table, in a bitmap
format. Much of this is set by the frame
behaviors in the visual query. The
following values may be present (in Hex):
0x1 = If a lookup table, then lookup
requires a qualification frame.
If an update table, then insertions
are allowed into the table field
(only relevant to the detail table,
and to masters in table field)
0x2 = OK to Delete data in this table.
0x4 = Update of join field cascades to
detail; if bit is clear, then Update
of join field not allowed
("restricted") if details exist.
0x8 = Delete of master cascades to detail;
if bit is clear, then Delete of
master not allowed ("restricted")
if details exist.
0x10 = Table does not have a unique key.
0x20 = DBMS will handle referential
integrity on details when join field
is changed. Generated code updates
master table only.
0x40 = DBMS will handle referential
integrity on details when master is
Deleted.
Application Flow Diagram
------------------------
VISION's Application Flow Diagram is built from Menu item information
in the ii_abfdependencies catalog (described in the INGRES/SQL Reference
Manual).
Escape Code
-----------
Frame Escape Code is stored in the ii_encodings catalog (described in the
INGRES/SQL Reference Manual). All escape code for a frame is combined into
one (possibly sequenced) entry in ii_encodings. Each piece of escape code
in the entry is preceded by a type code: 1 = form-start, 2 = form-end,
3 = query-start, 4 = query-new-data, 5 = query-end, 6 = append-start,
7 = append-end, 8 = update-start, 9 = update-end, 10 = delete-start,
11 = delete-end, 12 = menu-start, 13 = menu-end, 14 = field-entry,
15 = field-change, 16 = field-exit, 17 = user-menuitem. The entire
entry is prefixed with version and other escape code related information.
Releases affected: 6.4/00(all.all) - Releases not affected:
Errors:
Bugs/SIRS:
------------------------------------------------------------------------------
Ingres Database Reference
To William's Home Page
© William Yuan 2000
Email William