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
3333#) Pooled connections that are no longer needed are now closed normally if
3434 possible instead of simply having the socket disconnected
3535 (`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.
3638
3739Thick Mode Changes
3840++++++++++++++++++
Original file line number Diff line number Diff line change @@ -88,7 +88,7 @@ cdef class AqBaseMessage(Message):
8888 elif keyword == TNS_AQ_EXT_KEYWORD_AGENT_ADDRESS:
8989 props_impl.sender_agent_address = value
9090 elif keyword == TNS_AQ_EXT_KEYWORD_AGENT_PROTOCOL:
91- props_impl.sender_agent_protocol = value
91+ props_impl.sender_agent_protocol = value[ 0 ]
9292 elif keyword == TNS_AQ_EXT_KEYWORD_ORIGINAL_MSGID:
9393 props_impl.original_msg_id = value
9494
Original file line number Diff line number Diff line change @@ -463,6 +463,23 @@ def test_7828(self):
463463 setattr (props , name , None )
464464 self .assertIsNone (getattr (props , name ))
465465
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+
466483
467484if __name__ == "__main__" :
468485 test_env .run_test_cases ()
Original file line number Diff line number Diff line change @@ -402,6 +402,23 @@ async def test_7924(self):
402402 with self .assertRaisesFullCode ("DPY-2062" ):
403403 await queue .enqone (props )
404404
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+
405422
406423if __name__ == "__main__" :
407424 test_env .run_test_cases ()
You can’t perform that action at this time.
0 commit comments