Skip to content

Commit 4a94025

Browse files
Eliminated memory leak when converting a third party data frame to one
used internally by the driver (#561).
1 parent 36a2951 commit 4a94025

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

doc/src/release_notes.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ Common Changes
4242
(`issue 554 <https://github.com/oracle/python-oracledb/issues/554>`__).
4343
#) Fixed regression with contents of :data:`Cursor.description` when calling
4444
:meth:`Cursor.parse()` with a query that returns LOBs.
45+
#) Eliminated memory leak when converting a third party data frame to one used
46+
internally by the driver
47+
(`issue 561 <https://github.com/oracle/python-oracledb/issues/561>`__).
4548
#) Fixed bug causing hang when using :ref:`asyncio <concurrentprogramming>`
4649
and the database closes the connection before the connection is returned to
4750
the user.

src/oracledb/impl/arrow/dataframe.pyx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#------------------------------------------------------------------------------
2-
# Copyright (c) 2025, Oracle and/or its affiliates.
2+
# Copyright (c) 2025, 2026, 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
@@ -71,6 +71,7 @@ cdef class DataFrameImpl:
7171
array_impl.populate_from_array(df_impl.schema_impls[i],
7272
arrow_array.children[i])
7373
df_impl.arrays.append(array_impl)
74+
ArrowArrayRelease(&arrow_array)
7475

7576
ArrowArrayStreamRelease(arrow_stream)
7677
return df_impl

0 commit comments

Comments
 (0)