Skip site navigation (1) Skip section navigation (2)

Re: libpq++ update

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tom Vijlbrief <tom(dot)vijlbrief(at)knoware(dot)nl>
Cc: pgsql-bugs <pgsql-bugs(at)postgresql(dot)org>, pgsql-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: libpq++ update
Date: 2000-06-13 00:03:35
Message-ID: 200006130003.UAA11215@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-bugspgsql-patches
Tom Vijlbrief, Tom Lane added some of your patches to 7.0.  Do you have
anything new for 7.1?  I know you were still working on it when we
entered beta.


> ============================================================================
>                         POSTGRESQL BUG REPORT TEMPLATE
> ============================================================================
>  
>  
> Your name               :       Tom Vijlbrief
> Your email address      :       tom(dot)vijlbrief(at)knoware(dot)nl
>  
>  
> System Configuration
> ---------------------
>   Architecture (example: Intel Pentium)         : Intel PII
>  
>   Operating System (example: Linux 2.0.26 ELF)  : Linux 2.3.51
>  
>   PostgreSQL version (example: PostgreSQL-6.5.3):   PostgreSQL-6.5.3
>  
>   Compiler used (example:  gcc 2.8.0)           : egcs-2.91.66
>  
>  
> Please enter a FULL description of your problem:                 
>  
> libpq++ leaks file descriptors and memory.
>  
> The constructor of PgConnection leaks a file everytime it is called.
> Also DEBUG is on by default.
>  
> In addition the header file libpq++.H is insane. It contains
> outdated copies of the header files (pglobject.h and the others).
>  
> The libpq++.H declares a smaller PgLargeObject (without class member
> variables) then the PgLargeObject in pglobject.h.
> This is the reason that examples/testlo crashes !
>  
> I fixed the header classes and memory/file leakage. I also added
> header file PostgresDatabase.h which contains a new implementation
> with exception handling, cursors and transactions. Look at
> examples/testexcep.cc for the usage. The C++ interface is still
> compatible with the old version.
>                                                
>  
> Please describe a way to repeat the problem.   Please try to provide a
> concise reproducible example, if at all possible:
> ----------------------------------------------------------------------
> Running the next program, it crashes after approx. 1000 iterations
> (depending on configuration of OS)
>  
>  
> #include <libpq++.H>
>  
> #include <iostream>
>  
> int main()
> {
>   for (int i= 0; i < 10000; i++) {
>     cerr << i << endl;
>     PgConnection("");
>   }
> }
>              
>  
> Running examples/testlo crashes with a damaged stack.
>  
>  
> If you know how this problem might be fixed, list the solution below:
> ---------------------------------------------------------------------
>  
> change 'FILE * debug' from a local var to a static var in
> pgconnection.cc.
>  
> I added a tar containing a new version of the src/interfaces/libpq++
> directory
> because many files (source, headers, README, TODO, CHANGES) are
> changed.

[ Attachment, skipping... ]


-- 
  Bruce Momjian                        |  http://www.op.net/~candle
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

In response to

pgsql-bugs by date

Next:From: Bruce MomjianDate: 2000-06-13 00:21:26
Subject: Re: CLUSTER bug
Previous:From: Bruce MomjianDate: 2000-06-12 22:38:40
Subject: Re: Problem with ecpg

pgsql-patches by date

Next:From: Denis PerchineDate: 2000-06-13 00:52:45
Subject: Re: Caching number of blocks in relation to avoi lseek.
Previous:From: Bruce MomjianDate: 2000-06-12 23:53:48
Subject: Re: [PORTS] Locale bug

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group