File tree Expand file tree Collapse file tree 4 files changed +37
-1
lines changed
src/oracledb/impl/thin/messages Expand file tree Collapse file tree 4 files changed +37
-1
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,8 @@ Thin Mode Changes
33
33
#) Pooled connections that are no longer needed are now closed normally if
34
34
possible instead of simply having the socket disconnected
35
35
(`issue 393 <https://github.com/oracle/python-oracledb/issues/393 >`__).
36
+ #) Fixed bug resulting in ``TypeError `` when using
37
+ :attr: `DeqOptions.correlation` ` for buffered delivery mode.
36
38
37
39
Thick Mode Changes
38
40
++++++++++++++++++
Original file line number Diff line number Diff line change @@ -88,7 +88,7 @@ cdef class AqBaseMessage(Message):
88
88
elif keyword == TNS_AQ_EXT_KEYWORD_AGENT_ADDRESS:
89
89
props_impl.sender_agent_address = value
90
90
elif keyword == TNS_AQ_EXT_KEYWORD_AGENT_PROTOCOL:
91
- props_impl.sender_agent_protocol = value
91
+ props_impl.sender_agent_protocol = value[ 0 ]
92
92
elif keyword == TNS_AQ_EXT_KEYWORD_ORIGINAL_MSGID:
93
93
props_impl.original_msg_id = value
94
94
Original file line number Diff line number Diff line change @@ -463,6 +463,23 @@ def test_7828(self):
463
463
setattr (props , name , None )
464
464
self .assertIsNone (getattr (props , name ))
465
465
466
+ def test_7829 (self ):
467
+ "7829 - test deq options correlation with buffered messages"
468
+ queue = self .get_and_clear_queue ("TEST_RAW_QUEUE" )
469
+ value = self .raw_data [0 ]
470
+ props = self .conn .msgproperties (payload = value , correlation = "sample" )
471
+ queue .enqoptions .visibility = oracledb .ENQ_IMMEDIATE
472
+ queue .enqoptions .deliverymode = oracledb .MSG_BUFFERED
473
+ queue .enqone (props )
474
+ self .conn .commit ()
475
+ queue .deqoptions .visibility = oracledb .DEQ_IMMEDIATE
476
+ queue .deqoptions .deliverymode = oracledb .MSG_BUFFERED
477
+ queue .deqoptions .wait = oracledb .DEQ_NO_WAIT
478
+ queue .deqoptions .correlation = "sample"
479
+ msg = queue .deqone ()
480
+ self .conn .commit ()
481
+ self .assertEqual (msg .payload , value )
482
+
466
483
467
484
if __name__ == "__main__" :
468
485
test_env .run_test_cases ()
Original file line number Diff line number Diff line change @@ -402,6 +402,23 @@ async def test_7924(self):
402
402
with self .assertRaisesFullCode ("DPY-2062" ):
403
403
await queue .enqone (props )
404
404
405
+ async def test_7925 (self ):
406
+ "7925 - test deq options correlation with buffered messages"
407
+ queue = await self .get_and_clear_queue ("TEST_RAW_QUEUE" )
408
+ value = self .raw_data [0 ]
409
+ props = self .conn .msgproperties (payload = value , correlation = "sample" )
410
+ queue .enqoptions .visibility = oracledb .ENQ_IMMEDIATE
411
+ queue .enqoptions .deliverymode = oracledb .MSG_BUFFERED
412
+ await queue .enqone (props )
413
+ await self .conn .commit ()
414
+ queue .deqoptions .visibility = oracledb .DEQ_IMMEDIATE
415
+ queue .deqoptions .deliverymode = oracledb .MSG_BUFFERED
416
+ queue .deqoptions .wait = oracledb .DEQ_NO_WAIT
417
+ queue .deqoptions .correlation = "sample"
418
+ msg = await queue .deqone ()
419
+ await self .conn .commit ()
420
+ self .assertEqual (msg .payload , value )
421
+
405
422
406
423
if __name__ == "__main__" :
407
424
test_env .run_test_cases ()
You can’t perform that action at this time.
0 commit comments