1. Major major MAJOR bug in BDE
I have (unfortunately) discovered a rather severe bug in the Borland Database
Engine. To be brief: passthrough (RequestLive = TRUE) SQL queries cause a memory
leak in IDQRY01.DLL.
It may be specific to my SQL-LINK (ORACLE) but every TQuery.Open and every Master
Query DataChange in a Master-Detail Query causes a leak of about 5k from the
IDQRY01.DLL memory allocation (for EVERY TQUERY). After 1700 of these leaks,
IDQRY01.DLL reports an EOutOfMemory exception, and must be unloaded and reloaded
to continue.
1700 sound like a lot? Not if you have 10 detail queries, like I do. That's
right kiddies, hit the (Master query TDBNavigator) Prior or Next buttons 170 times
and your program will crash. And so will Paradox and every other BDE program you
have running.
What did Borland say when I reported it? "Call our 1-900 line for help." I am
going to pay Borland to let me help them debug a program I just got done paying
them $1700 for? How nice of me!
I have been able to reproduce it on every machine I have tried (rather, I haven't
been able to not produce it, which really was the effect I was after.) You can
watch it too: grab HeapWalker or whatever memory leak debugger you like to use and
watch IDQRY01.DLL's private allocations: when they reach 8.5 megs watch what
happens. Neeto! This is an especially nifty side effect when your project is
due, and Borland won't return your calls.
This can be demonstrated without a single line of code, just slap down two
TQuery's in a Master-Detail relationship, hook a TDBNavigator up to the master
DataSource, make sure the Detail TQuery is set up with RequestLive = TRUE. Run.
Hit the Navigator buttons about 1700 times. (The preferred demo uses a TTimer to
automate the process, but that would require a single line of code ;-)
It does not happen with TTables or Local-SQL TQuerys. (But I NEED to use
passthrough TQuerys!)
Disgruntled,
Brian Badger
MCI Telecommunications
--
Brian Badger, Registered Telepath; P -3 (I can't even read my own thoughts...)
My opinions are my own, and do not reflect the views of the Psi Cop who
implanted my personality.
2. cant create DSN with Intersolve
3. Multiple connections to SQL 7.0 from IIS cause major slowdown
4. Hot Backup
5. paradox + lan slowdowns
6. Description of OS process architecture of Oracle on Novell Netware
7. Installing BDE 4.0 without removing BDE 2.5
8. Identifier CASE problem
9. ODBC 4.0: incredible slowdown after 80 open recordsets
10. How to overcome a major IDAPI (BDE) flaw?
11. MAJOR HELP NEEDED WITH VB 4.0
12. Poor 32-bit BDE Performance on LAN Shared Areas