Skip to content

Commit c7d6614

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

File tree

3 files changed

+28
-23
lines changed

3 files changed

+28
-23
lines changed

Diff for: doc/src/release_notes.rst

+3
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ Thin Mode Changes
2424
Thick Mode Changes
2525
++++++++++++++++++
2626

27+
#) Fixed error checking when getting and setting the pool ping interval and
28+
the SODA metadata cache flag.
29+
2730
Common Changes
2831
++++++++++++++
2932

Diff for: src/oracledb/impl/thick/pool.pyx

+5-5
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
"""

Diff for: tests/test_2400_pool.py

+20-18
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
conn = 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)
@@ -480,13 +479,16 @@ def test_2416_test_reconfigure_pool_with_missing_values(self):
480479
self.__perform_reconfigure_test("max", 20)
481480
self.__perform_reconfigure_test("increment", 5)
482481
self.__perform_reconfigure_test("timeout", 10)
483-
self.__perform_reconfigure_test("wait_timeout", 8000)
484482
self.__perform_reconfigure_test("stmtcachesize", 40)
485-
self.__perform_reconfigure_test("max_lifetime_session", 2000)
486-
self.__perform_reconfigure_test("max_sessions_per_shard", 5)
487483
self.__perform_reconfigure_test("ping_interval", 50)
488484
self.__perform_reconfigure_test("getmode",
489485
oracledb.POOL_GETMODE_NOWAIT)
486+
if test_env.get_client_version() >= (12, 1):
487+
self.__perform_reconfigure_test("max_lifetime_session", 2000)
488+
if test_env.get_client_version() >= (12, 2):
489+
self.__perform_reconfigure_test("wait_timeout", 8000)
490+
if test_env.get_client_version() >= (18, 3):
491+
self.__perform_reconfigure_test("max_sessions_per_shard", 5)
490492
if test_env.get_client_version() >= (19, 11):
491493
self.__perform_reconfigure_test("soda_metadata_cache", True)
492494

0 commit comments

Comments
 (0)