Retrieves information from the message vector about the status of
the last SQL statement.
1 – Format
sql_get_message_vector (addr, index)
2 – Returns
No value returned.
3 – Arguments
3.1 – addr
Address of a variable into which the requested vector element
will be written.
Value: Address of the variable declared to receive the
vector element
Data type: longword (32 bit)
Passing By reference
mechanism:
3.2 – index
The index value of the vector element to return.
Value: A value greater than or equal to 1 and less than
or equal to 20
Data type: Unsigned longword
Passing By value
mechanism:
The following table shows the index values and how they map to
vector elements and the information contained in each vector
element.
Index
Value Information Returned
1 Number of arguments in the vector
2 Primary status code of the last SQL statement
3 Number of FAO arguments to primary message
4-20 Return status for follow-on messages, if any
4 – Description
Use the sql_get_message_vector routine to retrieve information
from the RDB$MESSAGE_VECTOR array. The array provides information
about the execution status of SQL statements. Index 2 of the sql_
get_message_vector routine returns the primary status code of
the last SQL statement. This index is comparable to the SQLCODE
status parameter.
The ANSI/ISO SQL standard does not include the sql_get_message_
vector routine or the RDB$MESSAGE_VECTOR array. For application
programs that comply with the standard, use the SQLCODE or
SQLSTATE status parameters. Furthermore, the status values
returned for a particular condition may change in future versions
of Oracle Rdb.
The status values that are stored in the message vector are
intended to be supplementary information to the status parameters
SQLCODE and SQLSTATE. Use the sql_get_message_vector routine if
the information provided by SQLCODE or SQLSTATE is ambiguous and
your application needs a more specific error code to handle the
error condition.
Relationship Between sql_message_vector and RDB$MESSAGE_VECTOR
shows the relationship between the indexes returned by sql_
message_vector and the fields in RDB$MESSAGE_VECTOR.
Table 1-1 Relationship Between sql_message_vector and
RDB$MESSAGE_VECTOR
sql_message_vector
Indexes RDB$MESSAGE_VECTOR Fields
Index 1 RDB$LU_NUM_ARGUMENTS
Index 2 RDB$LU_STATUS
Index 3 RDB$LU_ARGUMENTS
Index 4-20 Return status for follow-on messages,
if any
5 – Related Routines
None.