The MQCreateVtiReceive() function 3creates a table_name bound to a queue specified by service_name, 3using the quality of service policy defined in policy_name. 3Selecting from this table returns all the available messages in 3the queue and also removes the messages from the queue. If no messages 3are available to be returned, the no rows are returned. An insert 3into the bound table puts messages in the queue.
3The table created has the following schema and uses the "informix".mq access method: 3
3create table table_name ( 3 msg lvarchar(maxMessage), 3 correlid varchar(24), 3 topic varchar(40), 3 qname varchar(48), 3 msgid varchar(12), 3 msgformat varchar(8)); 3 using "informix".mq (SERVICE = service_name, 3 POLICY = policy_name, 3 ACCESS = "RECEIVE");3
The mapping between a table bound to a queue requires translation 3of operation. Actions on specific columns within the table are translated 3into specific operations within the queue, as outlined here:
3The following table describes how the arguments for the MQCreateVtiReceive() function 3are interpreted. 3
3 3Usage | 3Argument Interpretation | 3
---|---|
MQCreateVtiReceive(arg1) | 3arg1 = table_name | 3
MQCreateVtiReceive(arg1, arg2) | 3
3 arg1 = table_name 3arg2 = service_name 3 |
3
MQCreateVtiReceive(arg1, arg2, arg3) | 3
3 arg1 = table_name 3arg2 = service_name 3arg3 = policy_name 3 |
3
MQCreateVtiReceive(arg1, arg2, arg3, arg4) | 3
3 arg1 = table_name 3arg2 = service_name 3arg3 = policy_name 3arg4 = maxMessage 3 |
3