Order-table-pointer is a four-byte field into which is placed the pointer to the Order-table.
In this language... | The variable name for Order-table-pointer is... |
---|---|
COBOL | LOB-PARM-ORDER-TABLE-PTR |
PL/I | LOB_PARM_ORDER_TABLE_PTR |
C, C++ | 'LOBParmOrderTablePtr' |
IBM Assembler | LADPON |
This routine... | Takes the action for Order-table-pointer... |
---|---|
DBCHINI | writes |
DBCHCL | reads (IRQ; IWPF) |
Order-table-pointer is used by... | To... |
---|---|
applications | write |
The Order-table consists of the number of 4byte entries specified by the DBCALAD Deferred-per-row value. Each entry corresponds to a Large-object that is deferred (either as a column specified AS DEFERRED <BY NAME> in the USING row descriptor of the Teradata SQL statement, or as a DEFERRED datatype in a DataInfoX or StatementInformation parcel for a parameterized SQL statement), and the order of the entries corresponds to the order of entries in the DBCALAD Row-LOB-list. Each entry contains the relative position, numbered from 1, of either a column in the USING row descriptor of the Teradata SQL statement, or a DataInfo, DataInfoX or StatementInformation parcel for a parameterized SQL statement. While other datatypes also have relative positions, their numbers never appear in DBCALAD Row-LOB-list. For example, given the following skeleton SQL statement,
USING (a INTEGER, b CLOB(1024) AS DEFERRED, c CHAR(100), d BLOB(512) AS DEFERRED BY NAME) INSERT...
there are two AS DEFERRED Large-objects, so the Order-table could contain a maximum of two entries. One of these entries would contain 2 and the other 4. While the numbers in the Order-table entries need not be in ascending order, the only reason not to do so would be to allow the order of entries in the Row-LOB-list to differ from the order of the deferred Large-objects in the SQL, there is no likely justification for the two orders differing, so the values in the entries are normally in ascending numeric order.