TMF Application Programmer's Guide (G06.24+)

TMF ARLIB2 Audit-Reading Procedures
HP NonStop TMF Application Programmer’s Guide—522419-004
5-64
ARGETMXCOLUMNINFO
ARGETMXCOLUMNINFO
This procedure returns column information for the SQL/MX object indicated by the
current data-fork audit record (as long as the object exists on disk and has the same
name). The information provided by this procedure is necessary to understand the
format of the before-image and after-image data returned by the
ARFETCHMXBEFOREDATA[2] and ARFETCHMXAFTERDATA[2] procedures.
This procedure can only be called when the OBJECTTYPE field in the ARRECORD
indicates ARVALUE-SQLMX-DATADML.
You should call this procedure once for every SQL/MX object, and then cache the
information and re-use it. Whenever a FILE ALTER record, FILE PURGE record, FILE
CREATE record, FILE RENAME record, or an ARVALUE-SQLMX-DDL object-type
record is returned, any cached column information for the corresponding data fork
should be deleted so ARGETMXCOLUMNINFO will be called again when the next
audit record for the data fork is read. DDL changes to the object may cause the
column offsets in the image buffer to change.
This procedure works with audit records of the following types: DELETE (3), INSERT
(5), UPDATE (10), FILE ALTER (12), FILE CREATE (13), UPDATE FIELDCOMP (15),
and FILE RENAME (16)
return-code output
INT .EXT:ref:1
is a returned value indicating the outcome of this procedure.
info-buffer output
INT(32) .EXT:ref
points to a caller-allocated buffer where the before-image and after-image
description information is returned. The returned information describes the format
of the information returned by the ARFETCHMX* procedures in their image-
buffer parameters. The performance of this procedure will be improved if this
buffer starts on a mod 4 address.
CALL ARGETMXCOLUMNINFO ( return-code ! o
, info-buffer ! o
, info-buffer-length ! i
, image-buffer-length-needed ! o
, reply-hint ); ! o
Errors (<0) Table 5-3 (later in this section) describes the error codes.
Warnings (>0) None.