Skip to content

Commit ede56f3

Browse files
Fixed error checking when getting and setting the pool ping interval and
the SODA metadata cache flag.
1 parent 15dc59d commit ede56f3

File tree

3 files changed

+31
-23
lines changed

3 files changed

+31
-23
lines changed

doc/src/release_notes.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ Thin Mode Changes
1919
('Q' strings), and fix some issues identifying bind variable placeholders
2020
in embedded quotes and in JSON syntax.
2121

22+
Thick Changes
23+
+++++++++++++
24+
25+
#) Fixed error checking when getting and setting the pool ping interval and
26+
the SODA metadata cache flag.
27+
2228
Common Changes
2329
++++++++++++++
2430

src/oracledb/impl/thick/pool.pyx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#------------------------------------------------------------------------------
2-
# Copyright (c) 2020, 2022, Oracle and/or its affiliates.
2+
# Copyright (c) 2020, 2023, Oracle and/or its affiliates.
33
#
44
# This software is dual-licensed to you under the Universal Permissive License
55
# (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl and Apache License
@@ -255,7 +255,7 @@ cdef class ThickPoolImpl(BasePoolImpl):
255255
"""
256256
cdef int value
257257
if dpiPool_getPingInterval(self._handle, &value) < 0:
258-
_raise_from_odpi
258+
_raise_from_odpi()
259259
return value
260260

261261
def get_soda_metadata_cache(self):
@@ -264,7 +264,7 @@ cdef class ThickPoolImpl(BasePoolImpl):
264264
"""
265265
cdef bint value
266266
if dpiPool_getSodaMetadataCache(self._handle, &value) < 0:
267-
_raise_from_odpi
267+
_raise_from_odpi()
268268
return value
269269

270270
def get_stmt_cache_size(self):
@@ -331,14 +331,14 @@ cdef class ThickPoolImpl(BasePoolImpl):
331331
Internal method for setting the value of the pool-ping-interval.
332332
"""
333333
if dpiPool_setPingInterval(self._handle, value) < 0:
334-
_raise_from_odpi
334+
_raise_from_odpi()
335335

336336
def set_soda_metadata_cache(self, bint value):
337337
"""
338338
Internal method for enabling or disabling the soda metadata cache.
339339
"""
340340
if dpiPool_setSodaMetadataCache(self._handle, value) < 0:
341-
_raise_from_odpi
341+
_raise_from_odpi()
342342

343343
def set_stmt_cache_size(self, uint32_t value):
344344
"""

tests/test_2400_pool.py

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -94,27 +94,26 @@ def __perform_reconfigure_test(self, parameter_name, parameter_value,
9494
getmode=oracledb.POOL_GETMODE_WAIT,
9595
soda_metadata_cache=False):
9696
creation_args = dict(min=min, max=max, increment=increment,
97-
timeout=timeout, wait_timeout=wait_timeout,
98-
stmtcachesize=stmtcachesize,
99-
max_lifetime_session=max_lifetime_session,
100-
max_sessions_per_shard=max_sessions_per_shard,
101-
ping_interval=ping_interval, getmode=getmode,
102-
soda_metadata_cache=soda_metadata_cache)
97+
timeout=timeout, stmtcachesize=stmtcachesize,
98+
ping_interval=ping_interval, getmode=getmode)
99+
if test_env.get_client_version() >= (12, 1):
100+
creation_args["max_lifetime_session"] = max_lifetime_session
101+
if test_env.get_client_version() >= (12, 2):
102+
creation_args["wait_timeout"] = wait_timeout
103+
if test_env.get_client_version() >= (18, 3):
104+
creation_args["max_sessions_per_shard"] = max_sessions_per_shard
105+
if test_env.get_client_version() >= (19, 11):
106+
creation_args["soda_metadata_cache"] = soda_metadata_cache
107+
103108
reconfigure_args = {}
104109
reconfigure_args[parameter_name] = parameter_value
105110

106111
pool = test_env.get_pool(**creation_args)
107112
connection = pool.acquire()
108113
pool.reconfigure(**reconfigure_args)
109-
actual_args = dict(min=pool.min, max=pool.max,
110-
increment=pool.increment, timeout=pool.timeout,
111-
wait_timeout=pool.wait_timeout,
112-
stmtcachesize=pool.stmtcachesize,
113-
max_lifetime_session=pool.max_lifetime_session,
114-
max_sessions_per_shard=pool.max_sessions_per_shard,
115-
ping_interval=pool.ping_interval,
116-
getmode=pool.getmode,
117-
soda_metadata_cache=pool.soda_metadata_cache)
114+
actual_args = {}
115+
for name in creation_args:
116+
actual_args[name] = getattr(pool, name)
118117
expected_args = creation_args.copy()
119118
expected_args.update(reconfigure_args)
120119
self.assertEqual(actual_args, expected_args)
@@ -483,13 +482,16 @@ def test_2416_test_reconfigure_pool_with_missing_values(self):
483482
self.__perform_reconfigure_test("max", 20)
484483
self.__perform_reconfigure_test("increment", 5)
485484
self.__perform_reconfigure_test("timeout", 10)
486-
self.__perform_reconfigure_test("wait_timeout", 8000)
487485
self.__perform_reconfigure_test("stmtcachesize", 40)
488-
self.__perform_reconfigure_test("max_lifetime_session", 2000)
489-
self.__perform_reconfigure_test("max_sessions_per_shard", 5)
490486
self.__perform_reconfigure_test("ping_interval", 50)
491487
self.__perform_reconfigure_test("getmode",
492488
oracledb.POOL_GETMODE_NOWAIT)
489+
if test_env.get_client_version() >= (12, 1):
490+
self.__perform_reconfigure_test("max_lifetime_session", 2000)
491+
if test_env.get_client_version() >= (12, 2):
492+
self.__perform_reconfigure_test("wait_timeout", 8000)
493+
if test_env.get_client_version() >= (18, 3):
494+
self.__perform_reconfigure_test("max_sessions_per_shard", 5)
493495
if test_env.get_client_version() >= (19, 11):
494496
self.__perform_reconfigure_test("soda_metadata_cache", True)
495497

0 commit comments

Comments
 (0)