Subscription Object

Note

This object is an extension the DB API.

Subscription.callback

This read-only attribute returns the callback that was registered when the subscription was created.

Subscription.connection

This read-only attribute returns the connection that was used to register the subscription when it was created.

Subscription.id

This read-only attribute returns the value 0.

Deprecated since version 6.0: This attribute was never intended to be exposed and will be removed in cx_Oracle 7.

Subscription.ipAddress

This read-only attribute returns the IP address used for callback notifications from the database server. If not set during construction, this value is None.

New in version 6.4.

Subscription.name

This read-only attribute returns the name used to register the subscription when it was created.

New in version 6.4.

Subscription.namespace

This read-only attribute returns the namespace used to register the subscription when it was created.

Subscription.operations

This read-only attribute returns the operations that will send notifications for each table or query that is registered using this subscription.

Subscription.port

This read-only attribute returns the port used for callback notifications from the database server. If not set during construction, this value is zero.

Subscription.protocol

This read-only attribute returns the protocol used to register the subscription when it was created.

Subscription.qos

This read-only attribute returns the quality of service flags used to register the subscription when it was created.

Subscription.registerquery(statement[, args])

Register the query for subsequent notification when tables referenced by the query are changed. This behaves similarly to cursor.execute() but only queries are permitted and the args parameter must be a sequence or dictionary. If the qos parameter included the flag cx_Oracle.SUBSCR_QOS_QUERY when the subscription was created, then the ID for the registered query is returned; otherwise, None is returned.

Subscription.timeout

This read-only attribute returns the timeout (in seconds) that was specified when the subscription was created. A value of 0 indicates that there is no timeout.

Message Objects

Note

This object is created internally when notification is received and passed to the callback procedure specified when a subscription is created.

Message.consumerName

This read-only attribute returns the name of the consumer which generated the notification. It will be populated if the subscription was created with the namespace cx_Oracle.SUBSCR_NAMESPACE_AQ and the queue is a multiple consumer queue.

New in version 6.4.

Message.dbname

This read-only attribute returns the name of the database that generated the notification.

Message.queries

This read-only attribute returns a list of message query objects that give information about query result sets changed for this notification. This attribute will be None if the qos parameter did not include the flag SUBSCR_QOS_QUERY when the subscription was created.

Message.queueName

This read-only attribute returns the name of the queue which generated the notification. It will only be populated if the subscription was created with the namespace cx_Oracle.SUBSCR_NAMESPACE_AQ.

New in version 6.4.

Message.registered

This read-only attribute returns whether the subscription which generated this notification is still registered with the database. The subscription is automatically deregistered with the database when the subscription timeout value is reached or when the first notification is sent (when the quality of service flag cx_Oracle.SUBSCR_QOS_DEREG_NFY is used).

New in version 6.4.

Message.subscription

This read-only attribute returns the subscription object for which this notification was generated.

Message.tables

This read-only attribute returns a list of message table objects that give information about the tables changed for this notification. This attribute will be None if the qos parameter included the flag SUBSCR_QOS_QUERY when the subscription was created.

Message.txid

This read-only attribute returns the id of the transaction that generated the notification.

Message.type

This read-only attribute returns the type of message that has been sent. See the constants section on event types for additional information.

Message Table Objects

Note

This object is created internally for each table changed when notification is received and is found in the tables attribute of message objects, and the tables attribute of message query objects.

MessageTable.name

This read-only attribute returns the name of the table that was changed.

MessageTable.operation

This read-only attribute returns the operation that took place on the table that was changed.

MessageTable.rows

This read-only attribute returns a list of message row objects that give information about the rows changed on the table. This value is only filled in if the qos parameter to the Connection.subscribe() method included the flag SUBSCR_QOS_ROWIDS.

Message Row Objects

Note

This object is created internally for each row changed on a table when notification is received and is found in the rows attribute of message table objects.

MessageRow.operation

This read-only attribute returns the operation that took place on the row that was changed.

MessageRow.rowid

This read-only attribute returns the rowid of the row that was changed.

Message Query Objects

Note

This object is created internally for each query result set changed when notification is received and is found in the queries attribute of message objects.

MessageQuery.id

This read-only attribute returns the query id of the query for which the result set changed. The value will match the value returned by Subscription.registerquery when the related query was registered.

MessageQuery.operation

This read-only attribute returns the operation that took place on the query result set that was changed. Valid values for this attribute are EVENT_DEREG and EVENT_QUERYCHANGE.

MessageQuery.tables

This read-only attribute returns a list of message table objects that give information about the table changes that caused the query result set to change for this notification.