Previous Topic

Next Topic

QBF System Catalogs

The QBF system requires the following extended system catalogs:

Previous Topic

Next Topic

ii_joindefs Catalog

The ii_joindefs catalog contains additional information about join definitions (JoinDefs) used in QBF. Basic information about the JoinDef is contained in a row in the ii_objects catalog. Each JoinDef can have several rows in ii_joindefs associated with it. There are four type of records in ii_joindefs, identified by the qtype column. The ii_joindefs catalog is structured as compressed btree unique on the object_id and qtype columns:

Column Name

Data Type

Description

object_id

integer

Unique identifier (object ID) for identifying this JoinDef in the ii_objects catalog. Other information about the JoinDef (such as its name, owner, and object class) is stored in the ii_objects catalog.

qtype

integer

The low order byte of this column indicates the record type of this row, as follows:

0—Indicates if a table field is used in the JoinDef.

1—Table information.

2—Column information.

3—Join information.

The high order byte is used as a sequence number for multiple entries of a particular record type.

Each JoinDef has exactly one row with qtype = 0; it has one row with qtype = 1 for each table used in the JoinDef; it has one row with qtype = 2 for each field displayed in the JoinDef; it has one row with qtype = 3 for each pair of columns joined in the JoinDef.

qinfo1

varchar(32)

If qtype = 0, qinfo1 indicates if the JoinDef is built with a table field format
(Y = yes, N = no). If qtype = 1, qinfo1 contains the name of a table used in the JoinDef.
If qtype = 2, qinfo1 contains a correlation name (range variable) for the table used in the JoinDef that contains the column named in qinfo2. If qtype = 3, qinfo1 contains a correlation name (range variable) for a column named in qinfo2 that is joined to the column referenced in qinfo3 and qinfo4.

qinfo2

varchar(32)

If qtype = 0, qinfo2 is not used. If qtype = 1, qinfo2 indicates whether the table named in qinfo1 is a Master (0) or Detail (1) table. If qtype = 2, qinfo2 contains the name of the column to be used in conjunction with the correlation name in qinfo1. If qtype = 3, qinfo2 contains the name of the column to be joined to the column referenced in qinfo3 and qinfo4.

qinfo3

varchar(32)

If qtype = 0, qinfo3 is not used. If qtype = 1, qinfo3 contains a correlation name (range variable) for the table named in qinfo1. If qtype = 2, qinfo3 contains the field name in the form corresponding to the column identified by qinfo2. If qtype = 3, qinfo3 contains a correlation name (range variable) for a column named in qinfo4 that is joined to the column referenced in qinfo1 and qinfo2.

qinfo4

varchar(32)

If qtype = 0, qinfo4 is not used. If qtype = 1, qinfo4 contains the delete rules for the table named in qinfo1 (0 = no, 1 = yes). If qtype = 2, qinfo4 contains the status codes for the column identified by qinfo1 and qinfo2. These status codes are expressed as a 3-character text string; the first character denotes update rules for values in this column (0 = no, 1 = yes); the second character denotes whether this column is part of a join (0 = no, 1 = yes); the third character denotes whether this column is a displayed column (0 = no, 1 = yes). Typically, if the column is not part of a join the third character is not used by QBF. If qtype = 3, qinfo4 contains the name of the column to be joined to the column referenced in qinfo1 and qinfo2.

qinfo5

varchar(32)

The owner of the table referenced by the joindef.

Previous Topic

Next Topic

ii_qbfnames Catalog

The ii_qbfnames catalog contains information used by QBF on the mapping between a form and a corresponding table or JoinDef.

The ii_qbfnames catalog is structured as compressed btree unique on the object_id column:

Column Name

Data Type

Description

object_id

integer

Unique identifier (object ID) for identifying this QBFName in the ii_objects catalog. Other information about this QBFName (such as its name, owner, and object class) is stored in the ii_objects catalog.

relname

varchar(32)

The name of a table or JoinDef.

relowner

varchar(32)

the owner of the table referenced in the QBFName.

frname

varchar(32)

The name of a form corresponding to the table or JoinDef.

qbftype

smallint

Indicates if the QBFName is mapping a form to a table (value 0) or JoinDef (value 1).


© 2007 Ingres Corporation. All rights reserved.