Skip to content

Commit df5c280

Browse files
Fixed bug populating attribute MessageProperties.deliverymode after
dequeue, which is set using attribute DeqOptions.deliverymode.
1 parent 0b75443 commit df5c280

File tree

5 files changed

+10
-0
lines changed

5 files changed

+10
-0
lines changed

doc/src/release_notes.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ Thin Mode Changes
3636
``https_proxy`` parameter can successfully perform name resolution.
3737
#) Fixed bug resulting in explicit request boundaries to aid planned database
3838
maintenance not being sent when using connection pools with asyncio.
39+
#) Fixed bug populating :attr:`MessageProperties.deliverymode` after dequeue,
40+
which is set using :attr:`DeqOptions.deliverymode`.
3941
#) Fixed bug resulting in ``TypeError`` when using
4042
:attr:`DeqOptions.correlation` for buffered delivery mode.
4143
#) Fixed bug when fetching multiple consecutive null values into a data frame.

src/oracledb/impl/thin/messages/aq_array.pyx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ cdef class AqArrayMessage(AqBaseMessage):
6969
props_impl.msgid = msgid[j * 16:(j + 1) * 16]
7070
else:
7171
props_impl.msgid = msgid
72+
props_impl.delivery_mode = (
73+
self.deq_options_impl.delivery_mode
74+
)
7275
buf.read_ub2(&temp16) # extensions len
7376
if temp16 > 0:
7477
errors._raise_err(errors.ERR_NOT_IMPLEMENTED)

src/oracledb/impl/thin/queue.pyx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ cdef class BaseThinQueueImpl(BaseQueueImpl):
7474
message = self._conn_impl._create_message(AqDeqMessage)
7575
message.queue_impl = self
7676
message.deq_options_impl = self.deq_options_impl
77+
props_impl.delivery_mode = message.deq_options_impl.delivery_mode
7778
message.props_impl = props_impl
7879
return message
7980

tests/test_7800_aq_raw.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ def test_7809(self):
199199
results = value
200200
other_conn.commit()
201201
self.assertEqual(results, self.raw_data[0])
202+
self.assertEqual(props.deliverymode, oracledb.MSG_BUFFERED)
202203

203204
def test_7810(self):
204205
"7810 - test enqueue/dequeue delivery modes identical - persistent"
@@ -220,6 +221,7 @@ def test_7810(self):
220221
results = value
221222
other_conn.commit()
222223
self.assertEqual(results, self.raw_data[0])
224+
self.assertEqual(props.deliverymode, oracledb.MSG_PERSISTENT)
223225

224226
def test_7811(self):
225227
"7811 - test enqueue/dequeue delivery modes the same"

tests/test_7900_aq_raw_async.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ async def test_7909(self):
187187
results = value
188188
await other_conn.commit()
189189
self.assertEqual(results, self.raw_data[0])
190+
self.assertEqual(props.deliverymode, oracledb.MSG_BUFFERED)
190191

191192
async def test_7910(self):
192193
"7910 - test enqueue/dequeue delivery modes identical - persistent"
@@ -208,6 +209,7 @@ async def test_7910(self):
208209
results = value
209210
await other_conn.commit()
210211
self.assertEqual(results, self.raw_data[0])
212+
self.assertEqual(props.deliverymode, oracledb.MSG_PERSISTENT)
211213

212214
async def test_7911(self):
213215
"7911 - test enqueue/dequeue delivery modes the same"

0 commit comments

Comments
 (0)