Visual Explain (QQQVEXPL) API


  Required Parameter Group:

1 Pointer to qualified query name Input CHAR(*)
2 Pointer to qualified database monitor table Input CHAR(*)
3 Pointer to the set of records returned I/O PTR(SPP)
4 Pointer to the return code structure I/O CHAR(*)

  Threadsafe: Conditional; see Usage Notes.

The Visual Explain (QQQVEXPL) API is used to create a query graph that graphically displays the execution of an SQL statement. You can use this tool to see information about both static and dynamic SQL statements. QQQVEXPL supports the following types of SQL statements:

You can use this tool to better understand where the highest costs of your queries are taking place. You can improve query performance by:

You also can use the QQQVEXPL API to:

Input to the Visual Explain (QQQVEXPL) API is two structures. One contains the information the Visual Explain consolidator needs to uniquely identify which query within the database monitor table is to be explained. The other contains the name of the database monitor table. The database monitor table is a table that contains the records resulting from an execution of the STRDBMON command. Output from the Visual Explain (QQQVEXPL) API is a pointer to a stream of data located in user domain storage. This data contains the information necessary to create a pictorial view of how the specified query was implemented. It is up to the user to clean up the user domain storage. Also, output is a structure that contains an error return code, the number of entries in the output data, and the entry number of the Final Select ICON. To create the picture, the user starts with the entry of the Final Select ICON and works back to the beginning ICONs.

The format for the output records (or array entries) can be found in Output Format. Each record has a unique I CON number associated with it. The unique ICON number associates the records to a particular ICON. That is, all records with the same unique ICON number are associated with one specific ICON. For example, if the Final Select ICON has a unique ICON number of 12, then all records with a unique ICON number of 12 contain information about the Final Select ICON. The record immediately following the Final Select record is the record that tells the user how many ICONs (called child ICONs) are branched off the Final Select ICON. This record will have a record type of 11, which means it contains the number of child ICONs. The unique ICON number will match the unique ICON number of the Final Select ICON. Therefore, we know this record is telling us how many child ICONs there are for the Final Select ICON. The next records will contain the ICON number of the child ICONs. There will be one record for each child ICON and they will have a record type of 12 (unique ICON number of the child ICON). The user can find the record that corresponds to the child ICON by searching for the record that has a record type of 10 (new ICON) and a unique ICON number that matches the ICON number of the child ICON. Once the record of the child ICON is found, the process starts over again. All the records associated with that ICON (that is, that have the same unique ICON number) are read and processed. Any child ICONs are put on a stack or queue to be processed next. To see the list of possible record types, see Record Types.

The heart of the picture that is generated is the ICONs. In general, each ICON represents an operation performed during the execution of the query. It is up to the user to create and design the ICONs to be used. The connection between the output data and the user's ICONs is the label of the ICON that is returned within the new ICON record (record type of 10). The user is expected to match the non-translated label that is returned to the label that corresponds to the specific ICON. The non-translated ICON label is returned in the character output field. The translated ICON label is returned in the column heading field. For a list of ICON labels, see ICON Labels. For a detailed description of the operation represented by each ICON, see Database Performance and Query Optimization in the iSeries Information Center.


Authorities and Locks

Library Authority
*EXECUTE
Table Authority
*OBJOPR, *READ

Required Parameter Group

Pointer to the qualified query
INPUT; CHAR(*)

A pointer to a variable length structure that is used to determine the query to be explained. The structure contains two variables:

Type Description
BINARY(2) Length of the structure that contains the qualified query.
CHAR(*) Structure used to determine the specific query to be explained. This structure contains seven variables. Generally, these variables are set to the same value as the corrsponding variables in the QQJFLD field within the QQQ1000 record of the query to be explained. One way to find the appropriate QQQ1000 record within the database monitor table is to view the SQL statement text (field QQ1000) and compare it to the SQL statement text of the query you wish to have explained.
System name
CHAR(8). A specific iSeries name. It is set to the same value as the QQSYS field or the first 8 bytes of field QQJFLD.
Job name
CHAR(10). A specific job name. It is set to the same value as the QQJOB field or bytes 9 to 18 of field QQJFLD.
Job user
CHAR(10). A specific user profile name. It is set to the same value as the QQUSER field or bytes 19 to 28 of field QQJFLD.
Job number
CHAR(6). A specific job number. It is set to the same value as the QQJNUM field or bytes 29 to 34 of field QQJFLD.
Unique query count
BINARY(4). A unique query number. It is set to the same value as found in bytes 35 to 38 of field QQJFLD (that is, Select hex(substr(QQJFLD,35,4)) From Montable).
Statement number
BINARY(4). A specific statement number. It is set to the same value as found in bytes 39 to 42 of field QQJFLD (that is, Select hex(substr(QQJFLD,39,4)) From Montable).
Query Definition Template (QDT) number
BINARY(4). A specific QDT number. It is set to the same value as found in bytes 43 to 46 of field QQJFLD (that is, Select hex(substr(QQJFLD,43,4)) From Montable).

Pointer to qualified monitor table
INPUT; CHAR(*)

A pointer to a CHAR(72) structure containing the name of the database monitor table and other optional variables. The structure contains nine variables:

Type Variable Description
CHAR(10) Monitor table name Name of the database monitor table that contains the query to be explained.
CHAR(10) Monitor library name Library of the database monitor table.
CHAR(3) Date format A specific date format or blanks. I f blank, the date format of the current job will be extracted and used. Possible date formats are:
  • USA
  • ISO
  • EUR
  • JIS
  • MDY
  • DMY
  • YMD
  • JUL
CHAR(1) Date separator A specific date separator or J. If J, the date separator of the current job will be extracted and used. Possible date separators are:
  • "/"
  • "-"
  • "."
  • ","
  • " "
CHAR(3) Time format A specific time format. It must be one of the following values:
  • USA
  • ISO
  • EUR
  • JIS
  • HMS
CHAR(1) Time separator A specific time separator or J. If J, the time separator of the current job will be extracted and used. Possible time separators are:
  • ":"
  • "."
  • ","
  • " "
CHAR(1) Decimal point A specific decimal point, J, or blank. If J or blank, the decimal point of the current job will be extracted and used. Possible decimal points are:
  • "."
  • ","
CHAR(3) Language ID A specific language ID, J, or blanks. If J or blanks, the language ID of the current job will be extracted and used. Currently, the language ID is not used and it is recommended this value be set to blanks.
CHAR(40) Reserved Open for future expansion. These should be set to hexadecimal zeros.

Pointer to output data
I/O; PTR(SPP)

A pointer to data that can be viewed as a set of records or multiple entries within an array. This data is used to determine the pictorial representation of the query. The user can retrieve the data in any manner. One suggested method is to view the returned data as a set of records and use the SET RESULTS SETS command within an SQL procedure to retrieve the output data. To see the format of the output data, see Output Format. Once finished, it is up to the user to deallocate or destroy the space containing the output data.

Pointer to output return code
I/O; CHAR(*)

Pointer to a CHAR(32) structure that contains the following output information:

Type Variable Description
BINARY(4) Error code Error code returned from the Visual Explain consolidator. See Error Codes for a list of possible return codes.
BINARY(4) Number of records returned Number of records (or array entries) returned.
BINARY(4) Final select record Record number (or array entry), within the set of records returned, of the Final Select ICON.
BINARY(4) Reserved Currently not used.
BINARY(4) Reserved Currently not used.
BINARY(4) Reserved Currently not used.
BINARY(4) Reserved Currently not used.
BINARY(4) Reserved Currently not used.

Usage Notes

This function is threadsafe, but not thread-enabled. Database monitor data is collected in the threaded process.


Output Format

The format for each record (or each array entry) in the output data is as follows:

Offset Type Field
Dec Hex
0 0 BINARY(4) Unique ICON number.

Each icon in the picture is given a unique number. This value is what ties the records together; that is, all records with the same unique ICON number are associated with that specific ICON.

4 4 BINARY(4)
Record type or ID.

Each record can be one of many possible types. See Record Types for the list of possible record types. A record type of 10 (new ICON) indicates another ICON was added to the picture and its unique number can be found in the unique ICON number field.

8 8 BINARY(4) Context type.

The type of context with which this record is associated. A context is a group of values used for a special purpose. See Context Types for the list of possible contexts.

12 C BINARY(4) Context order.

If this record is associated with a context type, this is the order, or position, within the context for the value. For example, table name would have a context order of two since it is the second variable of information associated with the table description context. Table library would have a context order of one.

16 10 BINARY(4) Flyover order.

The order, or position, within the flyover information for this value. The flyover information is the information that is shown when the cursor is held over a particular ICON and a window pops up showing some of the data attributes associated with that ICON.

20 14 BINARY(4) Arrow order.

The order, or position, within the arrow information for this value. The arrow information is the information shown on the arrows that connect the ICONs.

24 18 BINARY(4) Arrow value.

The value shown on the arrow that connects the ICONs together. Generally, this value is either the estimated number of rows or the estimated processing time.

28 1C BINARY(4) Format value.

Used to highlight or format output data. For example, all header lines within the data attributes will have a format value associated with them. This identifies all the header records and allows users the option to format these specific records in the same manner.

32 20 CHAR(1) Specifies (yes or no) if the data attributes associated with the ICON are returned in a predetermined (numerical) order. This variable is set only for the record whose context type is new ICON. This variable is pertinent only to those users who wish to show the data attributes in the same order that the Visual Explain consolidator returned them. Users who wish to choose their own order of data attributes can simply ignore this indicator.
33 21 CHAR(1) Type of output data.

The type of output data is either "C", "N", or "X". It is the field that contains the character output ("C") or the field that contains the numeric output ("N"). It tells the user which field to look in for the output data. A value of "X" indicates the character output exceeds 1000 bytes and the remaining character output is found on the following array entry.

34 22 BINARY(2) Length, in bytes, of the column heading.
36 24 CHAR(128) Column heading.

The description, or heading, of the output data. For a record type of new ICON, this will be the label of the ICON. For a data attribute record type, this will be a description of the data attribute; for example, Table name.

164 A4 BINARY(4) Reserved.
168 A8 BINARY(4) Reserved.
172 AC BINARY(4) Reserved.
176 B0 BINARY(2) Length, in bytes, of the character output data.

It is set only if the type of output is "C" or "X".

178 B2 CHAR(1000) Character output.

The character output could be many things, depending on the record type. For a new ICON record, the character output is the label associated with the ICON. For a data attribute, the character output is the value for that data attribute. For example, if the column heading was Table name, then the character output would be TABLE001. It is set only if the type of output is "C" or "X".

1178 49A BINARY(4) Numeric output.

The numeric output is used only for a record that has a numeric output (that is, the child ICON record type or number of child ICONs record type). Generally, most records (especially data attribute records) have their output converted to character format. It is set only if the type of output is "N".

1182 49E BINARY(2) Reserved.

ICON Labels

To determine which ICON should be shown, look at the non-translated ICON label that is returned in the character output field. Compare this text string to the text string associated with the user-generated ICONs. The ICON labels that may be returned are shown below. For a detailed description of the operation represented by the ICON, refer to Database Performance and Query Optimization in the iSeries Information Center.

ICON Label Description
Table Scan All rows in the table were paged in and selection criteria was applied against each row. Only those rows meeting the selection criteria were retrieved. To get the result in a particular sequence, you must specify the ORDER BY clause.
Table Scan, Parallel A table scan access method was used and multiple tasks were used to select the rows in parallel. The table was partitioned and each task was given a portion of the table with which to work.
Index Scan - Key Selection All entries of the index were paged in. (This is different from key positioning, where only a specified range of key entries were paged in.) Any selection criteria, whose predicates match the key columns of the index, were applied against the index entries. Only selected key entries were used to select rows from the corresponding table data.
Index Scan - Key Selection, Parallel Multiple tasks were used to perform key selection in parallel. The table was partitioned and each task was given a portion of the table with which to work.
Index Scan - Key Positioning
Index Scan - Key Positioning, Parallel Multiple tasks were used to perform the key positioning in parallel. The range of key values was determined by the selection criteria whose predicates matched the key columns of the index. The number of selected key entries were further reduced by the use of index key selection or derived selection after key positioning was completed. Only selected key entries were used to select rows from the corresponding table data.
Skip Sequential Table Scan A bitmap was used to determine which rows would be selected. No CPU processing was done on rows not selected and I/O was minimized by bringing in only those pages that contained rows to be selected.
Skip Sequential Table Scan, Parallel A skip sequential table scan access method was used and multiple tasks were used to select the rows in parallel. The table was partitioned and each task was given a portion of the table with which to work.
Encoded Vector Index Access was provided to a database file by assigning codes to distinct key values, and then representing these values in an array (vector). The elements of the array can be 1, 2, or 4 bytes in length, depending on the number of distinct values that must be represented. Because of their compact size and relative simplicity, encoded vector indexes provide for faster scans that can be more easily processed in parallel.
Encoded Vector Index, Parallel Multiple tasks were used to perform the encoded vector index selection in parallel. T his allows for faster scans that can be more easily processed in parallel. The elements of the array can be 1, 2, or 4 bytes in length, depending on the number of distinct values that must be represented. Because of their compact size and relative simplicity, encoded vector indexes provide for faster scans and can be more easily processed in parallel.
Dynamic Bitmap A bitmap was generated dynamically from an existing index. It then was used to determine which rows were to be retrieved from the table. To improve performance, dynamic bitmaps can be used in conjunction with any of the following access methods:
  • Skip sequential table scan
  • Index scan - key positioning
  • Index scan - key selection
Temporary Table A temporary table was required to contain the intermediate results of the query, or the queried table could not be queried as it currently exists and a temporary table was created to replace it.
Temporary Hash Table A temporary hash table was created to perform hash processing.
Temporary Index A temporary hash table was created to perform hash processing.
Hash Join A temporary hash table was created to perform the join. T he tables queried were joined together using a hash join implementation where a hash table was created for each secondary table. Therefore, matching values were hashed to the same hash table entry.
Nested Loop Join Queried tables were joined together using a nested loop join implementation. Values from the primary file were joined to the secondary file using an index whose key columns matched the specified join columns.
Index Grouping Selected rows were grouped or summarized. Therefore, duplicate rows within a group were eliminated.
Hash Grouping Selected rows were grouped or summarized. Therefore, duplicate rows within a group were eliminated.
Sort Selected rows were sorted using a sort algorithm.
Union Merge The results of multiple subselects were merged or combined into a single result.
Subquery Merge The results of multiple subselects were merged or combined into a single result.
Bitmap Merge Multiple bitmaps were merged or combined to form a final bitmap. The merging of the bitmaps simulates boolean logic (AND/OR selection).
Distinct Duplicate rows in the result were prevented. You can specify that you do not want any duplicates by using the DISTINCT keyword, followed by the selected column names.
Select A point in the query where multiple results are brought together into a single result set. For example, if a query is the union of two different select statements, at the point before the union occurs, the Select icon indicates the points where the select statements finished and the union is about to occur.
Final Select The original text and summary information of how the query was implemented.
Insert The original text and summary information of how the query was implemented.
Update The original text and summary information of how the query was implemented.
Delete The original text and summary information of how the query was implemented.
Unknown The operation performed is not recognized by Visual Explain. For example, the system may support a new function that is not yet supported by Visual Explain.

Context Types

BINARY(4) A context is a group of values used for a special purpose.

Context Type Description
21 Table Description The variables needed to retrieve information about the table. These variables are:
  1. Table library
  2. Table name
22 Index Description The variables needed to retrieve information about the index. These variables are:
  1. Index library
  2. Index name
23 Create Index Attributes The information needed to create an index. This includes:
  1. Library of base table
  2. Name of base table
  3. Type of index to create:
    "B"  Binary radix index
    "E"  Encoded vector index
  4. Number of unique values
  5. Key columns
  6. Alternate collating sequence library name
  7. Alternate collating sequence table name
24 Environment Attributes Information about the environment when the query was executed. This includes:
  1. Memory pool size
  2. Memory pool ID
  3. Date format
  4. Date separator
  5. Time format
  6. Time separator
  7. Decimal point
  8. Sort sequence table name
  9. Sort sequence library name
  10. Language ID
  11. Query INI table name
  12. Query INI library name
  13. Query time limit
  14. Parallel degree
  15. Maximum number of tasks
  16. Parameter marker conversion

Format Types

BINARY(4) The formatting value is used to format or highlight similar output data. For example, all header lines within the data attribute output will have a format value associated with them. This allows the user the option to identify and format all these particular header lines in the same manner.

Format Type Description
8 Index Advised Data attributes associated with the index advised function.
16 Header Header line within the data attribute output.

Record Types

Generally, record types with a value less than 100 are used to construct the picture. For example, they determine which ICONs are connected together. Record types with a value greater than 1000 are data attributes (information associated with a particular ICON). For a detailed description of the data attributes, see Database Performance and Query Optimization in the iSeries Information Center.

Record Type Description
10 New ICON.
11 Number of child ICONs.
12 Unique ICON number of the child ICON.
111 Heading only, no output data.
1010 Name of the index created.
1011 Library of the index created.
1012 Name of the temporary table created.
1013 Library of the temporary table created.
1014 Name of the temporary hash table created.
1015 Library of the temporary hash table created.
1031 Library of the table being queried.
1032 Name of the table being queried.
1033 Member name of the table being queried.
1034 Long name of the table being queried.
1035 Long library of the table being queried.
1041 Library of the base table.
1042 Name of the base table (underlying physical table).
1043 Member name of the base table.
1044 Long name of the base table.
1045 Long library of the base table.
1051 Library of the index used.
1052 Name of the index used.
1053 Member name of the index used.
1054 Long name of the index used.
1055 Long library of the index used.
1102 Time when the database monitor record was created.
1104 Timestamp of when the SQL statment started.
1106 Timestamp of when the SQL statement ended.
1108 Amount of time spent during optimization, in seconds.
1110 Amount of time spent creating the cursor (open data path), in seconds.
1112 Total time for the SQL statement, in milliseconds.
1114 Total time for the SQL statement, in microseconds.
1120 Statement OPEN time, in milliseconds.
1122 Statement FETCH time, in milliseconds.
1124 Statement CLOSE time, in milliseconds.
1220 Statement number.
1222 Statement function.
1224 Statement operation.
1226 Statement type.
1228 Statement name.
1230 Statement outcome.
1232 SQL return code.
1234 SQLSTATE.
1240 Cursor name.
1242 Package name.
1244 Package library.
1250 Number of rows returned.
1252 Number of rows fetched.
1260 SQL statement text.
1306 CLOSQLCSR value.
1308 ALWCPYDTA value.
1310 Pseudo open.
1312 Pseudo close.
1313 Hard close reason code.
1314 Open data path implementation.
1320 Dynamic replan reason code.
1324 Dynamic replan reason subcode.
1326 Timestamp of the last replan.
1330 Parse required.
1332 Data conversion.
1334 Level of commitment control.
1336 Blocking enabled.
1338 Delay preperation.
1339 Statement is explainable.
1340 Type of naming convention.
1342 Type of dynamic execution.
1344 Optimize LOB.
1350 User profile, static.
1352 User profile, dynamic.
1354 Default collection.
1360 Procedure name on the call.
1362 Procedure library on the call.
1364 Directory path.
2012 Estimated processing time, in seconds.
2016 Cumulative processing time, in seconds.
2018 Total number of rows in the table.
2020 Size of the table.
2042 Estimated number of rows selected.
2044 Estimated number of joined rows.
2046 Join position.
2048 Original file position.
2050 Join method.
2052 Join type.
2054 Join operator.
2056 Join fanout.
2058 Number of files joined.
2070 I/O or CPU bound.
2080 Reason code.
2110 Index scan, key positioning.
2112 Number of key columns for key positioning.
2114 Estimated number of entries selected through key positioning.
2116 Index scan, key selection.
2118 Estimated number of entries selected through key selection.
2122 Index only access.
2124 Index fits into main memory.
2126 Memory pool size.
2128 Memory pool ID.
2130 Skip key processing.
2140 Type of index.
2141 Index usage.
2142 Number of entries in the index.
2144 Number of unique values in the index.
2146 Percent overflow for the index.
2148 Vector size of the index.
2150 Size of the index used.
2152 Page size of the index used.
2154 Reason code of why index was used.
2160 Index is a constraint.
2162 Name of the constraint.
2182 Data space selection exists.
2184 Skip sequential processing was used.
2190 Reason code for the table scan processing.
2220 Index is a constraint.
2222 Name of the constraint.
2224 Data space selection exists.
2226 Skip sequential processing was used.
2320 The query optimizer timed out.
2322 Reason code of why the index was not used.
2324 List of indexes which the query optimizer considered.
2346 The query optimizer is advising an index to be created.
2348 The number of key columns within the index advised that will use key positioning.
2350 The list of key columns for the index advised.
2380 Was parallel pre-fetch used.
2382 Was parallel pre-load used.
2384 Parallel degree requested by the query optimizer.
2386 Parallel degree used.
2388 Reason code why the parallel degree requested by the optimizer was not used.
2402 Number of entries in the temporary index created.
2404 Page size of the temporary index created.
2406 Row size of the temporary index created.
2408 Was an alternate collating sequence table used to create the temporary index.
2409 Name of the alternate collating sequence table used to create the temporary index.
2410 Library of the alternate collating sequence table used to create the temporary index.
2412 Is the temporary index that was created reusable.
2414 Is the temporary index that was created a sparse or select/omit index.
2416 Type of index that was created.
2418 Was the index created as a permanent object.
2420 Was the index created from another index.
2422 Parallel degree requested by query optimizer for creation of the index.
2424 Parallel degree used during creation of the index.
2426 Reason code why the parallel degree requested by the optimizer for the index creation was not used.
2428 Reason code why a temporary index was created.
2430 Key columns used when creating the temporary index.
2510 Number of rows within the temporary table.
2512 Size of the temporary table.
2514 Row size of the temporary table.
2516 Default values exist in temporary table.
2518 Temporary table created is a temporary result table.
2520 Temporary table created is a distributed table.
2522 Nodes where the temporary distributed table was created.
2524 Reason code why a temporary table was created.
2550 Number of rows within the temporary hash table.
2552 Size of the temporary hash table.
2554 Row size of the temporary hash table.
2556 Key size of the temporary hash table.
2558 Element size of the temporary hash table.
2560 Memory pool size where temporary hash table was created.
2562 Memory pool ID where temporary hash table was created.
2563 Reason code why a temporary hash table was created.
2564 Columns used when creating the temporary hash table.
2612 Columns used for dataspace selection.
2614 Was derived selection used.
2616 Columns used for derived selection.
2620 Columns used for key positioning.
2622 Columns used for key selection.
2624 Columns used for join selection.
2626 Columns used for ordering.
2628 Columns used for grouping.
2810 Type of grouping implementation.
2812 Does HAVING selection exist.
2814 Was the HAVING selection converted into WHERE seletion.
2816 Estimated number of groups.
2818 Average number of rows within each group.
2820 Grouping columns.
2822 MIN columns.
2824 MAX columns.
2826 SUM columns.
2828 COUNT columns.
2830 AVERAGE columns.
2910 Subselect number of the inner subselect.
2912 Nested level of the inner subselect.
2914 Subselect number of the materialized view containing the inner subselect.
2916 Nested level of the materialized view containing the inner subselect.
2920 Subquery operator.
2922 Correlated columns exist.
2924 List of the correlated columns.
3020 Size of the bitmap created.
3022 Number of bitmaps created.
3024 IDs of the bitmaps created.
3026 IDs of the bitmaps that were merged together.
4020 System name.
4022 Job name.
4024 Job user.
4026 Job number.
4028 Unique query count.
4032 Subselect count.
4040 Relational database name.
4042 Thread ID.
4044 Unique refresh count.
4046 Subselect nested level.
4048 Materialization number of the subselect.
4050 Nested level of the subselect that was materialized.
4052 Materialization number for the decomposed subselect.
7008 List of the host variable values.
7009 Type of host variable implementation.
7010 Type of processing for the specified ordering.
7011 Name of the index used to satisfy ordering.
7012 Library of the index used to satisfy ordering.
7013 Long name of the index used to satisfy ordering.
7014 Long library of the index used to satisfy ordering.
7020 Type of processing for the specified grouping.
7021 Name of the index used to satisfy grouping.
7022 Library of the index used to satisfy grouping.
7023 Long name of the index used to satisfy grouping.
7024 Long library of the index used to satisfy grouping.
7026 Query contains UNION.
7027 Query contains subquery (subselect).
7030 Type of join processing.
7032 Query contains distinct.
7034 Query contains distributed tables.
7036 List of the nodes containing the distributed tables.
7050 Quick summary of the implementation.
8014 Memory pool size.
8016 Memory pool ID.
8020 Date format.
8022 Date separator.
8024 Time format.
8026 Time separator.
8028 Decimal point.
8030 Name of the sort sequence table associated with the query.
8032 Library of the sort sequence table associated with the query.
8034 Language ID.
8036 Country or region ID.
8040 Query INI table name.
8042 Query INI library.
8044 Maximum query time limit.
8046 Parallel options.
8048 Maximum number of tasks.
8050 Apply CHGQRYA options to remote systems.
8052 Asynchronous job usage.
8054 Join order was forced.
8056 Print debug messages.
8060 Parameter marker conversion.
8062 User defined function (UDF) time limit.
8064 Optimizer limitations.

Error Codes

Possible error codes returned from the Visual Explain consolidator are:

Error Code Description
0 Successful.
71 Invalid date format.
72 Invalid date separator.
73 Invalid time format.
74 Invalid time separator.
75 Invalid decimal point.
90 No records in the specified database monitor table.
91 Failure trying to read records from specified database monitor table.
92 Query too complex to be explained.
93 Specified database monitor table not found.
99 Query function not supported.
1000 Missing or invalid QQQ1000 record within the database monitor table.
3000 Missing or invalid QQQ3000 record within the database monitor table.
3001 Missing or invalid QQQ3001 record within the database monitor table.
3002 Missing or invalid QQQ3002 record within the database monitor table.
3003 Missing or invalid QQQ3003 record within the database monitor table.
3004 Missing or invalid QQQ3004 record within the database monitor table.
3014 Missing or invalid QQQ3014 record within the database monitor table.
3021 Missing or invalid QQQ3021 record within the database monitor table.
3022 Missing or invalid QQQ3022 record within the database monitor table.
3023 Missing or invalid QQQ3023 record within the database monitor table.
3025 Missing or invalid QQQ3025 record within the database monitor table.
3027 Missing or invalid QQQ3027 record within the database monitor table.
3028 Missing or invalid QQQ3028 record within the database monitor table.
0nnn SQL error code (converted to a positive value) that occurred while reading records from the specified database monitor table.


API introduced: V5R1
Top | Database and File APIs | APIs by category