Retrieve Database File Description (QDBRTVFD) API
Required Parameter Group:
1 | Receiver variable | Output | Char(*) |
2 | Length of receiver variable | Input | Binary(4) |
3 | Qualified returned file name | Output | Char(20) |
4 | Format name | Input | Char(8) |
5 | Qualified file name | Input | Char(20) |
6 | Record format name | Input | Char(10) |
7 | Override processing | Input | Char(1) |
8 | System | Input | Char(10) |
9 | Format type | Input | Char(10) |
10 | Error Code | I/O | Char(*) |
Default Public Authority: *USE
Threadsafe: Conditional; see Usage Notes.
The Retrieve Database File Description (QDBRTVFD) API allows you to get complete and specific information about a file on a local or remote system. The information is returned to a receiver variable in either a file definition template or a format definition mapping. The file definition template provides more complete information about a database file than the Display File Description (DSPFD) command. The format definition provides complete information about the record formats of the file.
The format definition is used with the Query (QQQQRY) API to get data from a file. You can run the QDBRTVFD API to build a format definition that is later used to run a query. This format definition can be used several times to extract information from a database, making the Query API run faster. If the format definition is not created prior to running a query, the QQQQRY API must create one when it runs.
The QSYS2.SYSFILES view can be used as an alternative to this API. See SYSFILES view for more information.
Authorities and Locks
- Library Authority
- *EXECUTE
- File Authority
- *OBJOPR
- File Lock
- *SHRNUP
Required Parameter Group
- Receiver variable
- OUTPUT; CHAR(*)
The receiver variable that is to receive the information requested. You can specify the size of the area smaller than the format requested as long as you specify the length of receiver variable parameter correctly. As a result, the API returns only the data the area can hold.
- Length of receiver variable
- INPUT; BINARY(4)
The length of the receiver variable provided. The length of receiver variable parameter may be specified up to the size of the receiver variable specified in the user program. If the length of receiver variable parameter specified is larger than the allocated size of the receiver variable specified in the user program, the results are not predictable. The minimum length is 8 bytes.
- Qualified returned file name
- OUTPUT; CHAR(20)
The actual qualified file name from which the file description has been extracted. If an override is active this file and library name may be different from the one entered with the API.
- Format name
- INPUT; CHAR(8)
The content and format of the information to be returned about the specified file, member, or format. You can use the following format names:
FILD0100 File definition template FILD0200 Format definition template FILD0300 Key field information template FILD0400 Trigger information template FILD0500 Access control information template See Format of Generated Information for a description of these formats.
- Qualified file name
- INPUT; CHAR(20)
The name of the file about which the information is to be extracted and the library in which it is located. The first 10 characters contain the file name, and the second 10 characters contain the library name.
You can use the following special values for the library name:
*CURLIB The job's current library *LIBL The library list *USRLIBL The job's current library and the user portion of the library list
- Record format name
- INPUT; CHAR(10)
The name of the record format in the specified file that is to be used to generate the file description. (This parameter is used only with format FILD0200.)
You can use the following special value for the record format name
*FIRST The first record format found
- Override processing
- INPUT; CHAR(1)
Whether overrides are to be processed. The following values are used:
0 No override processing 1 Override processing
- System
- INPUT; CHAR(10)
Whether the information that is returned is about a file on either a local or remote system, or both. The possible values are:
*LCL The information returned is about local files only. *RMT The information returned is about remote files only. *FILETYPE The information returned is about files on both the local and remote systems. For DDM files, the information returned is about the remote file that was named on the RMTFILE parameter of the Create DDM File (CRTDDMF) command.
- Format type
- INPUT; CHAR(10)
Whether the logical formats returned are internal or external. (This parameter is used only with format FILD0200.) A description and examples of the internal (*INT) and external (*EXT) formats follow:
*EXT The formats returned are external. If the specified file is a logical file, the format returns data for the logical fields defined in the logical record format. If the specified file is a physical file, the internal and external field names are the same. *INT The formats returned are internal. If the specified file is a logical file, the format returns data for the fields on which the logical fields are based. If the specified file is a physical file, the internal and external field names are the same. The following are DDS, *EXT, and *INT format type examples: For a logical file definition of (1) that is based on a physical file definition of (2), a format type of *EXT would return (3) and a format type of *INT would return (4).
Format Type Example DDS
Logical file definition (1):
R CONCAT1 PFILE(PF1) LFLD1 RENAME(FLD1) FLD2 CATFLD CONCAT(FLD1 FLD2 FLD3) K CATFLD Physical file definition (2):
FLD1 5A FLD2 10A FLD3 5A K FLD1
Format Type *EXT Example
(3)
Record format name CONCAT1 Record length 35 Number of fields 3 Internal field name 1 FLD1 External field name 1 LFLD1 Length of field 1 5 Internal field name 2 FLD2 External field name 2 FLD2 Length of field 2 10 Internal field name 3 FLD1 External field name 3 CATFLD Length of field 3 20
Format Type *INT Example
(4)
Record format name CONCAT1 Record length 35 Number of fields 5 Internal field name 1 FLD1 External field name 1 LFLD1
Length of field 1 5
Internal field name 2 FLD2
External field name 2 FLD2
Length of field 2 10
Internal field name 3 FLD1
External field name 3 CATFLD
Length of field 3 5
Internal field name 4 FLD2
External field name 4 CATFLD
Length of field 4 10
Internal field name 5 FLD3
External field name 5 CATFLD
Length of field 5 5
- Error code
- I/O; CHAR(*)
The structure in which to return error information. For the format of the structure, see Error code parameter.
Format of Generated Information
The QDBRTVFD API can be used to provide information in the following formats:
FILD0100 | File definition template |
FILD0200 | Format definition template |
FILD0300 | Key field information template |
FILD0400 | Trigger information template |
FILD0500 | Access control information template |
The following sections provide an overview of each of these formats. If an offset equals zero in the returned information, there is no corresponding structure associated with it.
The asterisk (*) in the Field column represents a reserved field. No variable is associated with these reserved fields.
FILD0100 Format (File Definition Template (FDT) header)
FILD0100 provides detailed information about how the file is built. FILD0100 Format shows how this information is organized. When more than one entry can appear, the figure indicates this as in (5).
Descriptions of the fields in this structure follow FILD0100 Format. The include source is supplied on the system, in source file H, member name QDBRTVFD, in the QSYSINC library. The field names in the following tables apply only to the ILE C include. See Include files and the QSYSINC library for the names of the OPM and ILE RPG and COBOL includes.
FILD0100 Format
File Definition Header (Qdb_Qdbfh)
Qdb_Qdbfh is the first structure and is located at offset zero of the returned data.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfyret | Length of the data returned in bytes. | |
4 | 4 | BINARY(4) | Qdbfyavl | Number of bytes provided for the file definition data. | |
8 | 8 | BIT(16) | Qdbfhflg | Attributes bytes. | |
8 | 8 | 0 | BIT(2) | Reserved_1 | Reserved. |
8 | 8 | 2 | BIT(1) | Qdbfhfpl | Type of file. If on, the file is a logical database file. If off, a physical database file. |
8 | 8 | 3 | BIT(1) | Reserved_2 | Reserved. |
8 | 8 | 4 | BIT(1) | Qdbfhfsu | File type (FILETYPE). If on, the file is a source file (*SRC). If off, a data file (*DATA). |
8 | 8 | 5 | BIT(1) | Reserved_3 | Reserved. |
8 | 8 | 6 | BIT(1) | Qdbfhfky | Access path. If on, the file has a keyed sequence access path. If off, an arrival sequence access path. |
8 | 8 | 7 | BIT(1) | Reserved_4 | Reserved. |
9 | 9 | 0 | BIT(1) | Qdbfhflc | Record format level check (LVLCHK). If on, the record format level identifiers are checked when the file is opened (*YES) if off, they are not checked when the file is opened (*NO). |
9 | 9 | 1 | BIT(1) | Qdbfkfso | Select/omit. If on, the file is a select/omit logical file. |
9 | 9 | 2 | BIT(4) | Reserved_5 | Reserved. |
9 | 9 | 6 | BIT(1) | Qdbfigcd | Double-byte character set (DBCS) or Graphic data. If on, the file's record format(s) contains DBCS or Graphic data fields. |
9 | 9 | 7 | BIT(1) | Qdbfigcl | Double-byte character set (DBCS) or Graphic literals. If on, the file's record format(s) contains DBCS or Graphic literals. |
10 | A | CHAR(4) | Reserved_7 | Reserved. | |
14 | E | BINARY(2) | Qdbflbnum | Number of data members. 0 indicates an externally described physical file or a program described physical file that is not linked to a data dictionary. 1 through 32 indicates the number of data dictionary record formats for a program described physical file that is linked to a data dictionary or the number of based-on physical records for a logical file. | |
16 | 10 | CHAR(14) | Qdbfkdat | Keyed sequence access path description. If this file has an arrival sequence access path, these fields are not applicable. | |
16 | 10 | BINARY(2) | Qdbfknum | Number of key fields for the file. 1 through 120. | |
18 | 12 | BINARY(2) | Qdbfkmxl | Maximum key length for the file. 1 through 32768. | |
20 | 14 | CHAR(1) | Qdbfkflg | Keyed sequence access path attributes. | |
20 | 14 | 0 | BIT(1) | Reserved_8 | Reserved. |
20 | 14 | 1 | BIT(1) | Qdbfkfcs | Alternate collating sequence (ALTSEQ). If on, an alternate collating sequence table is specified for the file. |
20 | 14 | 2 | BIT(4) | Reserved_9 | Reserved. |
20 | 14 | 6 | BIT(1) | Qdbfkfrc | Force keyed access path (FRCACCPTH). If on, the access path and changed records are forced to auxiliary storage when the access path is changed (*YES). |
20 | 14 | 7 | BIT(1) | Qdbfkflt | Floating point key indicator. If on, the access path for the file contains floating point keys. |
21 | 15 | CHAR(1) | Qdbfkfdm | Access path maintenance (MAINT).
|
|
22 | 16 | CHAR(8) | Reserved_10 | Reserved. | |
30 | 1E | CHAR(10) | Qdbfhaut | Public authority (AUT).
|
|
40 | 28 | CHAR(1) | Qdbfhupl | Preferred storage unit (UNIT).
|
|
41 | 29 | BINARY(2) | Qdbfhmxm | Maximum members (MAXMBRS).
|
|
43 | 2B | BINARY(2) | Qdbfwtfi | Maximum file wait time (WAITFILE).
|
|
45 | 2D | BINARY(2) | Qdbfhfrt | Records to force a write (FRCRATIO).
|
|
47 | 2F | BINARY(2) | Qdbfhmnum | Number of members, 0 through 32,767. | |
49 | 31 | BINARY(2) | Qdbfapsize | Access path page size; -1 is not valid because access path is a 4 gigabyte access path; 0 is system determines page size from the key length of the access path; 8K,16K,32K,64K,128K,256K,512K bytes. | |
51 | 33 | CHAR(7) | Reserved_11 | Reserved. | |
58 | 3A | BINARY(2) | Qdbfbrwt | Maximum record wait time (WAITRCD).
|
|
60 | 3C | CHAR(1) | Qaaf | Additional attribute flags. | |
60 | 3C | 0 | BIT(7) | Reserved_12 | Reserved |
60 | 3C | 7 | BIT(1) | Qdbfpgmd | Program described file indicator. If on, the file is program described. |
61 | 3D | BINARY(2) | Qdbffmtnum | Total number of record formats, 1 through 32. | |
63 | 3F | CHAR(2) | Qdbfhfl2 | Additional attribute flags | |
63 | 3F | 0 | BIT(1) | Qdbfjnap | Access path journaled. |
63 | 3F | 1 | BIT(1) | Reserved_13 | Reserved. |
63 | 3F | 2 | BIT(4) | File capability/operation flags. | |
63 | 3F | 2 | BIT(1) | Qdbfrdcp | Allow read operation. If on, records are not allowed to be read from the file. |
63 | 3F | 3 | BIT(1) | Qdbfwtcp | Allow write operation. If on, records are not allowed to be written to the file. |
63 | 3F | 4 | BIT(1) | Qdbfupcp | Allow update operation (ALWUPD). If on, records are not allowed to be updated in the file (*NO). |
63 | 3F | 5 | BIT(1) | Qdbfdlcp | Allow delete operation (ALWDLT). If on, records are not allowed to be deleted from the file (*NO). |
63 | 3F | 6 | BIT(9) | Reserved_14 | Reserved. |
64 | 40 | 7 | BIT(1) | Qdbfkfnd | Null values cause duplicates indicator (UNIQUE). Only valid if Qdbfpact is equal to 'KU'. If on, null values do not cause duplicate keys in the file access path(s) (*EXCNULL). |
65 | 41 | BINARY(2) | Qdbfvrm | First supported version release modification
level. New database support is used in the file that will prevent it from being
saved and restored to a prior version, release, and modification level.
|
|
|
|||||
67 | 43 | CHAR(2) | Qaaf2 | Additional attribute flags. | |
67 | 43 | 0 | BIT(1) | Qdbfhmcs | Multiple coded character set identifier indicator (CCSID). If on, the file has more than one CCSID for its input and output character type fields. If the file has no character type fields, this bit is off. |
67 | 43 | 1 | BIT(1) | Reserved_15 | Reserved. |
67 | 43 | 2 | BIT(1) | Qdbfknll | Allow null value key indicator (ALWNULL). If on, null value keys are allowed. |
67 | 43 | 3 | BIT(1) | Qdbf_nfld | Allow null value data (ALWNULL). If on, the file record format(s) allow null value fields. |
67 | 43 | 4 | BIT(1) | Qdbfvfld | Variable length data (VARLEN). If on, the file record format(s) contain variable length fields. |
67 | 43 | 5 | BIT(1) | Qdbftfld | Date/time/timestamp data. If on, the file record format(s) contain date, time, or timestamp fields. |
67 | 43 | 6 | BIT(1) | Qdbfgrph | Graphic data. If on, the file record formats contain graphic fields. |
67 | 43 | 7 | BIT(1) | Qdbfpkey | Primary key (*PRIKEY). If on, the access path for the file is a primary key. |
68 | 44 | 0 | BIT(1) | Qdbfunqc | Unique constraint (*UNQCST). If on, the access path for the file is a unique constraint. |
68 | 44 | 1 | BIT(2) | Reserved_118 | Reserved. |
68 | 44 | 3 | BIT(1) | Qdbfapsz | Access path size (ACCPTHSIZ). If on (*MAX1TB), all access paths associated with this file will be allowed to occupy a maximum of 1 terabyte (1 099 511 627 776 bytes) of auxiliary storage. If off (*MAX4GB), all access paths associated with this file will be allowed to occupy a maximum of 4 gigabytes (4 294 966 272 bytes) of auxiliary storage. |
68 | 44 | 4 | BIT(1) | Qdbfdisf | Distributed file. If on, the file is a distributed file. |
68 | 44 | 5 | BIT(1) | Reserved_68 | Reserved. |
68 | 44 | 6 | BIT(1) | Reserved_69 | Reserved. |
68 | 44 | 7 | BIT(1) | Reserved_70 | Reserved. |
69 | 45 | CHAR(13) | Qdbfhcrt | File level identifier. The date of the file in internal standard format (ISF), CYYMMDDHHMMSS. | |
82 | 52 | CHAR(52) | Qdbfhtx | File text description. | |
82 | 52 | CHAR(2) | Reserved_18 | Reserved. | |
84 | 54 | CHAR(50) | Qdbfhtxt | Text description (TEXT) | |
134 | 86 | CHAR(13) | Reserved_19 | Reserved. | |
147 | 93 | CHAR(30) | Qdbfsrc | Source file fields. Must be hexadecimal zeros if there is no source file information. | |
147 | 93 | CHAR(10) | Qdbfsrcf | Source file name. | |
157 | 9D | CHAR(10) | Qdbfsrcm | Source file member name. | |
167 | A7 | CHAR(10) | Qdbfsrcl | Source file library name. | |
177 | B1 | CHAR(1) | Qdbfkrcv | Access path recovery (RECOVER).
|
|
178 | B2 | CHAR(1) | Qdbfh_dfp_round | Rounding mode to be used for decimal floating
point (DECFLOAT) calculations.
|
|
179 | B3 | CHAR(1) | Qdbfh_dfp_warnings | Indicates whether warnings should be returned from decimal
floating point (DECFLOAT) calculations.
|
|
180 | B4 | CHAR(21) | Reserved_20 | Reserved. | |
201 | C9 | BINARY(2) | Qdbftcid | Coded character set identifier (CCSID) for text
description.
|
|
203 | CB | CHAR(2) | Qdbfasp | Auxiliary storage pool (ASP).
|
|
205 | CD | CHAR(1) | Qdbfnbit | Complex objects flags. | |
205 | CD | 0 | BIT(1) | Qdbfhudt | If on, the file record format has a user-defined type field. |
205 | CD | 1 | BIT(1) | Qdbfhlob | If on, the file record format has a large object field. |
205 | CD | 2 | BIT(1) | Qdbfhdtl | If on, the file record format has a datalink field. A datalink is a field data type that is used to point to another object that contains the data for that field. |
205 | CD | 3 | BIT(1) | Qdbfhudf | If on, the file uses a user-defined function. |
205 | CD | 4 | BIT(1) | Qdbfhlon | If on, the file has a datalink field with FILE LINK CONTROL. |
205 | CD | 5 | BIT(1) | Qdbfhlop | If on, the file is a logical file without any large object fields, but the based-on physical file has a large object field. |
205 | CD | 6 | BIT(1) | Qdbfhdll | If on, the file is a logical file without any datalink fields, but the based-on physical file has a datalink field. |
205 | CD | 7 | BIT(1) | Qdbfsqlvol | If on, the file is an SQL Volatile Table. |
206 | CE | BINARY(2) | Qdbfmxfnum | Maximum number of fields, 1 through 8000. Indicates the number of fields in the file's record format that contains the largest number of fields. | |
208 | D0 | CHAR(74) | Reserved_22 | Reserved. | |
282 | 11A | CHAR(2) | Qdb_Qdbfidfl | Additional attribute flags. | |
282 | 11A | 0 | BIT(5) | Reserved_121 | Reserved. |
282 | 11A | 5 | BIT(1) | Qdbf_File_Has_Identity_Column | If on, the file record format has an identity column. |
282 | 11A | 6 | BIT(1) | Qdbf_File_Has_Rowid | If on, the file record format has a row ID column. |
282 | 11A | 7 | BIT(1) | Qdbfh_Row_Change_Timestamp | If on, the file record format has a Row Change Timestamp column. |
283 | 11B | 0 | BIT(6) | Reserved_122 | Reserved. |
283 | 11B | 6 | BIT(1) | Qdbf_Keep_In_Memory | If on, the keep in memory attribute of the file has been changed to *YES. |
283 | 11B | 7 | BIT(1) | Reserved_124 | Reserved. |
284 | 11C | BINARY(4) | Qdbfodic | Offset from the start of the FDT header, Qdb_Qdbfh, to the IDDU/SQL Data Dictionary Area section, Qdbfdic. | |
288 | 120 | CHAR(14) | Reserved_23 | Reserved. | |
302 | 12E | BINARY(2) | Qdbffigl | File generic key length, 0 through 2000. The length of the key before the first *NONE key field for the file. If this file has an arrival sequence access path, this field is not applicable. | |
304 | 130 | BINARY(2) | Qdbfmxrl | Maximum record length, 1 through 32,766. The length of the record in the file's record format that contains the largest number of bytes. | |
306 | 132 | CHAR(8) | Reserved_24 | Reserved. | |
314 | 13A | BINARY(2) | Qdbfgkct | File generic key field count, 0 through 120. The count of the number of key fields before the first *NONE key field for the file. If this file has an arrival sequence access path, this field is not applicable. | |
316 | 13C | BINARY(4) | Qdbfos | Offset from the start of the FDT header, Qdb_Qdbfh, to the File Scope Array section, Qdb_Qdbfb. | |
320 | 140 | CHAR(8) | Reserved_25 | Reserved. | |
328 | 146 | BINARY(4) | Qdbfocs | Offset from the start of the FDT header, Qdb_Qdbfh, to the Alternative Collating Sequence Table section, Qdb_Qdbfacs. | |
332 | 14C | CHAR(4) | Reserved_26 | Reserved. | |
336 | 150 | CHAR(2) | Qdbfpact | Access path type.
|
|
338 | 152 | CHAR(6) | Qdbfhrls | File version, release, and modification level. VxRyMz, where x is the version, y the release, and z the modification level. | |
344 | 158 | CHAR(20) | Reserved_27 | Reserved. | |
364 | 16C | BINARY(4) | Qdbpfof | Offset from the start of the FDT header, Qdb_Qdbfh, to the Physical File Specific Attributes section, Qdb_Qdbfphys. | |
368 | 170 | BINARY(4) | Qdblfof | Offset from the start of the FDT header, Qdb_Qdbfh, to the Logical File Specific Attributes section, Qdb_Qdbflogl. | |
372 | 174 | CHAR(6) | Qdbfssfp | Sort sequence table. | |
372 | 174 | CHAR(1) | Qdbfnlsb | Flags. | |
372 | 174 | 0 | BIT(3) | Qdbfsscs | Sort sequence table (SRTSEQ) indicators.
|
372 | 174 | 3 | BIT(5) | Reserved_103 | Reserved. |
373 | 175 | CHAR(3) | Qdbflang | Language identifier (LANGID). | |
376 | 178 | CHAR(2) | Qdbfcnty | Country or region identifier (CNTRYID). | |
378 | 17A | BINARY(4) | Qdbfjorn | Offset from the start of the FDT header, Qdb_Qdbfh, to the Journal Information section, Qdb_Qdbfjoal. | |
382 | 17E | BINARY(4) | Qdbfevid | Initial number of distinct values an encoded vector access path was allowed at creation. | |
386 | 182 | CHAR(14) | Reserved_28 | Reserved. |
Physical File Specific Attributes (Qdb_Qdbfphys)
The Qdb_Qdbfphys section can be located with the offset Qdbpfof, in the FDT header section, Qdb_Qdbfh.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(2) | Qdbfpalc | Allocate/contiguous storage (ALLOCATE and CONTIG)
|
|
2 | 2 | CHAR(1) | Qdbfcmps | Maximum percentage of deleted records allowed
(DLTPCT).
|
|
3 | 3 | BINARY(4) | Qdbfoff_sqpt | For partitioned tables, offset from the start of the FDT header, Qdb_Qdbfh, to the Partitioned Table area, Qdb_Qdbfsqpt_Head. | |
7 | 7 | BINARY(4) | Qdbfoff_temporal | For Temporal Table Information, offset from the start of the FDT header, Qdb_Qdbfh, to the Temporal Table Information area, Qdb_Qdbfptemp_Head. | |
11 | B | BINARY(4) | Qdbfprnum | Initial number of records (SIZE).
|
|
15 | F | BINARY(2) | Qdbfpri | Increment number of records (SIZE).
|
|
17 | 11 | BINARY(2) | Qdbfprinum | Maximum number of increments (SIZE).
|
|
19 | 13 | BINARY(4) | Qdbforid | Offset from the start of FDT header, Qdb_Qdbfh, to the Record ID Codes for program described physical files, Qdbforid. | |
23 | 17 | CHAR(1) | Qflags | Flags. | |
23 | 17 | 0 | BIT(1) | Qdbfrdel | Reuse deleted records (RESUEDLT). If on, deleted member record space is reused by the system on write (insert) requests (*YES). |
23 | 17 | 1 | BIT(3) | Reserved_30 | Reserved. |
23 | 17 | 4 | BIT(1) | Qdbfsqlt | SQL table indicator. If on, the file is a SQL table. |
23 | 17 | 5 | BIT(1) | Qdbfmqt | SQL materialized query table indicator. If on, the file is a SQL materialized query table. |
23 | 17 | 6 | BIT(1) | Qdbfsqpt | Partitioned table indicator. If on, the file is a partitioned table. |
23 | 17 | 7 | BIT(1) | Qdbfaccct | Row and column access control indicator. If on, access control is defined for the file. |
24 | 18 | BINARY(4) | Qdbfotrg | Offset from the start of the FDT header, Qdb_Qdbfh, to the trigger description area, Qdbftrg. | |
28 | 1C | BINARY(2) | Qdbftrgn | Number of triggers. | |
30 | 1E | BINARY(4) | Qdbfofcs | Offset from the start of the FDT header, Qdb_Qdbfh, to the constraint definition area, Qdb_Qdbf_Constraint. | |
34 | 22 | BINARY(4) | Qdbfcstn | Number of constraints for the file. | |
38 | 26 | BINARY(4) | Qdbfodl | Offset from the start of the FDT header, Qdb_Qdbfh, to the datalinks area, Qdb_Qdbfdtalnk. | |
42 | 2A | BINARY(4) | Qdbfovw_mqt | For SQL materialized query tables, offset from the start of the FDT header, Qdb_Qdbfh, to the SQL area, Qdb_Qdbfv. | |
46 | 2E | CHAR(2) | Reserved_32 | Reserved. |
Trigger Description Area (Qdb_Qdbftrg)
The Qdb_Qdbftrg section can be located with the offset Qdbfotrg in the Physical File Specific Attributes section, Qdb_QdbfphysQdbflotrg in the Logical File Specific Attributes section, Qdb_Qdbflogl. This section is repeated by the number of triggers, Qdbftrgn or Qdbfltrgn.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(1) | Qdbftrgt | Trigger time.
|
|
1 | 1 | CHAR(1) | Qdbftrge | Trigger event.
|
|
2 | 2 | CHAR(10) | Qdbftpgm | Trigger program name. | |
12 | C | CHAR(10) | Qdbftplb | Trigger program library name. | |
22 | 16 | CHAR(1) | Qdbftupd | Trigger update condition.
|
|
23 | 17 | CHAR(1) | Qdbftrgf | Trigger flags. | |
23 | 17 | 0 | BIT(1) | Qdbfalrc | Allow repeated change indicator. If on, repeated changes are allowed. |
23 | 17 | 1 | BIT(2) | Qdbftths | Trigger threadsafe indicator.
|
23 | 17 | 3 | BIT(2) | Qdbftmta | Multithreaded job action indicator.
|
23 | 17 | 5 | BIT(1) | Qdbftqmt | QMLTTHDACN system value use. If on, the system value was used to determine Qdbftmta. |
23 | 17 | 6 | BIT(1) | Qdbf_more_trg_info | Whether more trigger information is available if
format FILD0400 is requested.
|
23 | 17 | 7 | BIT(1) | Reserved_200 | Reserved. |
Constraint Definition Header (Qdb_Qdbf_Constraint)
The Qdb_Qdbf_Constraint section can be located with the offset Qdbfofcs in the Physical File Specific Attributes section, Qdb_Qdbfphys.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbf_csto | Offset from Qdb_Qdbf_Constraint to the next section for this constraint. | |
4 | 4 | BINARY(4) | Qdbf_hlen | Constraint entry header length in bytes. | |
8 | 8 | CHAR(1) | Qdbf_type | Constraint type (TYPE)
|
|
9 | 9 | CHAR(1) | Qdbf_chkpd | Check pending attribute.
|
|
10 | A | CHAR(1) | Qdbf_state | Constraint state.
|
|
11 | B | CHAR(1) | Qdbf_abled | Constraint enablement.
|
|
12 | C | CHAR(13) | Qdbf_add_ts | Constraint date. The date is in the internal standard format (ISF), CYYMMDDHHMMSS. | |
25 | 19 | CHAR(10) | Qdbf_cst_lin | Constraint library name. | |
35 | 23 | BINARY(4) | Qdbf_cst_lp2 | Constraint name (delimited) length | |
39 | 27 | CHAR(1) | Qdbf_cst_checked | Enable Constraint Type.
|
|
40 | 28 | CHAR(24) | Reserved_54 | Reserved. | |
64 | 40 | CHAR(258) | Qdbf_cst_name | Constraint name (CST). |
Constraint Definition Entries
The number of constraint definition entries depends on the type of constraint.
- A referential constraint, type F, has three structures in this
sequence:
- Qdbf_Keyn for parent file
- Qdbf_Keyn for dependent file
- Qdbf_Riafk_Afkd
- A unique constraint, type U, has one Qdbf_Keyn structure.
- A primary unique constraint, type P, has one Qdbf_Keyn structure.
- A check constraint, type C, has one Qdbf_Chk_Cst structure.
Constraint Keys (Qdb_Qdbf_Keyn)
The Qdb_Qdbf_Keyn section is located with the offset Qdbf_hlen in the constraint definition header, Qdb_Qdbf_Constraint. When the constraint is referential constraint, the offset to the next section is located with the offset Qdbf_kslen in this structure.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbf_kslen | Constraint key structure length. The length, in bytes, of this constraint key structure. This is also the offset to from Qdbf_Keyn to the next structure for this constraint. | |
4 | 4 | BINARY(4) | Qdbf_nokys | Number of keys, 1 through 120. The number of key fields for the constraint key. | |
8 | 8 | BINARY(4) | Qdbf_klen | Constraint key length. | |
12 | C | CHAR(52) | Revcst_7 | Reserved. | |
64 | 40 | Array of CHAR(32) | Qdbf_narray | Key name array. |
Key Name Array (Qdb_Qdbf_Narray)
This array follows the constraint keys structure, Qdbf_Keyn. The number of constraint key name array entries is in field Qdbf_nokys in the constraint keys structure.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(10) | Qdbf_kname | Key name (PRNKEY KEY) | |
10 | A | CHAR(22) | Revcst_6 | Reserved. |
Referential Constraint Definition (Qdb_Qdbf_Riafk_Afkd)
The Qdb_Qdbf_Riafk_Afkd section can be located with the offset Qdbf_kslen in the constraint keys structure, Qdbf_Keyn, that precedes this structure. This structure exists only if the constraint is a referential constraint.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(64) | Parent file (PRNFILE). | ||
0 | 0 | CHAR(10) | Qdbf_riafk_pkfn | Parent file name. | |
10 | A | CHAR(10) | Qdbf_riafk_pkln | Parent file library name. | |
20 | 14 | CHAR(44) | Revcst_3 | Reserved. | |
64 | 40 | CHAR(1) | Qdbf_riafk_fkcdr | Delete rule (DLTRULE).
|
|
65 | 41 | CHAR(1) | Revcst_4 | Reserved | |
66 | 42 | CHAR(1) | Qdbf_riafk_fkcur | Update rule (UPDRULE)
|
|
67 | 43 | CHAR(61) | Revcst_5 | Reserved. |
Check Constraint (Qdb_Qdbf_Chk_Cst)
This section is located with the offset Qdbf_hlen in the constraint definition header, Qdb_Qdbf_Constraint. This structure exists only if the constraint is a check constraint.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbf_chkcst_len | Check constraint structure length. The length, in bytes, of the check constraint structure Qdb_Qdbf_Chk_Cst. If Qdbf_chk_violation_insert_offset or Qdbf_chk_violation_update_offset is greater than 0, the length of Qdbf_chk_violation structure(s) is also included in this length. | |
4 | 4 | BINARY(4) | Qdbf_chkexpr_len | Check constraint expression length. The length of the check constraint expression Qdbf_chkexpr. | |
8 | 8 | CHAR(1) | Qdbf_chk_dfp_round | Rounding mode to be used for decimal floating
point (DECFLOAT) calculations.
|
|
9 | 9 | CHAR(1) | Qdbf_chk_dfp_warnings | Indicates whether warnings should be returned from decimal
floating point (DECFLOAT) calculations.
|
|
10 | A | BINARY(4) | Qdbf_chk_violation_insert_offset | Offset from the start of the Check Constraint area, Qdb_Qdbf_Chk_Cst, to the Check Constraint Violation section, Qdb_Qdbf_Chk_Cst_Violation, for the ON INSERT VIOLATION clause. | |
14 | E | BINARY(4) | Qdbf_chk_violation_update_offset | Offset from the start of the Check Constraint area, Qdb_Qdbf_Chk_Cst, to the Check Constraint Violation section, Qdb_Qdbf_Chk_Cst_Violation, for the ON UPDATE VIOLATION clause. | |
18 | 12 | CHAR(14) | Revcst_8 | Reserved. | |
32 | 20 | CHAR(*) | Qdbf_chkexpr | Check constraint expression. |
Check Constraint Violation (Qdb_Qdbf_Chk_Cst_Violation)
The Qdb_Qdbf_Chk_Cst_Violation section exists for each check constraint violation clause that is specified. To locate the ON INSERT VIOLATION clause use Qdbf_chk_violation_insert_offset. To locate the ON UPDATE VIOLATION clause use Qdbf_chk_violation_update_offset. Both of these offsets are defined in the Check Constraint structure, Qdb_Qdbf_Chk_Cst.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbf_viol_len | Violation clause length. | |
4 | 4 | CHAR(12) | Revcst_9 | Reserved. | |
16 | 10 | CHAR(*) | Qdbf_viol_clause | Check constraint violation clause. |
Datalink Header (Qdb_Qdbfdtalnk)
The Qdb_Qdbfdtalnk section is the header for the datalink columns that have linked servers. There will be one header and one or more datalink column entries defined by the Qdb_Qdbfdlcole structure. This structure can be located with the offset Qdbfodl in the Physical File Specific Attributes section, Qdb_Qdbfphys.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfdlcoln | Number of datalink columns with links to servers. | |
4 | 4 | BINARY(4) | Qdbfdlocole | Offset from the start of Qdb_Qdbfdtalnk to the first datalink column entry, (Qdb_Qdbfdlcole). | |
8 | 8 | CHAR(1) | Qdbfdllnkp | Link pending attribute. Link
pending is a state that indicates to the user the file has one or more
datalink field values (under the file link control attribute) where the system
does not know whether or not the field is really linked to a file on the
DataLink File Manager server. The Datalink File Manager is a
function that tracks which files are linked to a specific database file.
|
|
9 | 9 | CHAR(23) | Revdl_1 | Reserved. |
Datalink Column Entry (Qdb_Qdbfdlcole)
The Qdb_Qdbfdlcole section repeats for the number of columns (Qdbfdlcoln) defined in structure Qdb_Qdbfdtalnk. The first column entry can be located with the offset Qdbfdlocole in structure Qdb_Qdbfdtalnk. Since Qdb_Qdbfdlcole is a varying length structure, use length Qdbfdlcelen to get to the next column entry.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfdlcelen | Length of this datalink column entry. Use this length to get to the next datalink column entry. | |
4 | 4 | BINARY(4) | Qdbfdlsevn | Number of servers linked for this column. | |
8 | 8 | CHAR(10) | Qdbfdlcolnm | Column name. | |
18 | 12 | CHAR(14) | Revdl_2 | Reserved. | |
32 | 20 | Array of CHAR(254) | Qdbfdlsevnm | Array of server names linked to the datalink column. The number of array entries is defined by Qdbfdlsevn. |
Record ID Codes (Qdb_Qdbfdrtb)
The Qdb_Qdbfdrtb section describes the record ID codes for program described physical files. The record ID code information is an array with variable length entries. This section can be located with the offset Qdbforid in the Physical File Specific Attributes section, Qdb_Qdbfphys.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(16) | Record ID code header. | ||
0 | 0 | BINARY(2) | Qdbfdrnum | Number of record ID code array entries, 0 through 70. | |
2 | 2 | BINARY(4) | Qdbfdrtl | Size of this record ID code table in bytes, 0 through 256. | |
6 | 6 | CHAR(10) | Reserved_33 | Reserved. | |
16 | 10 | Array of CHAR(32) | Qdbfdrae | Record ID code array entry. |
Record ID Codes Array (Qdb_Qdbfdrae)
This array follows the record ID codes structure, Qdb_Qdbfdrtb. The number of record ID code array entries is in Qdbfdrnum.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(4) | Reserved_34 | Reserved. | |
4 | 4 | CHAR(10) | Qdbfdrnm | External name. | |
14 | E | BINARY(2) | Qdbfdrrp | Relative field position, 1 through 8000. The relative position of the field in the record format. | |
16 | 10 | CHAR(2) | Qdbfdrco | Comparison operator.
|
|
18 | 12 | BINARY(2) | Qdbfdrln | Length of test value. Test value length must be 1. | |
20 | 14 | CHAR(1) | Qdbfdrtv | Test value. | |
21 | 15 | CHAR(1) | Qdbfdrao | AND/OR/last operator.
|
|
22 | 16 | CHAR(10) | Reserved_35 | Reserved. |
Logical File Specific Attributes (Qdb_Qdbflogl)
The Qdb_Qdbflogl section can be located with the offset Qdblfof in the FDT header section, Qdb_Qdbfh.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfoj | Offset from the start of the FDT header, Qdb_Qdbfh, to the join specifications, Qdbfj. | |
4 | 4 | BINARY(2) | Qdbfscsn | Total number of select/omit statements for all record formats, 1 through 32,767. | |
6 | 6 | CHAR(10) | Qdbflxp | Record format selector program (FMTSLR)
|
|
16 | 10 | CHAR(10) | Qdbflxl | Record format selector program library (FMTSLR)
|
|
26 | 1A | BINARY(4) | Qdbfovw | Offset from the start of the FDT header, Qdb_Qdbfh, to the SQL area, Qdb_Qdbfv. | |
30 | 1E | CHAR(1) | Qlfa | Logical file attributes | |
30 | 1E | 0 | BIT(2) | Reserved_36 | Reserved. |
30 | 1E | 2 | BIT(1) | Qdbfjoin | Join logical file indicator (JFILE). If on, the file is a join logical file. |
30 | 1E | 3 | BIT(1) | Qdbfdyns | Dynamic selection indicator (DYNSLT). If on, the selection and omission tests specified for the file are done when the file is read. If off, when the access path is updated. |
30 | 1E | 4 | BIT(1) | Qdbfsqlv | SQL view indicator. If on, the file is an SQL view. |
30 | 1E | 5 | BIT(1) | Qdbfsqli | SQL index indicator. If on, the file is an SQL index. |
30 | 1E | 6 | BIT(2) | Reserved_37 | Reserved. |
31 | 1F | CHAR(1) | Qdbfjtyp | Join file type.
|
|
32 | 20 | BINARY(2) | Qdbfsrcd | Coded character set identifier (CCSID) for
select/omit constants.
|
|
34 | 22 | CHAR(1) | Qdbfwchk | With check option.
The value N is set for all logical files. The values C and L only apply to SQL views. |
|
35 | 23 | BINARY(4) | Qdbflotrg | Offset from the start of the FDT header, Qdb_Qdbfh, to the trigger description area, Qdbftrg. | |
39 | 27 | BINARY(2) | Qdbfltrgn | Number of triggers. | |
41 | 29 | CHAR(1) | Qdb_Qlfa_sqli | Logical file index attributes | |
41 | 29 | 0 | BIT(1) | Qdbf_sqli_idx | SQL Index with a derived key. If on, the SQL Index has a derived key. |
41 | 29 | 1 | BIT(1) | Qdbf_sqli_idx_udf | SQL Index with a user defined UDF. If on, the SQL Index has a user defined UDF. |
41 | 29 | 2 | BIT(1) | Qdbf_sqli_where | SQL Index with a Where clause. If on, the SQL Index has a Where clause. |
41 | 29 | 3 | BIT(1) | Qdbf_sqli_where_udf | SQL Index with a Where clause with a user defined UDF. If on, the SQL Index has a Where clause with a user defined UDF. |
41 | 29 | 4 | BIT(4) | Reserved_501 | Reserved. |
42 | 2A | CHAR(6) | Reserved_38 | Reserved. |
Join Specifications (Qdb_Qdbfj)
The join specifications, Qdb_Qdbfj, are a linked list. There is an entry in the linked list for each join to-file. Each entry defines the join logical file's based on physical files and the fields in the from-file and the to-file used to join the based on physical file.
The Qdb_Qdbfj section can be located with the offset Qdbfoj in the FDT header section, Qdb_Qdbfh.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfjnho | Offset from the start of the FDT header, Qdb_Qdbfh, to the join specifications, Qdbfj, for the next join to-file. | |
4 | 4 | CHAR(4) | Reserved_40 | Reserved. | |
8 | 8 | BINARY(2) | Qdbfjknum | Number of join field specifications (JFLD), 1 through 32,767. | |
10 | A | BINARY(2) | Qdbfjdnum | Number of join duplicate sequence specifications (JDUPSEQ), 1 through 32,767. | |
12 | C | BINARY(2) | Qdbfjffnum | Join from-file number (JOIN), 1 through 255. This number indicates which based on physical file to join the to-file from. | |
14 | E | BINARY(2) | Qdbfjtfnum | Join to-file number (JOIN), 2 through 256. This number indicates which based on physical to-file this join specification relates to. | |
16 | 10 | CHAR(24) | Reserved_41 | Reserved. | |
40 | 28 | BINARY(4) | Qdbfjsao | Offset from the start of the FDT header, Qdb_Qdbfh, to the Join Specification Array, Qdb_Qdbfjfld | |
44 | 2C | BINARY(4) | Qdbfjdao | Offset from the start of the FDT header, Qdb_Qdbfh, to the Join Duplicate Sequence Specification Array, Qdb_Qdbfjdup, for this join to-file. |
Join Specification Array (Qdb_Qdbfjfld)
The Qdb_Qdbfjfld section can be located with the offset Qdbfjsao in the Join Specifications section, Qdb_Qdbfj. The number of join specification array entries may be up to one less than the number of data members, Qdbflbnum, located in the FDT header section, Qdb_Qdbfh.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(10) | Qdbfjfnm | Join from-field-name (JFLD) | |
10 | A | BINARY(2) | Qdbfjfnum | Join from-field reference number.
|
|
12 | C | CHAR(2) | Reserved_42 | Reserved. | |
14 | E | CHAR(2) | Qdbfjop | Join operation. This is always set to 'EQ'. | |
16 | 10 | CHAR(10) | Qdbfjtnm | Join to-field name (JFLD). | |
26 | 1A | BINARY(2) | Qdbfjtnum | Join to-field reference number.
|
|
28 | 1C | CHAR(20) | Reserved_43 | Reserved. |
Join Duplicate Sequence Specification Array (Qdb_Qdbfjdup)
The Qdb_Qdbfjdup section can be located with the offset Qdbfjdao in the Join Specifications section, Qdb_Qdbfj. The number of join specification array entries may be up to one less than the number of data members, Qdbflbnum, located in the FDT header section, Qdb_Qdbfh.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(10) | Qdbfjdnm | Join specification field name (JDUPSEQ). | |
10 | A | BINARY(2) | Qdbfjdjnum | Join sequence field name reference number.
|
|
12 | C | CHAR(1) | Qjsfna | Join sequencing field name attributes. | |
12 | C | 0 | BIT(1) | Qdbfjdd | Ascending/descending sequence indicator. If on, indicates a descending field (*DESCEND). |
12 | C | 1 | BIT(7) | Reserved_44 | Reserved. |
13 | D | CHAR(19) | Reserved_45 | Reserved. |
SQL Area (Qdb_Qdbfv)
The SQL area, Qdb_Qdbfv, contains the SQL select statement, or the SQL create index statement for new SQL indexes created for V6R1M0. For logical files, this section can be located with the offset Qdbfovw in the Logical File Specific Attributes section, Qdb_Qdbflogl. For SQL materialized query tables, you can locate this section with the offset Qdbfovw_mqt located in the Physical File Specific Attributes section, Qdb_Qdbfphys.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(56) | SQL area header. | ||
0 | 0 | CHAR(16) | Reserved_39 | Reserved. | |
16 | 10 | BINARY(4) | Qdbfvs_start | Starting offset of the SELECT statement within the CREATE TABLE statement. | |
20 | 14 | BINARY(4) | Qdbfvs_end | Ending offset of the SELECT statement within the CREATE TABLE statement. | |
24 | 18 | BINARY(2) | Qdbfvs_ccsid | Coded Character Set Identifier, CCSID, for the Select Statement. Views created prior to V5R1M0 will return a CCSID value of 0. | |
26 | 1A | BINARY(4) | Qdbfmqtd_o | For SQL materialized query tables, offset from the start of the FDT header, Qdb_Qdbfh, to the SQL materialized query table dependency area, Qdb_Qdbfmqtd_Head. | |
30 | 1E | CHAR(2) | Qdbfmqt_cmt | The isolation level in effect for the SQL materialized
query table:
|
|
32 | 20 | CHAR(1) | Qdbfvflgs | Flags. | |
32 | 20 | 0 | BIT(1) | Qdbfmqt_init | SQL materialized query table initial data. If on, data is inserted into the table immediately as part of the SQL Create Table statement. If off, data is deferred until the SQL Refresh Table statement is issued for the table. |
32 | 20 | 1 | BIT(1) | Qdbfmqt_maint | SQL materialized query table maintenance. If on, table is user-maintained. |
32 | 20 | 2 | BIT(1) | Qdbfmqt_refresh | SQL materialized query table refresh. If off, table is refresh-deferred. |
32 | 20 | 3 | BIT(1) | Qdbfmqt_opt | SQL materialized query table optimization. If on, table is disabled for optimization. If off, table is enabled for optimization. |
32 | 20 | 4 | BIT(1) | Reserved_123 | Reserved. |
32 | 20 | 5 | BIT(1) | Qdbfmqt_rstdfr | SQL materialized query table deferred indicator. If on, table is deferred because it was restored without its based-on files, and the based-on files have not yet been resolved. If off, table is not deferred. |
32 | 20 | 6 | BIT(2) | Reserved_88 | Reserved. |
33 | 21 | BINARY(4) | Qdbfvs_sqli_wh_start | Starting offset of the WHERE condition within the CREATE INDEX statement. | |
37 | 25 | BINARY(4) | Qdbfvs_sqli_wh_len | Length of the WHERE condition within the CREATE INDEX statement. | |
41 | 29 | CHAR(15) | Reserved_89 | Reserved. | |
56 | 38 | SQL select statement, or SQL create index structure. | |||
56 | 38 | BINARY(4) | Qdbfvssl | Select statement, or SQL create index length. | |
60 | 3C | CHAR(*) | Qdbfvsst | SQL select, or SQL create index statement. |
SQL Materialized Query Table Dependency Header (Qdb_Qdbfmqtd_Head)
The Qdb_Qdbfmqtd_Head section is located with the offset Qdbfmqtd_o in the SQL area, Qdb_Qdbfv. This structure exists only if the file is a SQL materialized query table.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfmqtd_len_sum | Total length, in bytes, of the dependency area. This includes both the dependency header and the dependency array. | |
4 | 4 | BINARY(4) | Qdbfmqtd_#_deps | Number of file entries in the dependency array. | |
8 | 8 | CHAR(56) | Reserved_16 | Reserved. | |
64 | 40 | CHAR(*) | Dependency array, Qdb_Qdbfmqtd, for this SQL materialized query table. |
SQL Materialized Query Table Dependency Entry (Qdb_Qdbfmqtd)
The Qdb_Qdbfmqtd section repeats in the dependency array for the number of depended-on files (Qdbfmqtd_#_deps) defined in structure Qdb_Qdbfmqtd_Head. The first dependency entry follows the dependency header Qdb_Qdbfmqtd_Head. Use length Qdbfmqtd_len to get to the next dependency entry.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(16) | Reserved_117 | Reserved. | |
16 | 10 | BINARY(4) | Qdbfmqtd_len | Length, in bytes, of this dependency entry. Use this length to get to the next dependency entry. | |
20 | 14 | CHAR(10) | Qdbfmqtd_file | Name of the file that the materialized query table is dependent on. The file is specified in the select-statement of the materialized query table. | |
30 | 1E | CHAR(10) | Qdbfmqtd_lib | Name of the library that the depended-on file resides in. | |
40 | 28 | CHAR(56) | Reserved_116 | Reserved. |
Partitioned Table Header (Qdb_Qdbfsqpt_Head)
The Qdb_Qdbfsqpt_Head section is located with the offset Qdbfoff_sqpt. This structure exists only if the file is a partitioned table.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfsqpt_Len_Sum | Total length, in bytes, of the header area. This includes all the partition areas and partition key areas. | |
4 | 4 | CHAR(4) | Qdbfsqpt_Sql_Reserved4 | Reserved. | |
8 | 8 | CHAR(1) | Qdbfsqpt_Ran_Hh | Partitioning is range or hash.
|
|
9 | 9 | CHAR(1) | Qdbfsqpt_Lfld | Field has long field name.
|
|
10 | 0A | CHAR(230) | Qdbfsqpt_Reserved230 | Reserved. | |
240 | F0 | BINARY(4) | Qdbfsqpt_Num_Parts | Number of file partitions. | |
244 | F4 | BINARY(4) | Qdbfsqpt_Part_Offset | The offset to the first partition. This is from the start of the Partitioned Table Header, Qdb_Qdbfsqpt_Head, to the first partition, Qdb_Qdbfsqpt_Part. | |
248 | F8 | BINARY(4) | Qdbfsqpt_Hk_Offset | The offset to the hash key area. This offset is only set if hash partitioning is being done for the partitioned table. This is from the start of the Partitioned Table Header, Qdb_Qdbfsqpt_Head, to the partition hash header Qdb_Qdbfsqpt_Head_Hash, if hash partitioning is being done. | |
252 | FC | CHAR(100) | Qdbfsqpt_Reserved_100 | Reserved. | |
352 | 160 | CHAR(*) | Partitioned area, Qdb_Qdbfsqpt_Part, for this partitioned table and partition hash key area Qdb_Qdbfsqpt_Head_Hash, if hash partitioning is being done. |
Partitioned Area (Qdb_Qdbfsqpt_Part)
The Qdb_Qdbfsqpt_Part section is located with the offset Qdbfsqpt_Part_Offset. This structure exists only if the file is a partitioned table. The repeating structure (Qdb_Qdbfsqpt_Part) can be located with the Qdb_Qdbfsqpt_Part_Len value.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfsqpt_Part_Len | Total length, in bytes, of this partition area. This includes all other partition key areas. Use this length to get to the next partition area. | |
4 | 4 | BINARY(4) | Qdbfsqpt_Part_DSN | Partition data space number. | |
8 | 8 | BINARY(4) | Qdbfsqpt_Part_Num | Partition number. | |
12 | 0C | BINARY(4) | Qdbfsqpt_Pname_Len | The length of the partition name. | |
16 | 10 | CHAR(128) | Qdbfsqpt_Pname | The partition name. | |
144 | 90 | CHAR(80) | Qdbfsqpt_Mbr_Reserved80 | Reserved. | |
224 | E0 | BINARY(4) | Qdbfsqpt_Num_Keys | The number of partition range keys. | |
228 | E4 | BINARY(4) | Qdbfsqpt_Range_Offset | The offset to the first partition range key area for this partition. If hash partitioning is being done, this value will not be set. This is from the start of the Partitioned Area, Qdb_Qdbfsqpt_Part, to the Qdb_Qdbfsqpt_Range. | |
232 | E8 | CHAR(8) | Qdbfsqpt_Reserved_8 | Reserved. | |
240 | F0 | CHAR(*) | Partition range key area Qdb_Qdbfsqpt_Range, for this partitioned table. This entry repeats for the number of partition range keys. |
Partition Range Key Area (Qdb_Qdbfsqpt_Range)
The Qdb_Qdbfsqpt_Range section is located with the offset Qdbfsqpt_Range_Offset. This structure exists only if the file is a partitioned table that has range partitioning. Use Qdbfsqpt_Range_Len to get to the next entry.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfsqpt_Range_Len | Total length, in bytes, of this partition range key area. | |
4 | 4 | CHAR(12) | Qdbfsqpt_Reserved12 | Reserved. | |
16 | 10 | CHAR(10) | Qdbfsqpt_Range_Key | Partition range key name. | |
26 | 1A | BINARY(2) | Qdbfsqpt_Range_Reserved | Reserved. | |
28 | 1C | CHAR(1) | Qdbfsqpt_Rmin | Partition range key start value minimum.
|
|
29 | 1D | CHAR(1) | Qdbfsqpt_Rmax | Partition range key end value maximum.
|
|
30 | 1E | CHAR(1) | Qdbfsqpt_Rsin | Partition range key start value inclusive.
|
|
31 | 1F | CHAR(1) | Qdbfsqpt_Rein | Partition range key end value inclusive.
|
|
32 | 20 | CHAR(15) | Qdbfsqpt_reserved15 | Reserved. | |
47 | 2F | CHAR(1) | Qdbfsqpt_Rnull | Partition range key value can include nulls.
|
|
48 | 30 | BINARY(4) | Qdbfsqpt_Rslen | Length in bytes of the starting partition range key value string. | |
52 | 34 | BINARY(4) | Qdbfsqpt_Relen | Length in bytes of the ending partition range key value string. | |
56 | 38 | BINARY(4) | Qdbfsqpt_Rstart_Offset | The offset to the starting partition range key value string. This is from the start of Qdb_Qdbfsqpt_Range. | |
60 | 3C | BINARY(4) | Qdbfsqpt_Rend_Offset | The offset to the ending partition range key value string. This is from the start of Qdb_Qdbfsqpt_Range. | |
64 | 40 | CHAR(14) | Qdbfsqpt_Reserved14 | Reserved. | |
78 | 4E | BINARY(2) | Qdbfsqpt_Rccsid | Coded character set identifier (CCSID) for the start and end strings. | |
80 | 50 | CHAR(*) | Start value string and end value string for this partition range key. |
Partition Header Hash Key Area (Qdb_Qdbfsqpt_Head_Hash)
The Qdb_Qdbfsqpt_Head_Hash is the header area for the hash keys. It is located with the offset Qdbfsqpt_Hk_Offset. This structure exists only if the file is a partitioned table that has hash partitioning.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfsqpt_Head_Hash_Len | Length, in bytes, of the partition header hash key area.This includes the total length of all hash key entries. | |
4 | 4 | BINARY(4) | Qdbfsqpt_Head_Num_Keys | Total number of hash keys. | |
8 | 8 | CHAR(56) | Head_Reserved_56 | Reserved. | |
64 | 40 | Array of CHAR(32) | Qdbfsqpt_hash | Key name array. |
Partition Hash Key Area (Qdb_Qdbfsqpt_Hash)
The Qdb_Qdbfsqpt_Hash section repeats for the number of partition hash keys, Qdbfsqpt_Head_Num_Keys. It follows Qdb_Qdbfsqpt_Head_Hash.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(10) | Qdbfsqpt_Hash_Key | Partition hash key name. | |
10 | 0A | CHAR(22) | Hash_Reserved_22 | Reserved. |
Temporal Table Information (Qdb_Qdbfptemp_Head)
The Qdb_Qdbfptemp_Head section is located with the offset Qdbfoff_temporal. This structure exists only if the table has periods or this file is a history table.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfptemp_Len_Sum | Total length, in bytes, of the area. | |
4 | 4 | BINARY(4) | Qdbfptemp_Sys_Offset | Offset from the start of the Temporal Table Information section, Qdb_Qdbfptemp_Head, to the System-Period Temporal Table Information section, Qdb_Qdbfptemp_Sys_Period. | |
8 | 8 | BINARY(4) | Qdbfptemp_Hist_Offset | Offset from the start of the Temporal Table Information section, Qdb_Qdbfptemp_Head, to the History Table Information section, Qdb_Qdbfptemp_Hist_Table. |
System-Period Temporal Table Information (Qdb_Qdbfptemp_Sys_Period)
The Qdb_Qdbfptemp_Sys_Period section is located with the offset Qdbfptemp_Sys_Offset.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BIN(2) | Qdbfptemp_Sys_Name_Len | Length of the system-period name. | |
2 | 2 | CHAR(128) | Qdbfptemp_Sys_Name | The system-period name. | |
130 | 82 | CHAR(1) | Qdbfptemp_Sys_State | System-period temporal table state.
|
|
131 | 83 | CHAR(1) | Qdbfptemp_Sys_Audit | On delete add row with generated columns.
|
|
132 | 84 | CHAR(10) | Qdbfptemp_Sys_Hist | History table name. | |
142 | 8E | CHAR(10) | Qdbfptemp_Sys_Hlib | History table library name. | |
152 | 98 | CHAR(10) | Qdbfptemp_Sys_Begin | System-period temporal table begin row column name. | |
162 | A2 | CHAR(10) | Qdbfptemp_Sys_End | System-period temporal table end row column name. |
History Table Information (Qdb_Qdbfptemp_Hist_Table)
The Qdb_Qdbfptemp_Hist_Table section is located with the offset Qdbfptemp_Hist_Offset.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(1) | Qdbfptemp_Hist_State | History table state.
|
|
1 | 1 | CHAR(10) | Qdbfptemp_Hist_Sys | Temporal table name. | |
11 | B | CHAR(10) | Qdbfptemp_Hist_Slib | Temporal table library name. |
Alternative Collating Sequence Table (Qdb_Qdbfacs)
The Qdb_Qdbfacs section can be located with the offset Qdbfocs in the FDT header section, Qdb_Qdbfh. This section is also referred to as the Sort Sequence Table. A sort sequence table can be either single-byte or UCS-2. If the UCS-2 table length, Qdbf_UCS2_Srtseq_Len, is non-zero, then it is a UCS-2 sort sequence table and the single-byte table, Qdbfacst, will be cleared.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(256) | Qdbfacst | Alternative collating sequence table or single-byte sort sequence (ALTSEQ/STRSEQ) table. | |
256 | 100 | BINARY(2) | Qdbfccsd | Coded character set identifier (CCSID) for the single-byte table. | |
258 | 102 | CHAR(20) | qdbfsrts | Sort sequence table. | |
258 | 102 | CHAR(10) | Qdbftbln | Sort sequence table name. | |
268 | 10C | CHAR(10) | Qdbftbll | Sort sequence table library name. | |
278 | 116 | CHAR(1) | Qdbfsrtf | Sort sequence table attributes. | |
278 | 116 | 0 | BIT(1) | Qdbfwght | Sort sequence table weight indicator for the single-byte table. If on, indicates the sort sequence table is unique weighted. If off, it is share weighted. |
278 | 116 | 1 | BIT(1) | Qdbfsubc | Sort sequence table substitution character indicator for the single-byte table. If on, indicates the sort sequence table has substitution character. |
278 | 116 | 2 | BIT(1) | Qdbf_UCS2_Wght | Sort sequence table weight indicator for the UCS-2 table. If on, indicates the sort sequence table is unique weighted. If off, it is share weighted. |
278 | 116 | 3 | BIT(5) | Reserved_104 | Reserved. |
279 | 117 | BINARY(4) |
Qdbf_UCS2_Srtseq_Len
|
Length of the UCS-2 sort sequence table, Qdbf_UCS2_Srtseq, in bytes. | |
283 | 11B | BINARY(2) | Qdbf_UCS2_Ccsd | Coded character set identifier (CCSID) for the UCS-2 table. | |
285 | 11D | CHAR(19) | Reserved_101 | Reserved. | |
304 | 130 | CHAR(*) |
Qdbf_UCS2_Srtseq
|
UCS-2 sort sequence table. The table exists if the length, Qdbf_UCS2_Srtseq_Len, is greater than zero. |
IDDU/SQL Data Dictionary Area (Qdb_Qdbfdic)
The Qdb_Qdbfdic section can be located with offset Qdbfodic in the FDT header section, Qdb_Qdbfh.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(1) | Qdbfdilk | Data dictionary link status.
|
|
1 | 1 | CHAR(10) | Qdbfinm | Data dictionary library name. | |
11 | B | CHAR(10) | Qdbfifd | Data dictionary file definition name. | |
21 | 15 | CHAR(11) | Qdbfdiid | Data dictionary internal file definition identifier. This field maps to ZONED(11,0). | |
32 | 20 | CHAR(4) | Reserved_46 | Reserved. | |
36 | 24 | BINARY(4) | Qdbfdicl | Data dictionary file definition comment length. | |
40 | 28 | BINARY(2) | Qdbfdicc | Data dictionary file definition comment CCSID.
|
|
42 | 2A | BINARY(4) | Qdbfolng | Offset from the start of the FDT header, Qdb_Qdbfh, to the SQL long/alias file names area, Qdb_Qdbflngn. | |
46 | 2E | BINARY(2) | Qdbflnnum | Number of long/alias file names for the file. | |
48 | 30 | CHAR(16) | Reserved_47 | Reserved. | |
64 | 40 | CHAR(*) | Qdbfdict | Data dictionary file definition comment text. |
SQL Long/Alias File Name Area (Qdb_Qdbflngn)
The SQL long/alias file name area contains the files alternate names that can be used to access the file when using the system's SQL interfaces. You can locate the Qdb_Qdbflngn section with the offset Qdbfolng in the IDDU/SQL Data Dictionary Area section.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(2) | Qdbflnel | Long/alias file name entry length in bytes. The length of this entry. This is also the offset from Qdbflnen to the next long/alias entry. | |
2 | 2 | CHAR(1) | Qdbflnfl | Long/alias file name flags. | |
2 | 2 | 0 | BIT(1) | Qdbflndl | Long/alias file name input delimited indicator. If on, indicates the long/alias file name was delimited when input. |
2 | 2 | 1 | BIT(7) | Reserved_111 | Reserved |
3 | 3 | BINARY(2) | Qdbflnlg | Long/alias file name (non-delimited) length. | |
5 | 5 | CHAR(11) | Reserved_112 | Reserved. | |
16 | 10 | CHAR(*) | Qdbflnam | Long/alias file name (non-delimited). |
File Scope Array (Qdb_Qdbfb)
A file scope array, Qdb_Qdbfb, is present for all database files. The number of data members, Qdbflbnum, contains the number of file scope array entries. Each entry contains a based on physical file name and, optionally, a record format name.
Externally described physical files have one entry that names the physical file record format. The entry's file name portion is not used.
Program described physical files have one entry for each data dictionary record format. The entry names the data dictionary record format. The entry's file name portion is not used.
Non-join logical files have one entry for each based on physical file. The entry names the based on physical file and describes the logical file record format to use with that file.
Join logical files have one entry for each based on physical file. The entry names the based on physical file. Only the first entry describes the logical file record format.
SQL view logical files have one entry for each based on physical file. The entry names the based on physical file that will be either an externally described physical file or another view logical file. Only the first entry describes the logical file record format.
The Qdb_Qdbfb section can be located with the offset Qdbfos in the FDT header section, Qdb_Qdbfh.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(48) | Reserved_48 | Reserved. | |
48 | 30 | CHAR(10) | Qdbfbf | Based on physical file name. | |
58 | 3A | CHAR(10) | Qdbfbfl | Based on physical file library name. | |
68 | 44 | CHAR(10) | Qdbft | Record format name. | |
78 | 4E | CHAR(37) | Reserved_49 | Reserved. | |
115 | 73 | BINARY(2) | Qdbfbgky | Record format generic key field count, 0 through 120. If this file has an arrival sequence access path, this field is not applicable. | |
117 | 75 | CHAR(2) | Reserved_50 | Reserved. | |
119 | 77 | BINARY(2) | Qdbfblky | Record format maximum key length, 1 through 2000. If this file has an arrival sequence access path, this field is not applicable. | |
121 | 79 | CHAR(2) | Reserved_51 | Reserved. | |
123 | 7B | BINARY(2) | Qdbffogl | Record format generic key length, 1 through 2000. If this file has an arrival sequence access path, this field is not applicable. | |
125 | 7D | CHAR(3) | Reserved_52 | Reserved. | |
128 | 80 | BINARY(2) | Qdbfsoon | Number of select/omit statements, 1 through 32,767. | |
130 | 82 | BINARY(4) | Qdbfsoof | Offset from the start of the FDT header, Qdb_Qdbfh, to the select/omit specification array, Qdb_Qdbfss. | |
134 | 86 | BINARY(4) | Qdbfksof | Offset from the start of the FDT header, Qdb_Qdbfh, to the key specification array, Qdb_Qdbfk. | |
138 | 8A | BINARY(2) | Qdbfkyct | Record format full key field count, 0 through 120. If this file has an arrival sequence access path, this field is not applicable. | |
140 | 8C | BINARY(2) | Qdbfgenf | Generic key field count for all record formats with this record format name, 0 through 120. If this file has an arrival sequence access path, this field is not applicable. | |
142 | 8E | BINARY(4) | Qdbfodis | Offset from the start of the FDT header, Qdb_Qdbfh to the Distributed File Definition Section and Partition Key Array, Qdb_Qdbf_dis_pkeyarr. | |
146 | 92 | CHAR(14) | Reserved_53 | Reserved. |
Select/Omit Specification Array (Qdb_Qdbfss)
The select/omit specification array ( Qdb_Qdbfss) entries describe the record format fields to which the select/omit statement refer.
Non-join logical files can have one select/omit specification array for each file scope array entry.
Join logical files can have only one select/omit specification array. The first scope array entry for the join logical file contains the offset to the select/omit specification array.
The section Qdb_Qdbfss can be located with the offset Qdbfsoof in the File Scope Array section, Qdb_Qdbfb.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(2) | Reserved_54 | Reserved. | |
2 | 2 | CHAR(1) | Qdbfssso | Select/omit statement rule.
|
|
3 | 3 | CHAR(2) | Qdbfssop | Select/omit statement comparison (ALL COMP
VALUES)
|
|
5 | 5 | CHAR(10) | Qdbfssfn | Select/omit statement field name. | |
15 | F | BINARY(2) | Qdbfsspnum | Number of select/omit statement parameters, 1 through 32,767. | |
17 | 11 | CHAR(1) | Qsosaf | Select/omit statement attribute flags. | |
17 | 11 | 0 | BIT(7) | Reserved_55 | Reserved. |
17 | 11 | 7 | BIT(1) | Qdbfssfi | Select/omit statement external or internal name indicator. If on, indicates the statement is field name is an external record format name. |
18 | 12 | BINARY(2) | Qdbfssfj | Select/omit statement join reference number (JREF), 1 through 256. If this is not a join logical file, this field is not applicable. | |
20 | 14 | CHAR(8) | Reserved_56 | Reserved. | |
28 | 1C | BINARY(4) | Qdbfsoso | Offset from the start of the FDT header, Qdb_Qdbfh, to the select/omit parameters, Qdb_Qdbfsp, for this select/omit statement. |
Select/Omit Parameters (Qdb_Qdbfsp)
The Qdb_Qdbfsp section is a linked list of parameter descriptions. It describes the parameter values for this particular select/omit statement. The parameters are either a compare value or another record format field.
The Qdb_Qdbfsp section can be located with the offset Qdbfsoso in the Select/Omit Specification Array section, Qdb_Qdbfss.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qdbfspno | Offset from the start of the FDT header, Qdb_Qdbfh, to the next select/omit parameter for this select/omit statement. | |
4 | 4 | BINARY(2) | Qdbfspln | Select/omit parameter length, 1 through 32,767. | |
6 | 6 | CHAR(1) | Qdbfspin | Select/omit parameter attribute indicator.
|
|
7 | 7 | CHAR(1) | Qasopaf | Select/omit attribute flags. | |
7 | 7 | 0 | BIT(1) | Qdbfsigc | Double-byte character set (DBCS) and/or graphic data indicator. If on, indicates the non-field compare value contains DBCS or graphic data. |
7 | 7 | 1 | BIT(1) | Qdbfshex | Hexadecimal data indicator. If on, indicates the non-field compare value is hexadecimal data. |
7 | 7 | 2 | BIT(1) | Qdbfsnul | Null value indicator. If on, indicates the non-field compare value is the null value. |
7 | 7 | 3 | BIT(5) | Reserved_57 | Reserved. |
8 | 8 | BINARY(2) | Qdbfsppj | Select/omit parameter join reference number (JREF), 1 through 256. This field is not applicable if this file is not a join logical file or the compare value is a non-field value. | |
10 | A | CHAR(10) | Reserved_58 | Reserved. | |
20 | 14 | CHAR(*) | Qdbfspvl | Select/omit parameter compare value or the record format field name. This is the compare value when Qdbfspin contains X'00'. This is the record format field name when Qdbfspin contains X'01' or X'02'. If this value is a decimal or zoned field, the decimal point is not returned. |
Key Specification Array (Qdb_Qdbfk)
The key specification array (Qdb_Qdbfk) entries describe the record format fields used in defining the file access path.
Non-join logical files can have one key specification array for each file scope array entry.
Join logical files can have only one key specification array. The first scope array entry for the join logical file contains the offset to the file's Key Specification Array section.
The Qdb_Qdbfk section can be located with the offset (Qdbfksof) in the File Scope Array section, Qdb_Qdbfb.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(10) | Qdbfkfld | Key statement field name. X'40's indicate the key statement is a *NONE key field. | |
10 | A | CHAR(3) | Reserved_59 | Reserved. | |
13 | D | CHAR(1) | Qdbfksq | Key statement sequencing attribute flags. | |
13 | D | 0 | BIT(1) | Qdbfksad | Ascending/descending sequence indicator. If on, indicates the descending sequence (*DESCEND). |
13 | D | 1 | BIT(2) | Qdbfksn | Numeric key field sequencing indicators.
|
13 | D | 3 | BIT(1) | Reserved_60 | Reserved. |
13 | D | 4 | BIT(1) | Qdbfksac | Alternate collating sequence indicator (ALTSEQ). If on, indicates the alternate collating sequence table applies to this key field. |
13 | D | 5 | BIT(1) | Qdbfkszf | Force zone sequencing indicator. If on, indicates the zone portion of the key field is zeroed so only the digit portion (furthest right four bits) is used in key sequencing (DIGIT). If off, the zone portion is not zeroed. |
13 | D | 6 | BIT(1) | Qdbfksdf | Force digit sequencing indicator. If on, indicates the digit portion of the key field is zeroed so only the zone portion (furthest left four bits) is used in key sequencing (ZONE). If off, the digit portion is not zeroed. |
13 | D | 7 | BIT(1) | Qdbfkft | Key statement external or internal name indicator. If on, indicates the field name is the external record format name. |
14 | E | CHAR(18) | Reserved_61 | Reserved. |
Distributed File Definition Section and Partition Key Array (Qdb_Qdbf_dis_pkeyarr)
The distributed file definition section and partition key array (Qdb_Qdbf_dis_pkeyarr) contains the node group name and library name for the distributed file and the record format fields used in defining the partition key for each scope entry.
The Qdb_Qdbf_dis_pkeyarr section can be located with the offset Qdbfodis in the File Scope Array section, Qdb_Qdbfb.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(10) | Qdbf_dis_ndgpn | Distributed file node group name. | |
10 | A | CHAR(10) | Qdbf_dis_ndgpl | Distributed file node group library name. | |
20 | 14 | BINARY(4) | Qdbf_dis_nkyn | Number of partition key fields for this scope entry. | |
24 | 18 | CHAR(40) | Reserved_121 | Reserved. | |
64 | 40 | ARRAY of CHAR(32) | Qdbf_dis_pkeyarr | Distributed file partition key array. | |
64 | 40 | CHAR(10) | Qdbf_dis_kname | Partition key field name. | |
74 | 4A | CHAR(22) | Reserved_122 | Reserved. |
Journal Information (Qdb_Qdbfjoal)
The Qdb_Qdbfjoal section contains the journal information for the physical file. The Qdb_Qdbfjoal section can be located with offset Qdbfjorn in the FDT header section, Qdb_Qdbfh.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(10) | Qdbfojrn | Journal name. | |
10 | A | CHAR(10) | Qdbfolib | Journal library name. | |
20 | 14 | CHAR(1) | Qdbfojpt | Journaling options. | |
20 | 14 | 0 | BIT(1) | Reserved_106 | Reserved. |
20 | 14 | 1 | BIT(1) | Qdbfjbim | Before image indicator. If on, indicates the before images are being journaled. |
20 | 14 | 2 | BIT(1) | Qdbfjaim | After image indicator. If on, indicates the after images are being journaled. |
20 | 14 | 3 | BIT(1) | Reserved_107 | Reserved. |
20 | 14 | 4 | BIT(1) | Qdbfjomt | Omit journal entries indicator. If on, indicates the open and close entries are being omitted from the journal. |
20 | 14 | 5 | BIT(3) | Reserved_108 | Reserved. |
21 | 15 | CHAR(1) | Qdbfjact | Journaling options.
|
|
22 | 17 | CHAR(13) | Qdbfljrn | Last journaling date stamp. This is the date that corresponds to the most recent time that journaling was started. The date is in internal standard format (ISF), CYYMMDDHHMMSS. | |
35 | 23 | CHAR(29) | Reserved_105 | Reserved. |
FILD0200 Format (Qdb_Qddfmt Structure)
FILD0200 provides the format used by the records of the specified file. This structure is also used by the QQQQRY API to get data from the named file. FILD0200 Format shows how this information is organized. When more than one entry can appear, the figure indicates this as in (6). Descriptions and offsets of the fields in this structure are in the tables immediately following FILD0200 Format.
The descriptions and offsets are available in the include source supplied on the system. You can see this source in source file H, member name QDBRTVFD, in the QSYSINC library.
FILD0200 Format
Format Definition Header (Qdb_Qddfmt)
The Qdb_Qddfmt section is always located at the beginning of the returned data area.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qddbyrtn | Bytes returned. The total length, in bytes, of the data returned. | |
4 | 4 | BINARY(4) | Qddbyava | Bytes available. The total length, in bytes, of the format. | |
8 | 8 | CHAR(24) | Reserved_62 | Reserved. | |
32 | 20 | 0 | CHAR(1) | Qddfmtf | Record format DBCS flags. |
32 | 20 | 0 | BIT(1) | Qddfrity | Double byte character set and/or graphic data. If on, indicates the format contains DBCS or graphic data. |
32 | 20 | 1 | BIT(1) | Qddfrilt | Double byte character set and/or graphic literals. If on, indicates the format contains DBCS or graphic literals. |
32 | 20 | 2 | BIT(1) | Qddfritx | Double byte character set record format text description. If on, indicates the text description contains DBCS data. |
32 | 20 | 3 | BIT(1) | Qddfrmep | Mapping error possible. If on, indicates the format contains fields that may return mapping errors. |
32 | 20 | 4 | BIT(1) | Qddfrdrv | Derived fields (logical files only). If on, indicates the format contains fields derived from fields in the physical file on which the logical file is based, or from fields in this logical file. |
32 | 20 | 5 | BIT(1) | Qddfrni | Neither or input-only files (logical files only). If on, indicates the format contains fields that cannot be used for input or output operations, or fields that can be used for input operations only. |
32 | 20 | 6 | BIT(1) | Qddfrdfi | Default values (physical files only). If on, indicates the format contains fields with default values (DFT). |
32 | 20 | 7 | BIT(1) | Qddfcato | Concatenated fields (logical files only). If on, indicates the format contains fields that are concatenations of two or more fields from the physical file. |
33 | 21 | BINARY(4) | Qddfxlto | Offset from the start of the Qdb_Qddfmt header to the translate table specifications, Qddfxl. | |
37 | 25 | BINARY(4) | Qddfrcao | Offset from the start of the Qdb_Qddfmt header to the case selection specifications, Qddfcsl. | |
41 | 29 | BINARY(4) | Qddfdico | Offset from the start of the Qdb_Qddfmt header to the IDDU/SQL dictionary format information, Qddfdic . | |
45 | 2D | BINARY(2) | Qddfrcid | Common coded character set identifier. Before using this field, see if Qddfrsid is zero. If it is zero, not all character fields in the format use the same CCSID and this field is not valid. | |
47 | 2F | BINARY(2) | Qddfsrcd | Source file coded character set identifier. The CCSID for the character portion of the source file containing the DDS used to create the format. This CCSID should also be used for the Qddfdtxt field. | |
49 | 31 | BINARY(2) | Qddfrtcd | Format text coded character set identifier. The CCSID for the information about the text description. | |
51 | 33 | BINARY(2) | Qddfrlcd | Long comment coded character set identifier. The CCSID for the information about the format content and purpose. | |
53 | 35 | CHAR(7) | Reserved_64 | Reserved. | |
60 | 3C | CHAR(1) | Qddftflgs | Format flags. | |
60 | 3C | 0 | BIT(1) | Qddfr12 | Reserved. |
60 | 3C | 1 | BIT(1) | Qddfucsd | If on, the format contains UCS-2 fields. |
60 | 3C | 2 | BIT(1) | Qddfdlnk | If on, the format contains datalink fields. |
60 | 3C | 3 | BIT(1) | Qddfdudt | If on, the format contains user-defined type fields. |
60 | 3C | 4 | BIT(1) | Qddfdlob | If on, the format contains large object fields. |
60 | 3C | 5 | BIT(1) | Qddfutfd | If on, the format contains a UTF-8 or UTF-16 field. |
60 | 3C | 6 | BIT(2) | Reserved_114 | Reserved. |
61 | 3D | CHAR(1) | Qddflgs | Flags | |
61 | 3D | 0 | BIT(1) | Reserved_65 | Reserved. |
61 | 3D | 1 | BIT(1) | Qddfrvar | Variable length fields. If on, indicates the format contains variable length fields (VARLEN). |
61 | 3D | 2 | BIT(1) | Qddfrgph | Graphic fields. If on, indicates the format contains graphic data fields. |
61 | 3D | 3 | BIT(1) | Qddfrdtt | Date, time, or timestamp fields. If on, indicates the format contains data, time, or timestamp fields. |
61 | 3D | 4 | BIT(1) | Qddfrnul | Null capable fields. If on, indicates the format contains null capable fields. |
61 | 3D | 5 | BIT(1) | Qddfrsid | Common coded character set identifier flag. If on, indicates all character fields use the same CCSID. |
61 | 3D | 6 | BIT(1) | Qddfesid | Explicit coded character set identifier flag. If on, indicates a CCSID was specified for the format file or for one or more fields in the format. |
61 | 3D | 7 | BIT(1) | Reserved_66 | Reserved. |
62 | 3E | CHAR(4) | Reserved_67 | Reserved. | |
66 | 42 | BINARY(4) | Qddfrlen | Record length. The sum of the lengths of all format fields excluding neither fields. | |
70 | 46 | CHAR(10) | Qddfname | Record format name. | |
80 | 50 | CHAR(13) | Qddfseq | Level identifier. The modification level identifier of the format, used to verity the format has not changed since compile time, if LVLCHK(*YES) is requested. | |
93 | 5D | CHAR(50) | Qddftext | Text description (TEXT). | |
143 | 8F | BINARY(2) | Qddffldnum | Number of fields. The number of fields in the format. There is one field header for each field. | |
145 | 91 | BINARY(4) | Qddf_Identity_Off | Offset from the start of the Format header to the identity information, Qddfidcl. | |
256 | 100 | Array of CHAR(*) | Qddffldx | Start of field definition array (Qdb_Qddffld). |
Field Header (Qdb_Qddffld)
The Qdb_Qddffld section is located immediately after the Qdb_Qddfmt header. The number of entries in this structure is defined by variable Qddffldnum in the Qdb_Qddfmt header. This structure is to be defined at variable Qddffldx in the Qdb_Qddfmt header.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qddfdefl | Length of field header structure. The length of each occurrence of the field header structure, including all subsections. | |
4 | 4 | CHAR(30) | Qddffldi | Internal field name. The name of the physical format field. If this is a logical format, the name of the physical field on which the logical field is based. | |
34 | 22 | CHAR(30) | Qddfflde | External field name. If this is a logical format, the logical format field name. If this is a physical format, the internal name is a duplicate of Qddfflde. | |
64 | 40 | CHAR(2) | Qddfftyp | Data type.
|
|
66 | 42 | CHAR(1) | Qddffiob | Usage
|
|
67 | 43 | BINARY(4) | Qddffobo | Output buffer offset. The offset of this field from the start of the output buffer. | |
71 | 47 | BINARY(4) | Qddffibo | Input buffer offset. The offset of this field from the start of the input buffer. | |
75 | 4B | BINARY(2) | Qddffldb | Length. The length of the field. For character fields: the number of characters. For binary float fields: 4 for single, 8 for double. For decimal floating point fields: 8 for DECFLOAT(16), 16 for DECFLOAT(34). For variable length fields: the maximum the field can be plus 2. For date, time, or timestamp fields: the length of the formatted data. For graphic data fields: the number of bytes. For LOB fields: the number of bytes in the buffer. | |
77 | 4D | BINARY(2) | Qddffldd | Number of digits. The number of digits in the field. For numeric fields: the number of digits. For graphic data fields: the number of DBCS characters the field can contain. | |
79 | 4F | BINARY(2) | Qddffldp | Decimal positions. The number of position to the right of the decimal point. | |
81 | 51 | CHAR(1) | Qddffkbs | Keyboard shift (RESHIFT) The keyboard shift
attribute of the field.
|
|
82 | 52 | CHAR(1) | Qddffldst | Field status byte 1 | |
82 | 52 | 0 | BIT(1) | Qddffiat | Double-byte character set (DBCS) alternate type field. If on, indicates the alternate type for this field contains DBCS data. |
82 | 52 | 1 | BIT(1) | Qddffitx | Double-byte character set (DBCS) field text description. If on, indicates the text description contains DBCS data. |
82 | 52 | 2 | BIT(1) | Qddffich | Double-byte character set (DBCS) column headings. If on, indicates the column headings contains DBCS data. |
82 | 52 | 3 | BIT(1) | Qddffivc | Double-byte character set (DBCS) validity checking literals. If on, indicates the compare, range, or values literals contain DBCS data. |
82 | 52 | 4 | BIT(1) | Qddffrnd | Rounding. Rounding method for the field. If on, indicates round insignificant decimal digits. If off, indicates truncate insignificant decimal digits. |
82 | 52 | 5 | BIT(1) | Qddffcid | Character identifier flag. If on, indicates a character identifier was specified. |
82 | 52 | 6 | BIT(2) | Reserved_62 | Reserved. |
83 | 53 | BINARY(2) | Qddfjref | Join reference (JREF) (logical files only). For fields whose names are specified in more than one physical file, this values identifies which physical file contains the field. | |
85 | 55 | CHAR(1) | Qddffldst2 | Field status byte 2. | |
85 | 55 | 0 | BIT(1) | Qddffnul | Allow null value (ALWNULL). If on, indicates the null value is allowed for this field. |
85 | 55 | 1 | BIT(1) | Qddffdft | Column default value. If on, indicates the column does not have a default value. |
85 | 55 | 2 | BIT(1) | Qddffvar | If on, indicates the column is a variable field for a query format; Qddfvarx has meaning. |
85 | 55 | 3 | BIT(1) | Reserved_70 | Reserved. |
85 | 55 | 4 | BIT(1) | Qddffvln | If on, indicates the column is a variable length field. |
85 | 55 | 5 | BIT(3) | Reserved_70a | Reserved. |
86 | 56 | CHAR(1) | Qddflgs2 | Flags. | |
86 | 56 | 0 | BIT(1) | Qddfcorr | Correlated field. If on, indicates this is a correlated field. |
86 | 56 | 1 | BIT(1) | Qddffrrn | File relative record number. If on, indicates this is a relative record number field. |
86 | 56 | 2 | BIT(5) | Reserved_71 | Reserved. |
86 | 56 | 7 | BIT(1) | Qddffmep | Mapping errors possible. If on, indicates the field may return data mapping errors. |
87 | 57 | BINARY(2) | Qddfvarx | Variable field index. Index into the list of all variable field values for the query. | |
89 | 59 | CHAR(2) | Reserved_72 | Reserved. | |
91 | 5B | BINARY(2) | Qddflalc | Allocated length. The number of bytes allocated
for the field in the fixed portion of the file.
Or: Date/time/timestamp length. The number of bytes the based on field occupies. |
|
93 | 5D | CHAR(1) | Qddfdttf | Date format (DATFMT) or time format (TIMFMT),
depending on the use of the field. This field is not valid unless Qddfftyp is X'000B', X'000C', or X'000D' except for the following
cases. DATFMT and TIMFMT are valid on '0002'X type logical file fields having
based-on physical file fields that are '000B'X and '000C'X. DATFMT is valid
on '0003'X and '0004'X type logical file fields having based-on physical
file fields that are '000B'X. Some DATFMTs are valid only for the the '0002'X,
'0003'X, and '0004'X fields having based-on physical file '000B'X fields
and are identified (by pseudo date) below.
|
|
|
|||||
94 | 5E | CHAR(1) | Qddfdtts | Date separator (DATSEP) or Time separator (TIMSEP)
This field is not valid unless Qddfftyp is X'000B',
X'000C', or X'000D'.
|
|
95 | 5F | BINARY(2) | Qddfcsid | Common coded character set identifier (CCSID).
|
|
97 | 61 | BINARY(2) | Qddftsid | Text description common coded character set
identifier.
|
|
99 | 63 | BINARY(2) | Qddfhsid | Column heading common coded character set identifier.
|
|
101 | 65 | BINARY(2) | Qddflsid | Long comment common coded character set identifier.
|
|
103 | 67 | CHAR(1) | Qddfldur | Labeled duration. The type of labeled duration
this field defines.
|
|
104 | 68 | CHAR(1) | Qddfflgs | Flags. These flags indicate the user-specified value for the field at the time the format was created. These flags only apply to date, time, and timestamp fields. If the format was ever shared, these flags may not be applicable to the file for which the API was called. | |
104 | 68 | 0 | BIT(1) | Qdddatfmt_dft | If on, indicates DATFMT was defaulted. |
104 | 68 | 1 | BIT(1) | Qdddatfmt_job | If on, indicates DATFMT(*JOB) was specified. |
104 | 68 | 2 | BIT(1) | Qdddatsep_dft | If on, indicates DATSEP was defaulted. |
104 | 68 | 3 | BIT(1) | Qdddatsep_job | If on, indicates DATSEP(*JOB) was specified. |
104 | 68 | 4 | BIT(1) | Qddtimfmt_dft | If on, indicates TIMFMT was defaulted. |
104 | 68 | 5 | BIT(1) | Qddtimsep_dft | If on, indicates TIMSEP was defaulted. |
104 | 68 | 6 | BIT(1) | Qddtimsep_job | If on, indicates TIMSEP(*JOB) was specified. |
104 | 68 | 7 | BIT(1) | QddSAAfmt | SAA format was specified. |
105 | 69 | BINARY(2) | Qddfwsid | Edit word common coded character set identifier.
|
|
107 | 6B | 0 |
BIT(1) | Qddf_Row_Begin | If on, indicates the column is a Row Begin column. |
107 | 6B | 1 |
BIT(1) | Qddf_Row_End | If on, indicates the column is a Row End column. |
107 | 6B | 2 |
BIT(1) | Qddf_Tran_Start_Id | If on, indicates the column is a Transaction Start Identifier column. |
107 | 6B | 3 |
BIT(5) | Reserved_131 | Reserved. |
108 | 6C | CHAR(1) | Reserved_132 | Reserved. | |
109 | 6D | BIN(2) | Reserved_133 | Reserved. | |
111 | 6F | CHAR(1) | Qddflagco | Flags. | |
111 | 6F | 0 | BIT(3) | Reserved_134 | Reserved. |
111 | 6F | 3 | BIT(1) | Qddffucs | If on, indicates the column is a UCS-2 field. |
111 | 6F | 4 | BIT(1) | Qddfudt | If on, indicates the column is a user-defined type field. |
111 | 6F | 5 | BIT(1) | Qddf_Identity_Col | If on, indicates the column is an identity column. |
111 | 6F | 6 | BIT(1) | Qddf_Rowid_Col | If on, indicates the column is a row ID column. |
111 | 6F | 7 | BIT(1) | Qddfutf | If on, indicates the field is a UTF-8 or UTF-16 field. |
112 | 70 | CHAR(5) | Qdducs2co | UCS-2 Field Information | |
112 | 70 | BINARY(2) | Qddfdspl | Used with a UCS-2 field when the CCSID keyword modifies the display length. | |
114 | 72 | 0 | BIT(1) | Qddfucsp | When referenced by a printer file, indicates whether UCS-2 characters are to be converted before printing. If on, do not convert. |
114 | 72 | 1 | BIT(1) | Qddfucsm | Minimum-display-length-flag, when referenced by a display file. If on, Qddfdspl contains the number of display positions allowed equal to the field length defined in the DDS. |
114 | 72 | 2 | BIT(1) | Qddfucsl | Length-of-display-field_flag, when referenced by a display file. If on, the DDS for the field provided the allowed number of display positions. This number is in Qddfdspl. |
114 | 72 | 3 | BIT(1) | Qddf_Row_Change_Timestamp | If on, indicates the column is a Row Change Timestamp column. |
114 | 72 | 4 | BIT(1) | Qddf_Hidden_Column | If on, indicates the column is a Hidden Column. |
114 | 72 | 5 | BIT(1) | Qddf_Secure_Data | If on, indicates the column contains data of a secure nature (for example, a credit card number). |
114 | 72 | 6 | BIT(1) | Qddf_XML_Column | If on, indicates this LOB column is an XML Column. |
114 | 72 | 7 | BIT(1) | Reserved_130 | Reserved. |
115 | 73 | CHAR(2) | Qddfencode | Encoding scheme for field's CCSID. '0000'X means no encoding scheme. | |
117 | 75 | CHAR(1) | Qddf_Row_Change_Tmstmp_Generat | Row Change Timestamp GENERATE indicator. 1 = GENERATE BY DEFAULT. 0 = GENERATE ALWAYS. |
|
118 | 76 | CHAR(10) | Qddf_Fld_Proc_Program | Field Procedure program name. | |
128 | 80 | CHAR(10) | Qddf_Fld_Proc_Library | Field Procedure library name. | |
138 | 8A | BINARY(2) | Qddftspc | Timestamp precision. If used by the Query API (QQQQRY), this value should not be used and must be calculated from the timestamp length. | |
140 | 8C | CHAR(40) | Reserved_74 | Reserved. | |
180 | B4 | BINARY(4) | Qddfcplx | Offset from the start of the field header to the field information if the field was a user-defined type, datalink, or large object. See structure Qdb_Qddfcpli. | |
184 | B8 | BINARY(4) | Qddfbmaxl | Maximum length of the large object field. | |
188 | BC | BINARY(2) | Qddfbpadl | Pad length of the large object field. | |
190 | BE | BINARY(4) | Qddfdicd | Offset from the start of the field header to the IDDU/SQL dictionary field information, Qddfdicf. | |
194 | C2 | BINARY(4) | Qddfdftd | Offset from the start of the field header to the default value description, Qddfdft. | |
198 | C6 | BINARY(4) | Qddfderd | Offset from the start of the field header to the derived field description (or to the concatenated field description if its file is externally described), Qddfderv. | |
202 | CA | BINARY(4) | Qddfgen | Offset from the start of the field header to the Generated Expression Information section, Qdb_Qddfgen. | |
206 | CC | CHAR(2) | Reserved_75 | Reserved. | |
208 | D0 | BINARY(4) | Qddftxtd | Offset from the start of the field header to the field text description, Qddfftxt. | |
212 | D4 | CHAR(2) | Reserved_102 | Reserved. | |
214 | D6 | BINARY(4) | Qddfrefd | Offset from the start of the field header to the field reference information, Qddfrefi. | |
218 | DA | BINARY(2) | Qddfedtl | Length of the edit code/edit word information, Qddfedcw. | |
220 | DC | BINARY(4) | Qddfedtd | Offset from the start of the field header to the edit code/edit word information, Qddfedcw. | |
224 | E0 | BINARY(2) | Reserved_76 | Reserved. | |
226 | E2 | BINARY(4) | Qddfchd | Offset from the start of the field header to the column heading information, Qddfcolh. | |
230 | E6 | BINARY(2) | Qddfvckl | Length of validity checking data present for the field. | |
232 | E8 | BINARY(4) | Qddfvckd | Offset from the start of the field header to the validity checking data, Qddfvchk. | |
236 | EC | BINARY(4) | Qddfxals | Offset from the start of the field header to the alias name entry, Qdb_Qddfalis. | |
240 | F0 | BINARY(4) | Qddffpnd | Offset from the start of the field header to the field prompted numeric editing information, Qddfdfne. | |
244 | F4 | CHAR(8) | Reserved_77 | Reserved. | |
252 | FC | CHAR(*) | Qddfvpx | Start of the variable portion of the field description. |
Reference Information (Qdb_Qddfrefi)
The Qdb_Qddfrefi section can be located with the offset Qddfrefd in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(1) | Qddfrcde | Modification flags. | |
0 | 0 | 0 | BIT(1) | Qddfdupe | Modifications. If on, indicates the field has been modified. |
0 | 0 | 1 | BIT(1) | Qddfnmec | Name modification. If on, indicates the name of the field has been modified. |
0 | 0 | 2 | BIT(1) | Qddftypc | Data type modification. If on, indicates the data type of the field has been modified. |
0 | 0 | 3 | BIT(1) | Qddflenc | Field length modification. If on, indicates the length of the field has been modified. |
0 | 0 | 4 | BIT(1) | Qddfdecc | Precision modification. If on, indicates the precision of the field has been modified. |
0 | 0 | 5 | BIT(1) | Qddfedtc | Edit information modification. If on, indicates the edit information of the field has been modified. |
0 | 0 | 6 | BIT(1) | Qddfvc | Validity checking information modification. If on, indicates the validity checking information of the field has been modified. |
0 | 0 | 7 | BIT(1) | Qddfothr | Other modification. If on, indicates other information of the field has been modified. |
1 | 1 | CHAR(10) | Qddfrfil | Reference file name. | |
11 | B | CHAR(10) | Qddfrlib | Reference file library. | |
21 | 15 | CHAR(10) | Qddfrfmt | Referenced record format. | |
31 | 1F | CHAR(30) | Qddfrfld | Referenced field. | |
61 | 3D | CHAR(19) | Reserved_78 | Reserved. |
Field Prompted Numeric Editing Information (Qdb_Qddfdfne)
The Qdb_Qddfdfne section can be located with the offset Qddffpnd in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(2) | Reserved_80 | Reserved. | |
2 | 2 | CHAR(1) | Qddfddts | Date separator (DATSEP) or Time separator
(TIMSEP).
|
|
3 | 3 | CHAR(1) | Qddfddpc | Decimal point character. This field is not valid
unless Qddfddts contains X'00'.
|
|
4 | 4 | CHAR(1) | Qddfdtsc | Thousands separator character. This field is not
valid unless Qddfddts contains X'00'.
|
|
5 | 5 | CHAR(13) | Qnsi | Negative sign information. | |
5 | 5 | CHAR(1) | Qddfdnsc | Display negative sign. This field is not valid
unless Qddfddts contains X'00'.
|
|
6 | 6 | CHAR(6) | Qddfdnsl | Left negative sign value. This field is not valid unless Qddfddts contains X'00'. | |
12 | C | CHAR(6) | Qddfdnsr | Right negative sign value. This field is not valid unless Qddfddts contains X'00'. | |
18 | 12 | CHAR(13) | Qcsi | Currency symbol information. | |
18 | 12 | CHAR(1) | Qddfdcsv | Display currency symbol. This field is not valid
unless Qddfddts contains X'00'.
|
|
19 | 13 | CHAR(6) | Qddfdcsl | Left currency symbol value. This field is not valid unless Qddfddts contains X'00'. | |
25 | 19 | CHAR(6) | Qddfdcsr | Right currency symbol value. This field is not valid unless Qddfddts contains X'00'. | |
31 | 1F | CHAR(1) | Qddfdpzv | Print zero value. This field is not valid unless
Qddfddts contains X'00'.
|
|
32 | 20 | CHAR(1) | Qddfdrlz | Replace leading zeros. This field is not valid
unless Qddfddts contains X'00'.
|
|
33 | 21 | CHAR(1) | Qddfdrlv | Leading zero replacement value. This field is not
valid unless Qddfddts contains X'00'.
|
|
34 | 22 | CHAR(1) | Qddfdlzo | Single leading zero. This field is not valid
unless Qddfddts contains X'00'.
|
|
35 | 23 | CHAR(29) | Reserved_81 | Reserved. |
Edit Code/Edit Word Information (Qdb_Qddfedcw)
The Qdb_Qddfedcw section can be located with the offset Qddfedtd in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(2) | Qddfecdi | Edit code information. | |
0 | 0 | CHAR(1) | Qddfecde | Edit code (EDTCDE). Edit code for the field when it is referred to during display or print file creation. | |
1 | 1 | CHAR(1) | Qddfecdx | Floating currency symbol.
A currency symbol indicates the symbol displayed to the left the significant digits. |
|
2 | 2 | CHAR(14) | Reserved_79 | Reserved | |
16 | 10 | CHAR(*) | Qddfewd | Edit word (EDTWRD). The form in which the field values are displayed. |
Validity Checking Information (Qdb_Qddfvchk)
The Qdb_Qddfvchk section can be located with the offset Qddfvckd in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(2) | Qddfvcnume | Number of validity check entries. | |
2 | 2 | CHAR(14) | Reserved_82 | Reserved. | |
16 | 10 | CHAR(*) | Qddfvcen | Validity checking entry array. |
Validity Checking Entry (Qdb_Qddfvcst)
The first validity checking entry starts at Qddfvcen in the Validity Checking Information section, Qdb_Qddfvchk.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(1) | Qddfvccd | DDSI keyword identifier.
|
|
1 | 1 | BINARY(2) | Qddfvcnump | Number of parameters. | |
3 | 3 | BINARY(2) | Qddfvcel | Length of this validity checking entry. | |
5 | 5 | CHAR(11) | Reserved_83 | Reserved. | |
16 | 10 | CHAR(*) | Qddfvcpm | Validity checking parameter array. |
Validity Checking Parameter (Qdb_Qddfvcpr)
The first validity checking parameter starts at Qddfvcpm in the Validity Checking Entry section, Qdb_Qddfvcst.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(2) | Qddfvcpl | Length of validity checking parameter Qddfvcpv. | |
2 | 2 | CHAR(14) | Reserved_84 | Reserved. | |
16 | 10 | CHAR(*) | Qddfvcpv | Validity checking parameter value. |
Complex Object Field Type Information (Qdb_Qddfcpli)
The Qdb_Qddfcpli section can be located with the offset Qddfcplx in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qddflenu | Length of the user-defined type name. | |
4 | 4 | CHAR(128) | Qddfnudt | User-defined type name. | |
132 | 84 | CHAR(10) | Qddfludt | User-defined type library name. | |
142 | 8E | CHAR(1) | Qddfdlink | Link control.
|
|
143 | 8F | CHAR(1) | Qddfdinte | Link integrity. Linked files are under control of
the database if the field is a datalink.
|
|
144 | 90 | CHAR(2) | Qddfdrper | Read permission. The file system controls
authority to read a file if the field is a datalink.
|
|
146 | 92 | CHAR(2) | Qddfdwper | Write permission. The file system controls
authority to write to a file if the field is a datalink.
|
|
148 | 94 | CHAR(1) | Qddfdreco | Recovery. The database manager will recover the
file if the field is a datalink.
|
|
149 | 95 | CHAR(1) | Qddfdunlk | On unlink. The database manager will either
restore the file owner on an unlink, or delete the file when unlinking the
file.
|
|
150 | 96 | CHAR(10) | Reserved_150 | Reserved. |
Field Text (Qdb_Qddfftxt)
The Qdb_Qddfftxt section can be located with the offset Qddftxtd in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(50) | Qddfftxt | Text (TEXT). Text description of the field. |
Alias Name Structure (Qdb_Qddfalis)
The Qdb_Qddfalis section can be located with the offset Qddfxals in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(2) | Qddfalsl | Length of alternative name Qddfalsn. | |
2 | 2 | CHAR(14) | Reserved_85 | Reserved. | |
16 | 10 | CHAR(258) | Qddfalsn | Alternative name (ALIAS). |
Default Value Description Information (Qdb_Qddfdft)
The Qdb_Qddfdft section can be located with the offset Qddfdftd in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(2) | Qddfdftl | Length of default information. | |
2 | 2 | CHAR(1) | Qddfdfta | Default attributes. | |
2 | 2 | 0 | BIT(1) | Qddfdfig | DBCS or graphic default. If on, indicates the default is a DBCS or graphic literal. |
2 | 2 | 1 | BIT(1) | Qddfdfhx | Hex default. If on, indicates the default is a hexadecimal literal. |
2 | 2 | 2 | BIT(1) | Qddfndft | Null default. If on, indicates the default is null. |
2 | 2 | 3 | BIT(2) | Reserved_86 | Reserved. |
2 | 2 | 5 | BIT(1) | Qddfdcur | DATE, TIME, or TIMESTAMP default. On indicates the default is CURRENT_DATE, CURRENT_TIME, or CURRENT_TIMESTAMP. |
2 | 2 | 6 | BIT(1) | Reserved_109 | Reserved. |
2 | 2 | 7 | BIT(1) | Qddfdftk | DFT or DFTVAL keyword. If on, indicates the DFTVAL keyword was specified. |
3 | 3 | CHAR(13) | Reserved_87 | Reserved. | |
16 | 10 | CHAR(*) | Qddfdftv | Default (DFT) or (DFTVAL). A value of USER indicates that the default value for this field is the job's current user. |
Generated Expression Information (Qdb_Qddfgen)
The Qdb_Qddfgen section can be located with the offset Qddfgen in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(2) UNSIGNED | Qddf_GenExpr_Tot_Len | Total length of the Generated Expression Information section, Qdb_Qddfgen, including the length of the Generated Expression section, Qdb_Qddfgen_expression. | |
2 | 2 | CHAR(2) | Qddf_GenExpr_Reserved1 | Reserved. | |
4 | 4 | BINARY(2) UNSIGNED | Qdbf_GenExpr_Ccsid | CCSID of the generated expression in Qddf_GenExpression. | |
6 | 6 | BINARY(2) UNSIGNED | Qdbf_GenExpr_Name_Offset | Offset from the start of the Generated Expression Information section, Qdb_Qddfgen, to the start of the Generated Expression section, Qdb_Qddfgen_expression. | |
8 | 8 | 0 |
BIT(1) | Qddf_GenExpr_Data_Change | If on, indicates the generated expression is a data change operation. |
8 | 8 | 1 |
BIT(1) | Qddf_GenExpr_Special_Register | If on, indicates the generated expression is a special register. |
8 | 8 | 2 |
BIT(1) | Qddf_GenExpr_Global_Variable | If on, indicates the generated expression is a global varaible. |
8 | 8 | 3 | BIT(5) | Qddf_GenExpr_Reserved2 | Reserved. |
9 | 9 | CHAR(5) | Qddf_GenExpr_Reserved3 | Reserved. |
Generated Expression (Qdb_Qddfgen_expression)
The Qdb_Qddfgen_expression section can be located with the offset Qddf_GenExpr_Name_Offset in the Generated Expression Information section, Qdb_Qddfgen.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(2) UNSIGNED | Qddf_GenExpr_Len | Length of the generated expression Qddf_GenExpression. | |
2 | 2 | CHAR(*) | Qddf_GenExpression | Generated expression. |
Identity Column Information (Qdb_Qddfidcl)
The Qdb_Qddfidcl section can be located with the offset Qddf_Identity_Off in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(2) | Qddf_Id_Len | Length of IDENTITY information. | |
2 | 2 | DECIMAL(31,0) | Qddf_Id_Orig_Start_With | Original START WITH value. | |
18 | 12 | DECIMAL(31,0) | Qddf_Id_Curr_Start_With | Current START WITH value. | |
34 | 22 | BINARY(4) | Qddf_Id_Increment_By | INCREMENT BY value. | |
38 | 26 | DECIMAL(31,0) | Qddf_Id_Minimum | MINIMUM value. | |
54 | 36 | DECIMAL(31,0) | Qddf_Id_Maximum | MAXIMUM value. | |
70 | 46 | CHAR(1) | Qddf_Id_Cycle | CYCLE indicator. 1 = Cycling will occur. 0 = Cycling will not occur. |
|
71 | 47 | CHAR(1) | Qddf_Id_Order | ORDER mode indicator. 1 = Values are generated in order of request. 0 = Values do not need to be generated in order of request. |
|
72 | 48 | CHAR(1) | Qddf_Id_Generate | Identity GENERATE indicator. 1 = GENERATE BY DEFAULT. 0 = GENERATE ALWAYS. |
|
73 | 49 | BINARY(4) UNSIGNED | Qddf_Id_Curr_Cache | CACHE value. | |
77 | 4D | CHAR(1) | Qddf_Rowid_Generate | Rowid GENERATE indicator. 1 = GENERATE BY DEFAULT. 0 = GENERATE ALWAYS. |
|
78 | 4E | CHAR(53) | Qddf_Id_Reserved1 | Reserved. |
Derived Field Description Information
The derived field structure is a stack of operators and operands in postfix notation. Postfix notation is a method of forming mathematical expressions in which each operator is preceded by its operands and indicates the operation to be performed on the operands or the intermediate results that precede it. For example:
A + B would be: A B +
Numeric operands and character operands cannot be mixed in one derived field description. If numeric operands are specified, the resulting field attributes must be numeric. If character operands are specified, the resulting field attributes must be character or DBCS. Character and DBCS only fields cannot be mixed in one derived field description.
Substringing DBCS fields is allowed, although the data is treated as character data, that is, there is no true double-byte substring support. This applies to query formats only.
Derived Field Header (Qdb_Qddfderv)
The Qdb_Qddfderv section can be located with the offset Qddfderd in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qddfdvtl | Length of derived field information Qddfderv. | |
4 | 4 | BINARY(2) | Qddfdvnume | Number of derived field entries. 0 indicates it is a concatentated field. | |
6 | 6 | BINARY(4) | Qddfdvot | Offset from the start of this header to the derived field text (or to the concatenated field text), Qddfdvtx. | |
10 | A | CHAR(6) | * | Reserved. | |
16 | 10 | CHAR(*) | Qddfdven | Derived field entry. |
Derived Field Entry (Qdb_Qddfdvst)
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Qddfdvln | Length of derived field entry, Qddfdvst. | |
4 | 4 | BINARY(2) | Qddfdtyp | Derived field entry type.
|
|
6 | 6 | CHAR(*) | Qddfdv | The union of the Field operand (Qdddvof), Constant operand (Qddffvoc), and Operator entry (Qddfdvo). |
Field Operand Entry (Qdb_Qddfdvof)
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(30) | Qddfdvon | Field name. | |
30 | 1E | BINARY(2) | Qddfdvjr | Join reference (JREF). Relative file number of
the physical file containing the external file referenced.
|
|
32 | 20 | BINARY(2) | Qddfdv01 | Starting position. The starting position in the field of the substring (SST) specified. | |
34 | 22 | BINARY(2) | Qddfdvo2 | Ending position. The ending position in the field of the substring (SST) specified. | |
36 | 24 | BINARY(2) | Qddfqdtnum | Qdt from which this correlated field originates (only applicable for SQL subqueries. | |
38 | 26 | CHAR(1) | Reserved_502 | Reserved. | |
39 | 27 | CHAR(1) | Reserved_503 | Reserved. | |
40 | 28 | CHAR(1) | Qdb_fldf | Field attributes. | |
40 | 28 | 0 | BIT(2) | Reserved_504 | Reserved. |
40 | 28 | 2 | BIT(1) | Qdbf_sqli_idx_udf | Derived field uses a user defined UDF. If on, this field uses a user defined UDF. |
40 | 28 | 5 | BIT(5) | Reserved_505 | Reserved. |
41 | 29 | CHAR(17) | * | Reserved. |
Constant Operand Entry (Qdb_Qddfdvoc)
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | * | Qddfdvoh | Constant operand header. | |
0 | 0 | BINARY(4) | Qddfdvol | Length of constant Qddfdvov. | |
4 | 4 | CHAR(1) | Qca | Constant attributes. | |
4 | 4 | 0 | BIT(1) | Qddfdvci | DBCS constant. If on, indicates the constant is a DBCS-open literal. |
4 | 4 | 1 | BIT(1) | Reserved_90 | Reserved. |
4 | 4 | 2 | BIT(1) | Qddfdvcc | Character constant type. If on, indicates the constant is an unquoted character string not bracketed by single quotes. Imbedded quotes are represented with a single quote. If off, indicates it is quoted, bracketed by single quotes. Imbedded quotes are represented with two single quotes. |
4 | 4 | 3 | BIT(1) | Qddfdvac | Assume character constant. If on, indicates the system assumes this is a character constant. |
4 | 4 | 4 | BIT(1) | Qddfdvco | DBCS-only literal. If on, indicates the constant
is a DBCS-only literal.
This attribute is not valid if the DBCS constant attribute, Qddfdvci, is off. |
4 | 4 | 5 | BIT(1) | Qddfdvsr | Special register. If on, indicates this constant is a special register defined by Qddfdvrc. |
4 | 4 | 6 | BIT(1) | Qddfdvnl | Null indicator. If on, indicates the constant is a null literal. |
4 | 4 | 7 | BIT(1) | Reserved_91 | Reserved. |
5 | 5 | CHAR(1) | Qddfdvrc | Special register constant. Defined by special register constants, can only be specified if Qddfdvsr is on. | |
6 | 6 | CHAR(1) | Qddfdvft | Date constant format (DATFMT) or Time constant
format (TIMFMT)
|
|
7 | 7 | CHAR(1) | Qddfdvsp | Date constant separator (DATSEP) or Time constant
separator (TIMSEP)
|
|
8 | 8 | CHAR(2) | Reserved_92 | Reserved. | |
10 | A | BINARY(2) | Qddfdvcd | Constant coded character set identifier (CCSID). | |
13 | C | CHAR(1) | Qddfcflg | Constant flags. | |
13 | C | 0 | BIT(2) | Reserved_93 | Reserved. |
13 | C | 2 | BIT(1) | Qddfglit | Graphics literal. If on, indicates this is a graphics literal. |
13 | C | 3 | BIT(5) | Reserved_94 | Reserved. |
14 | E | CHAR(29) | Reserved_95 | Reserved. | |
43 | 2B | CHAR(*) | Qddfdvov | Derived constant. The external form of the constant. |
Operator Entry (Qdb_Qddfdvo)
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(1) | Qddfdvop | Derived operator.
Operators requiring three operands:
|
|
Operators requiring two operands:
|
|||||
Operators requiring one operand:
|
|||||
Operators requiring one operand continued:
|
|||||
Label duration operators:
|
|||||
Operators requiring one to many
operands:
|
|||||
Operators requiring two to many
operands:
|
|||||
Operators requiring one or two
operands:
|
|||||
Group by operators: All require
one operand except count that requires one or two.
|
|||||
1 | 1 | CHAR(2) | Qddfdvxnum | Translate table index or case selection specification index. This field is valid only if Qddfdvop is X'OB' or X'3E'. | |
1 | 1 | CHAR(1) | Qddfdvdtfmt | Operator date format index. | |
1 | 1 | CHAR(1) | Qddfdvdtsep | Operator date separator index. | |
3 | 3 | CHAR(1) | Qddfdvfm | Operator date format (DATFMT) or Operator time
format (TIMFMT).
|
|
4 | 4 | CHAR(1) | Qddfdvsa | Operator date separator (DATSEP) or Operator time
separator (TIMSEP)
|
|
5 | 5 | BINARY(2) | Qddfdvno | Number of operands. | |
7 | 7 | CHAR(1) | Qoa | Operator attributes. | |
7 | 7 | 0 | BIT(1) | Reserved_96 | Reserved. |
7 | 7 | 1 | BIT(1) | Qddfdvdttm | Operator date format and separator source. If on, indicates Qddfdvdtfmt and Qddfdvdtsep are used as the date format and separator with the CHAR operator. Qddfdvfm and Qddfdvsa are used as the time format and separator with the CHAR operator. |
7 | 7 | 2 | BIT(1) | Reserved_n | Reserved. |
7 | 7 | 3 | BIT(1) | Qddfdvdf | Group operators. If on, do not include duplicate field values in group by operation. If off, include duplicate field values in group by operation. |
7 | 7 | 4 | BIT(1) | Reserved_97 | Reserved. |
7 | 7 | 5 | BIT(1) | Qddffunc_char | Number of characters option. If on, the result of the operator is based on the number of characters. If off, the result of the operator is based on the number of bytes. This field is only applicable when Qddfdvop is POSSTR(X'41'), LENGTH(X'23'), or SUBSTRING(X'27). |
7 | 7 | 6 | BIT(2) | Reserved_115 | Reserved. |
8 | 8 | CHAR(2) | Reserved_98 | Reserved. | |
10 | A | CHAR(1) | Qddfd_decptchar | The character to use for the decimal point. Only applicable if Qddfdvop is a CAST(X'3D') and one of the operands is numeric and the other is character, or if Qddfdvop is a CHAR(X'86') and the first operand is packed decimal. | |
11 | B | BIN(4) | Qddfdo_func_def | Offset from the beginning of this derived field entry (Qdb_Qddfdvst) to the Function Name Specification section, Qddfunc_def . If this offset is specified, then the function is resolved to using the name in the Function Name Specification section. If the Function Name Specification section is specified, all entries in this operator section are ignored except for the number of operands for the function, Qddfdvno, which is required to be set, and the duplicate field values indicator, Qddfdvdf, which can be optionally set. decimal. | |
15 | F | CHAR(11) | Reserved_101 | Reserved. |
Derived Field Text Information (Qdb_Qddfdvtx)
The Qdb_Qddfdvtx section can be located with the offset Qddfdvot in the Derived Field Header section, Qdb_Qddfderv.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(2) | Qddfdvlt | Length of derived field text information or concatenated field text information. | |
2 | 2 | CHAR(*) | Qddfdtxt | Derived field text description or concatenated field text description. |
Column Heading Information (Qdb_Qddfcolh)
The Qdb_Qddfcolh section can be located with the offset Qddfchd in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(20) | Qddfch1 | Column heading #1. The first column heading specified on the COLHDG DDS keyword without the quotes. | |
20 | 14 | CHAR(20) | Qddfch2 | Column heading #2. The second column heading specified on the COLHDG DDS keyword without the quotes. | |
40 | 28 | CHAR(20) | Qddfch3 | Column heading #3. The third column heading specified on the COLHDG DDS keyword without the quotes. |
IDDU/SQL Dictionary Format Information (Qdb_Qddfdic)
The Qdb_Qddfdic section can be located with the offset Qddfdico in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(32) | Reserved_100 | Reserved. | |
32 | 20 | Qddfdicm | Format definition long comment information. | ||
32 | 20 | BINARY(2) | Qddfdilt | Length of format definition long comment information, Qddfdicm. | |
34 | 22 | CHAR(*) | Qddfditx | Format definition long comment. |
IDDU/SQL Dictionary Field Information (Qdb_Qddfdicf)
The Qdb_Qddfdicf section can be located with the offset Qddfdicd located in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(16) | * | Reserved. | |
16 | 10 | Qddfdfco | Field definition long comment. | ||
16 | 10 | BINARY(2) | Qddffcl | Length of field definition long comment Qddfdfco. | |
18 | 12 | CHAR(*) | Qddfdfct | Field definition comment text. |
Translate Table Specification (Qdb_Qddfxl)
The Qdb_Qddfxl section can be located with the offset Qddfxlto in the Field Header section, Qdb_Qddffld.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(2) | Qddfxlnum | Number of elements in the translate table array. | |
2 | 2 | Qddfxarr | Translate table array. | ||
2 | 2 | CHAR(10) | Qddfxtnm | Translate table name. | |
12 | C | CHAR(10) | Qddfxtln | Translate table library name. | |
22 | 16 | BINARY(2) | Qddfxcid | Translate table constant coded character set identifier. | |
24 | 18 | CHAR(10) | Reserved_99 | Reserved. | |
34 | 22 | CHAR(256) | Qddfxtbl | Translate table. |
Case Selection Specification (Qdb_Qddfcsl)
The Qdb_Qddfcsl section can be located with the offset Qddfrcao in the Field Header section, Qdb_Qddffld. For a description of selection specifications, see QDBQS in the Query (QQQQRY) API.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(2) | Qddfcsnum | Number of elements in the case selection specification array. | |
2 | 2 | BINARY(4) | Qddfcln | Length of this plus the length of all the selection specifications. | |
6 | 6 | CHAR(10) | Reserved | Reserved. | |
16 | 10 | Array of BINARY(4) | Qddfcao | Offset to the selection specification. Offset is from the start of Qdb_qdffcsl. |
Function Name Specification (Qdb_Qddfunc_def)
The Qdb_Qddfunc_def section can be located with the offset Qddfdo_func_def in the derived Operator Entry section, Qdb_Qddfdvo.
This section can only be specified when used in conjunction with the QQQQRY API.
This section can be used to reference a function by name rather than opcode qddfdvop. It can be used to resolve to existing built-in functions provided by the database or to user-defined functions defined in the SYSROUTINE SQL catalog in the QSYS2 library. Resolution is based on function name, number of parameters, compatible parameters and library list, in that order.
See the DB2® for IBM i SQL reference topic collection for more information about user-defined functions and the SYSROUTINE catalog.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(20) | Reserved | Reserved. | |
20 | 14 | CHAR(10) | Qddfunc_libname | Library where function can be found. Special
values follow.
|
|
30 | 1E | BIN(2) | Qddfunc_namelen | Length of function name in Qddfunc_funcname. | |
32 | 20 | CHAR(128) | Qddfunc_funcname | Name of function to resolve. | |
Built-in functions provided by the database in
library QSYS2:
|
|||||
Built-in functions (continued)
|
|||||
Built-in functions (continued)
|
|||||
Built-in functions (continued)
|
FILD0300 Format (Key Field Information)
FILD0300 provides detailed information for key fields of each record format of the specified file. This structure is used by the QQQQRY API to get data from the named file. FILD0300 Format shows how this information is organized. When more than one entry can appear, the figure indicates this as in (7). To get a description of all the fields contained in this structure and to determine the offsets, see the include source supplied on the system. An offset to the key field information array of each record format is provided in the record format information structure. If 0 is returned for this offset, this record format has no key field. If -1 is returned for this offset, the size of the receiver provided is insufficient to hold the returned data. You can see this source in source file H, member name QDBRTVFD, in the QSYSINC library.
FILD0300 Format
Key Information Header (Qdb_Qdbwh)
The Qdb_Qdbwh section is always located at the beginning of the returned data area.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | BINARY(4) | Byte_Ret | Bytes returned. The total length, in bytes, of the data returned. | |
4 | 4 | BINARY(4) | Byte_Avail | Bytes available. The total length, in bytes, of the key information. | |
8 | 8 | BINARY(2) | Max_Key_Len | Maximum key length. The maximum length, in bytes, of any of the keys. | |
10 | A | BINARY(2) | Key_Count | File generic key field count. | |
12 | C | CHAR(10) | Reserved | Reserved. | |
22 | 16 | BINARY(2) | Fmt_Counts | Number of formats for the file. |
Record Format Key Information Array (Qdb_Qdbwhrec)
The Qdb_Qdbwhrec section is located immediately after the Qdb_Qdbwh header. This is a linked list. There is a format record for each format. The number of formats is stored in Fmt_Counts in the Qdb_Qdbwh header.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(10) | Rec_Name | Record format name. The name of this particular record format for the file. | |
10 | A | CHAR(2) | Reserved | Reserved. | |
12 | C | BINARY(2) | Num_Of_Keys | Number of record format key fields. | |
14 | E | CHAR(14) | Reserved | Reserved. | |
28 | 1C | BINARY(4) | Key_Info_Offset | Offset to the Key Field Description Array section for this record format. |
Key Field Description Array (Qdb_Qdbwhkey)
The Qdb_Qdbwhkey section can be located with the offset Key_Info_Offset in the Qdb_Qdbwhrec array member. This is a linked list. There is a key field information array member for each key in the record format. The number of key fields is stored in Num_Of_Keys in the Qdb_Qdbwhrec array member.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(10) | Int_Field_Name | Internal key field name. If this is a physical format, this is the name of the field in the physical format. If this is a logical format, this name is the name of the field in a physical format on which this format is based. | |
10 | A | CHAR(10) | Ext_Field_Name | External key field name. If this is a logical format, this name is the name of the field in the logical format. If this is a physical format, this name is the same as the Internal key field name. | |
20 | 14 | BINARY(2) | Data_Type | The data type of this key field. | |
22 | 16 | BINARY(2) | Field_Len | The length of this key field. | |
24 | 18 | BINARY(2) | Num_Of_Digs | The number of digits in this key field. For numeric fields, this is the number of digits. For graphic data fields, this is the number of DBCS characters the field can contain. This field is applicable only to numeric and graphic fields. | |
26 | 1A | BINARY(2) | Dec_Pos | The number of decimal positions for this key field. | |
28 | 1C | 0 | CHAR(1) | Qdb_Qdbwhkattr_t | Key field attributes flags. |
28 | 1C | 0 | BIT(1) | Descending | Descending/ascending sequence indicator. |
28 | 1C | 1 | BIT(2) | Numeric | Numeric key field sequencing indicator. |
28 | 1C | 3 | BIT(1) | Reserved | Reserved. |
28 | 1C | 4 | BIT(1) | Alt_Collating | Alternative collating sequence indicator. |
28 | 1C | 5 | BIT(1) | Force_Zone | Force zone sequence indicator. |
28 | 1C | 6 | BIT(1) | Force_Digit | Force digit sequence indicator. |
28 | 1C | 7 | BIT(1) | Statement_Format | Key statement external or internal name indicator. |
29 | 1D | BINARY(2) | Alt_Name_Len | Length of the alternative name. If the length of the alternative name is greater than 30, this field will be 0. The longer alternative name will have to be accessed by the Alias Name Structure (Qdb_Qddfalis). | |
31 | 1F | CHAR(30) | Alt_Name | Alternative name (Alias). If the length of the alternative name is greater than 30, this field will be blank. The longer alternative name will have to be accessed by the Alias Name Structure (Qdb_Qddfalis). | |
61 | 3D | CHAR(1) | Reserved | Reserved. | |
62 | 3E | 0 | CHAR(1) | Qdb_Qdbwhkatt1_t | Additional key field attribute flags. |
62 | 3E | 0 | BIT(1) | Null_Value | Allow null value (ALNULL) indicator. |
62 | 3E | 1 | BIT(1) | Alt_Name_Exists | The alternative name indicator. If the key field has an alternative name, this field will be 1, even if the length of the alternative name is greater than 30. |
62 | 3E | 2 | BIT(6) | Reserved | Reserved. |
63 | 3F | CHAR(1) | Reserved | Reserved. |
FILD0400 Format (Qdb_qdbftrg_head structure)
FILD0400 provides detailed information about triggers defined for a file. FILD0400 Format shows how this information is organized. When more than one entry can appear, the figure indicates this as in (8).
Descriptions of the fields in this structure follow FILD0400 Format. The include source is supplied on the system, in the appropriate language source file, member name QDBRTVFD, in the QSYSINC library. The field names in the following tables apply only to the ILE C include. See Include files and the QSYSINC library for the names of the OPM and ILE RPG and COBOL includes.
FILD0400 Format
Trigger Information Header (Qdb_Qdbftrg_Head)
This is the first structure and is located at offset zero of the returned data.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Bytes_Returned | Length of the data returned in bytes. |
4 | 4 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Bytes_Avail | Number of bytes available for the trigger information data. |
8 | 8 | CHAR(52) | Qdb_Qdbftrg_Reserved1 | Reserved. |
60 | 3C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Trgs | Number of trigger definitions. |
64 | 40 | CHAR(8) | Qdb_Qdbftrg_Reserved2 | Reserved. |
72 | 48 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Off_Ent_Num1 | Offset to first trigger definition entry. |
76 | 4C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Off_Ins_Grp | Offset to the beginning of the insert group. |
80 | 50 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Off_Upd_Grp | Offset to the beginning of the update group. |
84 | 54 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Off_Del_Grp | Offset to the beginning of the delete group. |
88 | 58 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Off_Read_Grp | Offset to the beginning of the read group. |
92 | 5C | CHAR(28) | Qdb_Qdbftrg_Reserved36 | Reserved. |
120 | 78 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Sql_Trgs | Number of SQL triggers. |
124 | 7C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Ntv_Trgs | Number of native triggers. |
128 | 80 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Insb_Trg | Number of INSERT/BEFORE triggers. |
132 | 84 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Insa_Trg | Number of INSERT/AFTER triggers. |
136 | 88 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Delb_Trg | Number of DELETE/BEFORE triggers. |
140 | 8C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Dela_Trg | Number of DELETE/AFTER triggers. |
144 | 90 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Updb_Trg | Number of UPDATE/BEFORE triggers. |
148 | 94 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Upda_Trg | Number of UPDATE/AFTER triggers. |
152 | 98 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Reada_Trg | Number of READ/AFTER triggers. |
156 | 9C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Insi_Trg | Number of INSERT/INSTEAD OF triggers. |
160 | A0 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Deli_Trg | Number of DELETE/INSTEAD OF triggers. |
164 | A4 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Num_Updi_Trg | Number of UPDATE/INSTEAD OF triggers. |
168 | A8 | CHAR(536) | Qdb_Qdbftrg_Reserved3 | Reserved. |
Trigger Definition Entry Header (Qdb_Qdbftrg_Def_Head)
The number of entries is defined by variable Qdb_Qdbftrg_Num_Trgs in the trigger header, Qdb_Qdbftrg_Head. The Qdb_Qdbftrg_Def_Head section can be located with the offset Qdb_Qdbftrg_Off_Ent_Num1 in the trigger header, Qdb_Qdbftrg_Head.
Offset | Bit | Type | Field | Description | |
---|---|---|---|---|---|
Dec | Hex | ||||
0 | 0 | CHAR(20) | Qdb_Qdbftrg_Reserved4 | Reserved. | |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Def_Len | Length of the entire trigger definition. This includes all structures. This length added to the pointer to this entry gets you to the next trigger definition entry. | |
24 | 18 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Head_Len | Length of the trigger definition header Qdb_Qdbftrg_Def_Head. | |
28 | 1C | CHAR(52) | Qdb_Qdbftrg_Reserved5 | Reserved. | |
80 | 50 | CHAR(10) | Qdb_Qdbftrg_Def_Pgm | Trigger program name. | |
90 | 5A | CHAR(10) | Qdb_Qdbftrg_Def_Lib | Trigger program library. | |
100 | 64 | CHAR(4) | Qdb_Qdbftrg_Reserved6 | Reserved. | |
104 | 68 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Def_Ord_Num | Trigger ordinal number. | |
108 | 6C | CHAR(1) | Qdb_Qdbftrg_Def_State | Trigger state.
|
|
109 | 6D | CHAR(1) | Qdb_Qdbftrg_Def_Operative | Trigger is operative.
|
|
110 | 6E | CHAR(1) | Qdb_Qdbftrg_Def_Type | Trigger type.
|
|
111 | 6F | CHAR(1) | Qdb_Qdbftrg_Def_Mode | Trigger mode. Used only when the trigger type QDBFTRG_DEF_TYPE is set to an SQL trigger. The mode is
used to determine the I/O model used during the trigger program execution.
|
|
112 | 70 | CHAR(1) | Qdb_Qdbftrg_Def_Orient | Trigger orientation.
|
|
113 | 71 | CHAR(1) | Qdb_Qdbftrg_Def_Time | Trigger time.
|
|
114 | 72 | CHAR(1) | Qdb_Qdbftrg_Def_Event | Trigger event.
|
|
115 | 73 | CHAR(1) | Qdb_Qdbftrg_Def_Met | Multiple event trigger.
|
|
116 | 74 | CHAR(1) | Qdb_Qdbftrg_Def_Met_Events | Primary entry multiple event trigger types. | |
116 | 74 | 0 | BIT(1) | Qdbf_Qdbftrg_Def_Met_Insert | Multiple event trigger insert event indicator. If on, an insert trigger is included. |
116 | 74 | 1 | BIT(1) | Qdbf_Qdbftrg_Def_Met_Delete | Multiple event trigger delete event indicator. If on, a delete trigger is included. |
116 | 74 | 2 | BIT(1) | Qdbf_Qdbftrg_Def_Met_Update | Multiple event trigger update event indicator. If on, an update trigger is included. |
116 | 74 | 3 | BIT(5) | Qdbf_Qdbftrg_Def_Met_Reserved | Reserved. |
117 | 75 | CHAR(43) | Qdb_Qdbftrg_Reserved7 | Reserved. | |
160 | A0 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Def_Off_Trg_Name | Offset to the trigger name structure Qdb_Qdbftrg_Name_Area. | |
164 | A4 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Reserved8 | Reserved. | |
168 | A8 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Def_Off_Sql_Path | Offset to the SQL path structure Qdb_Qdbftrg_Path_Area. | |
172 | AC | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Def_Off_Upd_Cols | Offset to the update columns structure Qdb_Qdbftrg_Updc_Area. | |
176 | B0 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Def_Off_When_Cols | Offset to the structure containing the list of columns referenced in the WHEN condition Qdb_Qdbftrg_When_Area. | |
180 | B4 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Def_Off_Body_Cols | Offset to the structure containing the list of columns referenced in the trigger body Qdb_Qdbftrg_Body_Area. | |
184 | B8 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Def_Off_Dep_Objs | Offset to the structure containing the list of dependent objects referenced in the trigger body Qdb_Qdbftrg_Depo_Area. | |
188 | BC | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Def_Off_Transition | Offset to the structure containing the transition tables, Qdb_Qdbftrg_Trns_Area. | |
192 | C0 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Def_Off_Trg_Stmt | Offset to the structure containing the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Area. | |
196 | C4 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Def_Off_Trg_Long | Offset to the structure containing the trigger long comment Qdb_Qdbftrg_Long_Area. | |
200 | C8 | CHAR(64) | Qdb_Qdbftrg_Reserved9 | Reserved. | |
264 | 108 | CHAR(1) | Qdb_Qdbftrg_Def_Updcond | Trigger update condition. For system triggers
only (Qdb_Qdbftrg_Def_Type = 'N'). This field is valid for the UPDATE event
only. This field is ignored for INSERT or DELETE or READ events.
|
|
265 | 109 | CHAR(1) | Qdb_Qdbftrg_Def_Allow_Repchg | Allow repeated change.
|
|
266 | 10A | CHAR(1) | Qdb_Qdbftrg_Def_Threadsafe | Threadsafe indicator.
|
|
267 | 10B | CHAR(1) | Qdb_Qdbftrg_Def_Multijob | Multithreaded job action indicator
|
|
268 | 10C | CHAR(1) | Qdb_Qdbftrg_Def_Old_Tvar | Old correlation variable indicator. Only applies
to SQL triggers.
|
|
269 | 10D | CHAR(1) | Qdb_Qdbftrg_Def_New_Tvar | New correlation variable indicator. Only applies
to SQL triggers.
|
|
270 | 10E | CHAR(1) | Qdb_Qdbftrg_Def_Old_Ttable | Old transition table indicator.
|
|
271 | 10F | CHAR(1) | Qdb_Qdbftrg_Def_New_Ttable | New transition table indicator
|
|
272 | 110 | CHAR(1) | Qdb_Qdbftrg_Def_Self_Ref | Self-referencing indicator. Indicates whether or
not the user explicitly specified this file's name in the trigger body.
|
|
273 | 111 | CHAR(13) | Qdb_Qdbftrg_Def_Crt_Ts | Trigger creation timestamp. The format is CYYMMDDHHMMSS. | |
286 | 11E | CHAR(10) | Qdb_Qdbftrg_Def_Crt_User | User profile that created the trigger. | |
296 | 11F | CHAR(10) | Qdb_Qdbftrg_Def_Pgm_Owner | User profile that owns the trigger program. For SQL triggers only. | |
306 | 132 | BIN(4) UNSIGNED | Qdb_Qdbftrg_Def_Trg_Ccsid | CCSID of the CREATE TRIGGER statement. | |
310 | 136 | CHAR(1) | Qdb_Qdbftrg_Reserved34 | Reserved. | |
311 | 137 | CHAR(1) | Qdb_Qdbftrg_Def_Mod_Tvar | The trigger contains a SET statement that
modifies the new correlation variable. (Indicates whether or not update
authority is required to the table.) For SQL *BEFORE *UPDATE triggers only.
|
|
312 | 138 | CHAR(1) | Qdb_Qdbftrg_Def_Secure | Specifies if the trigger considered secure for row access control and column access control.
|
|
313 | 139 | CHAR(13) | Qdb_Qdbftrg_Def_Altered | Last trigger altered date. The date is in the internal standard format (ISF), CYYMMDDHHMMSS.
|
|
326 | 14C | CHAR(138) | Qdb_Qdbftrg_Reserved10 | Reserved. |
Trigger Definition Name Structure (Qdb_Qdbftrg_Name_Area)
The Qdb_Qdbftrg_Name_Area section can be located with the offset Qdb_Qdbftrg_Def_Off_Trg_Name in the Qdb_Qdbftrg_Def_Head section.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | CHAR(20) | Qdb_Qdbftrg_Reserved11 | Reserved. |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Name_Area_Tot_Len | Total length of the trigger name area Qdb_Qdbftrg_Name_Area. |
24 | 18 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Name_Lib_Len | Length of the trigger library name. |
28 | 1C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Name_Len | Length of the trigger program name. |
32 | 20 | CHAR(1) | Qdb_Qdbftrg_Name_Sysgen | System-generated trigger name indicator.
|
33 | 21 | CHAR(1) | Qdb_Qdbftrg_Name_Delim | Delimited name indicator. If the trigger name is
delimited, it will contain double quotes.
|
34 | 22 | CHAR(1) | Qdb_Qdbftrg_Lib_Delim | Delimited library name indicator. If the trigger
library name is delimited, it will contain double quotes.
|
35 | 23 | CHAR(1) | Qdb_Qdbftrg_Name_Type | Trigger naming convention.
|
36 | 24 | CHAR(58) | Qdb_Qdbftrg_Reserved12 | Reserved. |
94 | 5E | CHAR(268) | Qdb_Qdbftrg_Name_Qual | Qualified trigger name. The trigger name and library name are in two parts. Part 1 is the trigger library name, which is padded to 10 characters, if necessary, with blanks. Qdb_Qdbftrg_Name_Lib_Len defines the length of the trigger library name. Part 2 is the trigger name. Qdb_Qdbftrg_Name_Len defines the length of the trigger name. |
SQL Path Structure (Qdb_Qdbftrg_Path_Area)
The Qdb_Qdbftrg_Path_Area section can be located with the offset Qdb_Qdbftrg_Def_Off_Sql_Path in the Qdb_Qdbftrg_Def_Head section. This structure is for SQL triggers only.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | CHAR(20) | Qdb_Qdbftrg_Reserved13 | Reserved. |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Path_Tot_Len | Total length of the SQL path area Qdb_Qdbftrg_Path_Area. |
24 | 18 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Path_Len | Length of the SQL path structure Qdb_Qdbftrg_Path. |
28 | 1C | CHAR(36) | Qdb_Qdbftrg_Reserved14 | Reserved. |
64 | 40 | CHAR(*) | Qdb_Qdbftrg_Path | SQL path. See DB2 for IBM i SQL reference CURRENT PATH special register for information on the format of this structure. |
UPDATE Columns Structure (Qdb_Qdbftrg_Updc_Area)
The Qdb_Qdbftrg_Updc_Area section can be located with the offset Qdb_Qdbftrg_Def_Off_Upd_Col in the Qdb_Qdbftrg_Def_Head section. This structure is for SQL triggers only.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | CHAR(20) | Qdb_Qdbftrg_Reserved15 | Reserved. |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Updc_Tot_Len | Total length of the update columns area Qdb_Qdbftrg_Updc_Area. |
24 | 18 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Updc_Num_Cols | Number of columns in the list Qdb_Qdbftrg_Updc_List_Struc. |
28 | 1C | CHAR(52) | Qdb_Qdbftrg_Reserved16 | Reserved. |
80 | 50 | CHAR(*) | Qdb_Qdbftrg_Updc_List_Struc | Update column list structure. |
UPDATE Columns Entry Structure (Qdb_Qdbftrg_Updc_List_Ent)
The Qdb_Qdbftrg_Updc_List_Ent section maps an entry in the structure Qdb_Qdbftrg_Updc_List_Struc.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Updc_Le_Len | Update column list entry length. Addressability to this entry plus Qdb_Qdbftrg_Updc_Le_Len gets addressability to the next entry in this structure. |
4 | 4 | CHAR(10) | Qdb_Qdbftrg_Updc_Le_Short_Name | Short name of the column. |
14 | E | CHAR(1) | Qdb_Qdbftrg_Updc_Le_Short_Del | Short name is delimited indicator.
|
15 | F | CHAR(1) | Qdb_Qdbftrg_Updc_Le_Long_Del | Long name is delimited indicator.
|
16 | 10 | CHAR(1) | Qdb_Qdbftrg_Updc_Le_Long_Same | Short name and long name are the same indicator.
|
17 | 11 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Updc_Le_Long_Len | Length of the long name Qdb_Qdbftrg_Updc_Le_Long_Name. |
21 | 15 | CHAR(27) | Qdb_Qdbftrg_Reserved17 | Reserved. |
48 | 30 | CHAR(*) | Qdb_Qdbftrg_Updc_Le_Long_Name | Long name of the column. |
WHEN Columns Structure (Qdb_Qdbftrg_When_Area)
The Qdb_Qdbftrg_When_Area section can be located with the offset Qdb_Qdbftrg_Def_Off_When_Cols in the Qdb_Qdbftrg_Def_Head section. This structure is for SQL triggers only.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | CHAR(20) | Qdb_Qdbftrg_Reserved18 | Reserved. |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_When_Tot_Len | Total length of the WHEN columns area Qdb_Qdbftrg_When_Area. |
24 | 18 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_When_Num_Cols | Number of columns in the list Qdb_Qdbftrg_When_Array. |
28 | 1C | CHAR(1) | Qdb_Qdbftrg_When_Self_Ref | Whether columns in the WHEN list belong to this
file.
|
29 | 1D | CHAR(51) | Qdb_Qdbftrg_Reserved19 | Reserved. |
80 | 50 | Qdb_Qdbftrg_When_Array | WHEN column array. |
WHEN Columns Entry Structure (Qdb_Qdbftrg_When_Array)
This Qdb_Qdbftrg_When_Array section maps an entry in the structure Qdb_Qdbftrg_When_Array. This structure is for SQL triggers only.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_When_Col_Off | WHEN column name offset into the WHEN portion of the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
4 | 4 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_When_Col_Len | Length of the column name in the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
8 | 8 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_When_File_Off | Offset to the column's file name in the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg relative to the start of the CREATE TRIGGER statement. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
12 | C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_When_File_Len | Length of the column's file name in the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
16 | 10 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_When_Lib_Off | Offset to the column's library name in the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg relative to the start of the CREATE TRIGGER statement. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_When_Lib_Len | Length of the column's library name in the trigger string Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
24 | 18 | CHAR(1) | Qdb_Qdbftrg_When_1st_Entry | Whether the column name is the first in the list
of entries.
|
25 | 19 | CHAR(1) | Qdb_Qdbftrg_When_This_File | Whether the column name is in this file.
|
26 | 1A | CHAR(1) | Qdb_Qdbftrg_When_Col_Long | Whether the column name is a short or long name.
|
27 | 1B | CHAR(1) | Qdb_Qdbftrg_When_Col_Del | Whether the column name is a delimited name.
|
28 | 1C | CHAR(1) | Qdb_Qdbftrg_When_File_Long | Whether the column's file name is a short or long
name.
|
29 | 1D | CHAR(1) | Qdb_Qdbftrg_When_File_Del | Whether the column's file name is a delimited
name.
|
30 | 1E | CHAR(1) | Qdb_Qdbftrg_When_Lib_Long | Whether the column's library name is a short or
long name.
|
31 | 1F | CHAR(1) | Qdb_Qdbftrg_When_Lib_Del | Whether the column's library name is a delimited
name.
|
32 | 20 | CHAR(32) | Qdb_Qdbftrg_Reserved20 | Reserved. |
BODY Columns Structure (Qdb_Qdbftrg_Body_Area)
The Qdb_Qdbftrg_Body_Area section can be located with the offset Qdb_Qdbftrg_Def_Off_Body_Cols in the Qdb_Qdbftrg_Def_Head section. This structure is for SQL triggers only.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | CHAR(20) | Qdb_Qdbftrg_Reserved21 | Reserved. |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Body_Tot_Len | Total length of the BODY columns area Qdb_Qdbftrg_Body_Area. |
24 | 18 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Body_Num_Cols | Number of columns in the list Qdb_Qdbftrg_Body_Array. |
28 | 1C | CHAR(1) | Qdb_Qdbftrg_Body_Self_Ref | Whether columns in the body list belong to this
file.
|
29 | 1D | CHAR(51) | Qdb_Qdbftrg_Reserved22 | Reserved. |
80 | 50 | Qdb_Qdbftrg_Body_Array | Array used to access the list of BODY referenced columns. |
BODY Columns Entry Structure (Qdb_Qdbftrg_Body_Array)
The Qdb_Qdbftrg_Body_Array section maps an entry in the structure Qdb_Qdbftrg_Body_Array. This structure is for SQL triggers only.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Body_Col_Off | BODY column name offset into the BODY portion of the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
4 | 4 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Body_Col_Len | Length of the column name in the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
8 | 8 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Body_File_Off | Offset to the column's file name in the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg relative to the start of the CREATE TRIGGER statement. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
12 | C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Body_File_Len | Length of the column's file name in the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
16 | 10 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Body_Lib_Off | Offset to the column's library name in the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg relative to the start of the CREATE TRIGGER statement. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Body_Lib_Len | Length of the column's library name in the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
24 | 18 | CHAR(1) | Qdb_Qdbftrg_Body_1st_Entry | Whether the column name is the first in the list
of entries.
|
25 | 19 | CHAR(1) | Qdb_Qdbftrg_Body_This_File | Whether the column name is in this file.
|
26 | 1A | CHAR(1) | Qdb_Qdbftrg_Body_Col_Long | Whether the column name is a short or long name.
|
27 | 1B | CHAR(1) | Qdb_Qdbftrg_Body_Col_Del | Whether the column name is a delimited name.
|
28 | 1C | CHAR(1) | Qdb_Qdbftrg_Body_File_Long | Whether the column's file name is a short or long
name.
|
29 | 1D | CHAR(1) | Qdb_Qdbftrg_Body_File_Del | Whether the column's file name is a delimited
name.
|
30 | 1E | CHAR(1) | Qdb_Qdbftrg_Body_Lib_Long | Whether the column's library name is a short or
long name.
|
31 | 1F | CHAR(1) | Qdb_Qdbftrg_Body_Lib_Del | Whether the column's library name is a delimited
name.
|
32 | 20 | CHAR(32) | Qdb_Qdbftrg_Reserved23 | Reserved. |
Dependent Objects Structure (Qdb_Qdbftrg_Depo_Area)
The Qdb_Qdbftrg_Depo_Area section can be located with the offset Qdb_Qdbftrg_Def_Off_Dep_Objs in the Qdb_Qdbftrg_Def_Head section. This structure is for SQL triggers only.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | CHAR(20) | Qdb_Qdbftrg_Reserved24 | Reserved. |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Depo_Tot_Len | Total length of the dependent objects area Qdb_Qdbftrg_Depo_Area. |
24 | 18 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Depo_Num_Off | Number of dependent object offsets in Qdb_Qdbftrg_Depo_Array. These are offsets into the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg that will position you to a dependent object of the type Qdb_Qdbftrg_Depo_Type. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
28 | 1C | CHAR(1) | Qdb_Qdbftrg_Depo_Self_Ref | Whether this file is referenced at least once
somewhere in the WHEN or BODY. This is a self-referencing dependency.
|
29 | 1D | CHAR(51) | Qdb_Qdbftrg_Reserved25 | Reserved. |
80 | 50 | Qdb_Qdbftrg_Depo_Array | Update column list structure. |
Dependent Objects Entry Structure (Qdb_Qdbftrg_Depo_Array)
The Qdb_Qdbftrg_Depo_Array section maps an entry in the structure Qdb_Qdbftrg_Depo_Array. This structure is for SQL triggers only.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | CHAR(2) | Qdb_Qdbftrg_Depo_Type | Type of dependent object.
|
2 | 2 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Depo_Off | Offset to the dependent object relative to the beginning of the CREATE TRIGGER string Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
6 | 6 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Depo_Len | Length of the dependent object in the CREATE TRIGGER string Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
10 | A | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Depo_Lib_Off | Offset to the qualifying library name of the dependent object. Offset relative from the start of Qdb_Qdbftrg_Stmt_Crt_Trg. A length of 0 indicates no qualifying library. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
14 | E | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Depo_Lib_Len | Length of the qualifying library name of the dependent object. A length of 0 indicates there is no qualifying library. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
18 | 12 | CHAR(1) | Qdb_Qdbftrg_Depo_1st_Entry | Whether the object name is the first in the list
of entries. Criteria is based on object name, library name, and object type.
|
19 | 13 | CHAR(1) | Qdb_Qdbftrg_Depo_This_File | Whether the object is this file.
|
20 | 14 | CHAR(1) | Qdb_Qdbftrg_Depo_Obj_Long | Whether the object name is is a short or long
name.
|
21 | 15 | CHAR(1) | Qdb_Qdbftrg_Depo_Obj_Del | Whether the object name is a delimited name.
|
22 | 16 | CHAR(1) | Qdb_Qdbftrg_Depo_Lib_Long | Whether the library's name is a short or long
name.
|
23 | 17 | CHAR(1) | Qdb_Qdbftrg_Depo_Lib_Del | Whether the library's name is a delimited name.
|
24 | 18 | CHAR(40) | Qdb_Qdbftrg_Reserved26 | Reserved. |
Transition Area Structure (Qdb_Qdbftrg_Trns_Area)
The Qdb_Qdbftrg_Trns_Area section can be located with the offset Qdb_Qdbftrg_Def_Off_Transition in the Qdb_Qdbftrg_Def_Head section. This structure is for SQL triggers only.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | CHAR(20) | Qdb_Qdbftrg_Reserved27 | Reserved. |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Trns_Tot_Len | Total length of the transition area Qdb_Qdbftrg_Trns_Area. |
24 | 18 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Trns_Oldvar_Len | Old correlation variable name length. |
28 | 1C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Trns_Newvar_Len | New correlation variable name length. |
32 | 20 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Trns_Oldtbl_Len | Old transition table name length. |
36 | 24 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Trns_Newtbl_Len | New transition table name length. |
40 | 28 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Trns_Oldvar_Off | Old correlation variable name offset. |
44 | 2C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Trns_Newvar_Off | New correlation variable name offset. |
48 | 30 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Trns_Oldtbl_Off | Old transition table name offset. |
52 | 34 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Trns_Newtbl_Off | New transition table name offset. |
56 | 38 | CHAR(1) | Qdb_Qdbftrg_Trns_Oldvar_Del | Whether the old correlation variable name is
delimited.
|
57 | 39 | CHAR(1) | Qdb_Qdbftrg_Trns_Newvar_Del | Whether the new correlation variable name is
delimited.
|
58 | 3A | CHAR(1) | Qdb_Qdbftrg_Trns_Oldtbl_Del | Whether the old table name is delimited.
|
59 | 3B | CHAR(1) | Qdb_Qdbftrg_Trns_Newtbl_Del | Whether the new table name is delmited.
|
60 | 3C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Trns_Names_Len | Length of the transition names Qdb_Qdbftrg_Trns_Names. |
64 | 40 | CHAR(48) | Qdb_Qdbftrg_Reserved28 | Reserved. |
112 | 70 | CHAR(*) | Qdb_Qdbftrg_Trns_Names | Old/new transition variable/table names. |
Trigger Statement Area (Qdb_Qdbftrg_Stmt_Area)
The Qdb_Qdbftrg_Stmt_Area section can be located with the offset Qdb_Qdbftrg_Def_Off_Trg_Stmt in the Qdb_Qdbftrg_Def_Head section. This structure is for SQL triggers only.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | CHAR(20) | Qdb_Qdbftrg_Reserved29 | Reserved. |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Stmt_Tot_Len | Total length of the statement area. |
24 | 18 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Stmt_Onfile_Off | Offset to the user-specified file table name in the CREATE TRIGGER statement Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
28 | 1C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Stmt_Onfile_Len | Length of the qualified library file name of the ON file/TABLE name, including the period, in Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
32 | 20 | CHAR(1) | Qdb_Qdbftrg_Stmt_Onfile_Del | Whether the ON table/file name is delimited.
|
33 | 21 | CHAR(1) | Qdb_Qdbftrg_Stmt_Onlib_Del | Whether the ON library name is delimited.
|
34 | 22 | CHAR(1) | Qdb_Qdbftrg_Stmt_Onfile_Long | Whether the ON table/file name is a long name.
|
35 | 23 | CHAR(1) | Qdb_Qdbftrg_Stmt_Obfuscation | Specifies if the CREATE TRIGGER statement
is obfuscated.
|
36 | 24 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Stmt_Crt_Trg_Len | Length of the SQL CREATE TRIGGER string in variable Qdb_Qdbftrg_Stmt_Crt_Trg. |
40 | 28 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Stmt_When_Len | Length of the WHEN clause for the SQL CREATE TRIGGER string in variable Qdb_Qdbftrg_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
44 | 2C | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Stmt_When_Off | Offset to the WHEN clause of the SQL CREATE TRIGGER string in variable Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
48 | 30 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Stmt_Body_Len | Length of the BODY portion of the SQL CREATE TRIGGER string in variable Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
52 | 34 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Stmt_Body_Off | Offset to the BODY portion of the SQL CREATE TRIGGER string in variable Qdb_Qdbftrg_Stmt_Crt_Trg. This field will be zero if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
57 | 39 | CHAR(56) | Qdb_Qdbftrg_Reserved31 | Reserved. |
112 | 70 | CHAR(*) | Qdb_Qdbftrg_Stmt_Crt_Trg | SQL CREATE TRIGGER string. This field will be unreadable if Qdb_Qdbftrg_Stmt_Obfuscation is X'01'. |
Trigger Long Comment Area (Qdb_Qdbftrg_Long_Area)
The Qdb_Qdbftrg_Long_Area section can be located with the offset Qdb_Qdbftrg_Def_Off_Trg_Long in the Qdb_Qdbftrg_Def_Head section.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | CHAR(20) | Qdb_Qdbftrg_Reserved32 | Reserved. |
20 | 14 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Long_Tot_Len | Total length of the long comment area Qdb_Qdbftrg_Long_Area. |
24 | 18 | BINARY(4) UNSIGNED | Qdb_Qdbftrg_Long_Len | Length of the trigger long comment that is located in variable Qdb_Qdbftrg_Long_Comment. |
28 | 1C | BINARY(2) UNSIGNED | Qdb_Qdbftrg_Long_Ccsid | CCSID of the long comment in Qdb_Qdbftrg_Long_Comment. |
30 | 1E | CHAR(34) | Qdb_Qdbftrg_Reserved33 | Reserved. |
64 | 40 | CHAR(*) | Qdb_Qdbftrg_Long_Comment | Trigger long comment. |
FILD0500 Format (Qdb_Qdbfrcac_Head structure)
FILD0500 provides detailed information about row and column access control(RCAC) for a file by providing the information for the file's permissions and masks.
Descriptions of the fields in this structure follow FILD0500 Format. The include source is supplied on the system, in the appropriate language source file, member name QDBRTVFD, in the QSYSINC library. The field names in the following tables apply only to the ILE C include. See Include files and the QSYSINC library for the names of the OPM and ILE RPG and COBOL includes.
FILD0500 Format
Row and Column Access Control Header (Qdb_Qdbfrcac_Head)
This is the first structure and is located at offset zero of the returned data.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Bytes_Returned | Length of the data returned in bytes. |
4 | 4 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Bytes_Avail | Number of bytes available for the row and column access control information. |
8 | 8 | CHAR(13) | Qdb_Qdbfrcac_Chg_Ts | Timestamp of the last time the permission, mask, or any attribute of the permissions, or masks was changed in any way. The format is CYYMMDDHHMMSS. |
21 | 15 | CHAR(1) | Qdb_Qdbfrcac_Fp_State | File permission state.
|
22 | 16 | CHAR(1) | Qdb_Qdbfrcac_Fm_State | File mask state.
|
23 | 17 | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Num_Perm | Number of file permissions. |
25 | 19 | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Num_Mask | Number of file masks. |
27 | 1B | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Off_Ent_Num1 | Offset to the first row and column access control definition entry. |
29 | 1D | CHAR(83) | Qdb_Qdbfrcac_Reserved83 | Reserved. |
Row and Column Access Control Definition Entry Header (Qdb_Qdbfrcac_Def_Head)
The number of entries is defined by the sum of the variables Qdb_Qdbfrcac_Num_Perm and Qdb_Qdbfrcac_Num_Mask in the row and column access control header, Qdb_Qdbfrcac_Head. The Qdb_Qdbfrcac_Def_Head section can be located with the offset Qdb_Qdbfrcac_Off_Ent_Num1 in the row and column access control header, Qdb_Qdbfrcac_Head.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Def_Len | Length of the entire row and column access control definition entry. This includes all structures. This length added to the pointer to this entry gets you to the next row and column access control definition entry. |
4 | 4 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Def_Head_Len | Length of the row and column access control definition entry header Qdb_Qdbfrcac_Def_Head. |
8 | 8 | CHAR(13) | Qdb_Qdbfrcac_Def_Chg_Ts | Timestamp of the last time the
permission, or mask was changed. This would be the last time the permission, or mask was changed by an Alter Table statement. The format is CYYMMDDHHMMSS.
|
21 | 15 | CHAR(1) | Qdb_Qdbfrcac_Def_Type | Type of access control.
|
22 | 16 | CHAR(1) | Qdb_Qdbfrcac_Def_State | Permission or mask state.
|
23 | 17 | CHAR(10) | Qdb_Qdbfrcac_Def_Creator | User profile name that created the permission or mask. |
33 | 21 | CHAR(15) | Qdb_Qdbfrcac_Def_Reserved15 | Reserved. |
48 | 30 | CHAR(128) | Qdb_Qdbfrcac_Def_Cor | Correlation name of the file. |
176 | B0 | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Def_Cor_Len | Length of the correlation name.
|
178 | B2 | CHAR(1) | Qdb_Qdbfrcac_Def_Imp_Add | Permission implicitly add.
|
179 | B3 | CHAR(13) | Qdb_Qdbfrcac_Def_Reserved13 | Reserved. |
192 | C0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Def_Off_Rcac_Name | Offset to the row and column access control name structure Qdb_Qdbfrcac_Name_Area. |
196 | C4 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Def_Off_Crutx_Cols | Offset to the list of columns in the rule text Qdb_Qdbfrcac_Crutx_Area.
|
200 | C8 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Def_Off_Dep_Objs | Offset to the structure containing the list of dependent objects
Qdb_Qdbfrcac_Depo_Area.
|
204 | CC | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Def_Off_Ace | Offset to the structure containing the row and column access control expression(ACE)
Qdb_Qdbfrcac_Ace_Area.
|
208 | D0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Def_Off_Long | Offset to the structure containing the row and column access control
long comment Qdb_Qdbfrcac_Long_Area.
|
212 | D4 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Def_Off_Label | Offset to the structure containing the row and column access control
label Qdb_Qdbfrcac_Label_Area.
|
216 | D8 | CHAR(40) | Qdb_Qdbfrcac_Def_Reserved40 | Reserved. |
Row and Column Access Control Definition Name Structure (Qdb_Qdbfrcac_Name_Area)
The Qdb_Qdbfrcac_Name_Area section can be located with the offset Qdb_Qdbfrcac_Def_Off_Rcac_Name in the Qdb_Qdbfrcac_Def_Head section.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | CHAR(28) | Qdb_Qdbfrcac_Name_Reserved28 | Reserved. |
28 | 1C | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Name_Area_Tot_Len | Total length of the row and column access control name area Qdb_Qdbfrcac_Name_Area. |
30 | 1E | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Name_Len | Length of the permission or mask name. |
32 | 20 | CHAR(128) | Qdb_Qdbfrcac_Name | Permission or mask name. |
Row and Column Access Control Columns in Rule Text Structure (Qdb_Qdbfrcac_Crutx_Area)
The Qdb_Qdbfrcac_Crutx_Area section can be located with the offset Qdb_Qdbfrcac_Def_Off_Crutx_Cols in the Qdb_Qdbfrcac_Def_Head section.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Crutx_Tot_Len | Total length of the columns area Qdb_Qdbfrcac_Crutx_Area. |
4 | 4 | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Crutx_Num_Cols | Number of columns in the list Qdb_Qdbfrcac_Crutx_Array.
|
6 | 6 | CHAR(26) | Qdb_Qdbfrcac_Crutx_Reserved26 | Reserved. |
32 | 20 | Qdb_Qdbfrcac_Col_Rutx_Array_t | Array used to access the list of referenced columns. |
Row and Column Access Control Column Rutx Entry Structure (Qdb_Qdbfrcac_Col_Rutx_Array)
The Qdb_Qdbfrcac_Col_Rutx_Array section maps an entry in the structure Qdb_Qdbfrcac_Crutx_Area.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Col_Rutx_Col_Off | Column name offset into the access control expression Qdb_Qdbfrcac_Ace. |
4 | 4 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Col_Rutx_File_Off | Offset to the column's file name in
the access control expression Qdb_Qdbfrcac_Ace relative
to the start of the access control expression.
|
8 | 8 | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Col_Rutx_Len | Length of the column name in the access control expression. Qdb_Qdbfrcac_Ace. |
10 | 0A | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Col_Rutx_File_Len | Length of the column's file name in the access control expression Qdb_Qdbfrcac_Ace.
|
12 | 0C | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Col_Rutx_Lib_Off | Offset to the column's library name in the access control expression Qdb_Qdbfrcac_Ace relative to the start of the access control expression.
|
16 | 10 | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Col_Rutx_Lib_Len | Length of the column's library name in the access control expression Qdb_Qdbfrcac_Ace.
|
18 | 12 | CHAR(1) | Qdb_Qdbfrcac_Col_Rutx_This_File | Whether the column name is in this file.
|
19 | 13 | CHAR(1) | Qdb_Qdbfrcac_Col_Rutx_1st_Entry | Whether the column name is the first
occurance in the list of entries.
|
20 | 14 | CHAR(44) | Qdb_Qdbfrcac_Col_Rutx_Reserved44 | Reserved. |
Row and Column Access Control Dependent Objects Structure (Qdb_Qdbfrcac_Depo_Area)
The Qdb_Qdbfrcac_Depo_Area section can be located with the offset Qdb_Qdbfrcac_Def_Off_Dep_Objs in the Qdb_Qdbfrcac_Def_Head section.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Depo_Tot_Len | Total length of the dependent objects area Qdb_Qdbfrcac_Depo_Area. |
4 | 4 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Depo_Num_Off | Number of dependent object offsets in Qdb_Qdbfrcac_Depo_Array. These are offsets into the access control expression Qdb_Qdbfrcac_Ace that will position you to a dependent object of the type Qdb_Qdbfrcac_Depo_Type. |
8 | 8 | CHAR(24) | Qdb_Qdbfrcac_Depo_Reserved24 | Reserved. |
32 | 20 | Qdb_Qdbfrcac_Depo_Array | Row and Column Access Control Dependent Objects Entry Structure. |
Row and Column Access Control Dependent Objects Entry Structure (Qdb_Qdbfrcac_Depo_Array)
The Qdb_Qdbfrcac_Depo_Array section maps an entry in the structure Qdb_Qdbfrcac_Depo_Array.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Depo_Off | Offset to the dependent object relative to the beginning of the access control expression Qdb_Qdbfrcac_Ace. |
4 | 4 | CHAR(2) | Qdb_Qdbfrcac_Depo_Type | Type of dependent object when the permission, or mask was added.
|
06 | 06 | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Depo_Len | Length of the dependent object in the access control expression Qdb_Qdbfrcac_Ace. |
08 | 08 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Depo_Lib_Off | Offset to the qualifying library name of the dependent object. Offset relative from the start of Qdb_Qdbfrcac_Ace . A length of 0 indicates no qualifying library. |
12 | 0C | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Depo_Lib_Len | Length of the qualifying library name of the dependent object. A length of 0 indicates there is no qualifying library. |
19 | 13 | CHAR(1) | Qdb_Qdbfrcac_Depo_1st_Entry | Whether the object name is the first
occurance in the list of entries.
|
15 | 0F | CHAR(49) | Qdb_Qdbfrcac_Depo_Reserved49 | Reserved. |
Row and Column Access Control Access Control Expression Area (Qdb_Qdbfrcac_Ace_Area)
The Qdb_Qdbfrcac_Ace_Area section can be located with the offset Qdb_Qdbfrcac_Def_Off_Ace in the Qdb_Qdbfrcac_Def_Head section.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Ace_Tot_Len | Total length of the access control expression area. |
4 | 4 | CHAR(28) | Qdb_Qdbfrcac_Ace_Reserved28 | Reserved. |
32 | 20 | CHAR(10) | Qdb_Qdbfrcac_Ace_Col | System column name if this is a mask. |
42 | 2A | CHAR(4) | Qdb_Qdbfrcac_Ace_Reserved1 | Reserved. |
46 | 2E | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Ace_Col_Long_Len | Length of the long column name if this is a mask. |
48 | 30 | CHAR(128) | Qdb_Qdbfrcac_Ace_Col_Long | Undelimited long column name if this is a mask. |
176 | B0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Ace_Len | Length of the access control expression. Qdb_Qdbfrcac_Ace. |
180 | B4 | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Ace_Ccsid | CCSID of the access control expression. Qdb_Qdbfrcac_Ace. |
182 | B6 | CHAR(10) | Qdb_Qdbfrcac_Ace_Reserved2 | Reserved. |
192 | C0 | CHAR(*) | Qdb_Qdbfrcac_Ace | Access control expression. |
Row and Column Access Control Long Comment Area (Qdb_Qdbfrcac_Long_Area)
The Qdb_Qdbfrcac_Long_Area section can be located with the offset Qdb_Qdbfrcac_Def_Off_Long in the Qdb_Qdbfrcac_Def_Head section.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Long_Tot_Len | Total length of the long comment area Qdb_Qdbfrcac_Long_Area. |
4 | 4 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Long_Len | Length of the long comment that is located in variable Qdb_Qdbfrcac_Long_Comment. |
8 | 8 | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Long_Ccsid | CCSID of the long comment in Qdb_Qdbfrcac_Long_Comment. |
10 | 0A | CHAR(22) | Qdb_Qdbfrcac_Long_Reserved22 | Reserved. |
32 | 20 | CHAR(*) | Qdb_Qdbfrcac_Long_Comment | Long comment. |
Row and Column Access Control Label Area (Qdb_Qdbfrcac_Label_Area)
The Qdb_Qdbfrcac_Label_Area section can be located with the offset Qdb_Qdbfrcac_Def_Off_Label in the Qdb_Qdbfrcac_Def_Head section.
Offset | Type | Field | Description | |
---|---|---|---|---|
Dec | Hex | |||
0 | 0 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Label_Tot_Len | Total length of the label area Qdb_Qdbfrcac_Label_Area. |
4 | 4 | BINARY(4) UNSIGNED | Qdb_Qdbfrcac_Label_Len | Length of the label that is located in variable Qdb_Qdbfrcac_Label_Comment. |
8 | 8 | BINARY(2) UNSIGNED | Qdb_Qdbfrcac_Label_Ccsid | CCSID of the label in Qdb_Qdbfrcac_Label_Comment. |
10 | 0A | CHAR(22) | Qdb_Qdbfrcac_Label_Reserved22 | Reserved. |
32 | 20 | CHAR(*) | Qdb_Qdbfrcac_Label_Comment | Label. |
Usage Notes
In multithreaded jobs, this API is not threadsafe and fails for distributed data management (DDM) files of type *SNA.
Error Messages
Message ID | Error Message Text |
---|---|
CPF24B4 E | Severe error while addressing parameter list. |
CPF3CF1 E | Error code parameter is not valid. |
CPF3C19 E | Error occurred with receiver variable specified. |
CPF3C21 E | Format name &1 is not valid. |
CPF3C22 E | Cannot get information about file &1. |
CPF3C23 E | Object &1 is not a database file. |
CPF3C24 E | Length of the receiver variable is not valid. |
CPF3C25 E | Value &1 for file override parameter is not valid. |
CPF3C90 E | Literal value cannot be changed. |
CPF3021 E | File &1 not allowed with SYSTEM(*RMT). |
CPF3025 E | File &1 not allowed with SYSTEM(*LCL). |
CPF325F E | Conversion of the text failed. |
CPF327A E | Value &1 for format type parameter is not valid. |
CPF3270 E | Keyed file operation not allowed for file &1. |
CPF9872 E | Program or service program &1 in library &2 ended. Reason code &3. |
API introduced: V2R2
Top | Database and File APIs | APIs by category |