Sybase 0.37 BIG Memory Leak -- Simple Program
"Bradley Feldman" <[email protected]> Sun, 18 Sep 2005 00:16:44 -0400
| Newsgroups | gmane.comp.python.sybase |
|---|---|
| Message-ID | <!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAl26AvnJDdE2pAhSiEiAYTsKAAAAQAAAA1nsvC4M7cUyjpCrEq/[email protected]> |
Dave, et al:
I was noticing memory growing and growing steadily while accessing my
database using Sybase 0.37 (along with FreeTDS 0.62.4). This has become a
huge concern for me, so I wrote simple program to see if I could recreate
the problem.
Here's a simple program (slightly modified from Dave's 0.37 release notes)
that recreates the memory leak:
==========================
import Sybase
db = Sybase.connect('db','sa','sa','master',auto_commit=True)
db.execute("if exists (select name from sysobjects where name =
'sp_test_output') begin drop procedure sp_test_output end")
db.execute("create procedure sp_test_output @num int, @result int output as
select @result = @num")
for i in range(200):
for j in range(1000):
c = db.cursor()
r = c.callproc('sp_test_output', {'@num': 12345, '@result':
Sybase.OUTPUT(1)})
#r = c.callproc('sp_test_output', {'@num': 12345,'@result': 1})
print r
============================
Running this program and watching TOP - you'll see memory usage steadily
growing (with either callproc line). Should not be.
Please, this is a _very_ important concern. I'm happy to work with whomever
I need to debug/fix this and obtain a patched Sybase module.
Thanks in advance.
*Bradley