SQL/MX 2.x Query Guide (G06.24+, H06.03+)

Operators and Operator Groups
HP NonStop SQL/MX Query Guide523728-003
7-57
VALUES Operator
The example of the UNPACK operator is based on this array. The output has been
formatted for readability.
Output from MDF file:
PROCEDURE SQLMX_DEFAULT_STATEMENT_26 ("arrayA" ROWSET 50
INTEGER,"arrayB" ROWSET 50 INTEGER)
INSERT INTO t071T VALUES(:"arrayA",:"arrayB");
Command in MXCI:
>>select operator, cardinality, operator_cost, description from
table(explain(('CAT.SCH.CURSOMEM','SQLMX_DEFAULT_STATEMENT_26')));
OPERATOR CARDINALITY OPERATOR_COST DESCRIPTION
---------------- --------------- --------------- ---------------
VALUES 1.0000000E+000 1.4082240E-006 tuple_expr: :arrayA,
:arrayB
UNPACK 1.0000000E+000 7.6120221E-007 unpack_expression:
(:arrayA RowsetArrayScan \:_sys_rowset_index1), (:arrayB RowsetArrayScan
\:_sys_rowset_index1)
packing_factor: 50
index_value: \:_sys_rowset_index1
INSERT 1.0000000E+000 8.1587061E-002 new_rec_expr:
(CAT.SCH.T071T.T1 assign (:arrayA RowsetArrayScan \:_sys_rowset_index1)),
(CAT.SCH.T071T.T2 assign (:arrayBRowsetArrayScan \:_sys_rowset_index1)),
(CAT.SCH.T071T.SYSKEY assign 0)
PARTITION_ACCESS 1.0000000E+000 1.8542949E-003 buffer_size: 31000
record_length: 0
TUPLE_FLOW 1.0000000E+000 2.5373407E-007 join_type: inner
join_method: nested
ROOT 1.0000000E+000 9.8000004E-002 select_list: :arrayA,
:arrayB statement_index: 9 statement: PROCEDURE SQLMX_DEFAULT_STATEMENT_26
("arrayA" ROWSET 50 INTEGER,"arrayB" ROWSET 50 INTEGER)
INSERT INTO t071T VALUES(:"arrayA",:"arrayB");
--- 6 row(s) selected.
VALUES Operator
Tuple Group
The VALUES operator calculates an expression for each row it receives from its child
node and returns that expression to its parent node.
The VALUES operator has one child node. The description field for this operator
contains:
Token Followed by ... Data Type
tuple_expr The tuple produced by this
node
expr(text)