My Oracle Support Banner

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

Last updated on FEBRUARY 26, 2019

Applies to:

Oracle Database - 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

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.