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: ------------------------------------------------------------------------------
© William Yuan 2000
Email William