DBMS_AQ.ENQUEUE_ARRAY Not Handling NULL Values Appropriately (Doc ID 1302522.1)

Last updated on MARCH 09, 2011

Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.5 to 11.2.0.2 - Release: 10.2 to 11.2
Information in this document applies to any platform.

Symptoms

If you are using DBMS_AQ.ENQUEUE_ARRAY to to enqueue an array of payloads and you happen to set CORRELATION attribute during into the enqueue array, there might be a case where the CORRELATION value does not reset. See below example scenario:

Created an array of 5 elements for enqueueing via DBMS_AQ.ENQUEUE_ARRAY.

Let's say with following values for CORRELATION attribute:

Message 1 = NULL
Message 2 = "Key 2"
Message 3 = NULL
Message 4 = NULL
Message 5 = NULL

When dequeueing, we can see messages 3, 4 and 5 with correlation "Key 2" as well:

Message 1 = NULL
Message 2 = "Key 2"
Message 3 = "Key 2"
Message 4 = "Key 2"
Message 5 = "Key 2"

The correct behavior would expect to see messages 3,4 and 5 as NULL.

Changes

Using DBMS_AQ.ENQUEUE_ARRAY API to enqueue array of messages.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms