Re: [BUGS] General Bug Report: Large Object Example testlo fails
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Mika Saari <Mika.Saari@nokia.com>
Cc: Vince Vielhaber <vev@michvhf.com>, pgsql-bugs@postgreSQL.org
Date: 1999-07-15T14:22:45Z
Lists: pgsql-bugs
Mika.Saari@nokia.com writes: > libpq++ Large Object Example testlo fails in PostgreSQL 6.5 but NOT > in 6.4.2. The ERROR message is > Connection to database 'template1' failed. > PQsendQuery() -- There is no connection to the backend. > 14. ./testlo template1 testlo test 0 It looks like testlo is now set up so that the first argument is a conninfo string, not just a database name. So, something like ./testlo dbname=template1 testlo test 0 should work. If the other method is still being recommended in some documentation somewhere, then we need to fix that --- where did you find the info? Also, I'd say that the error message here is pretty awful. Looks like that's because PQconnectdb's original message about bogus syntax for a conninfo string (which might actually have been helpful) is being overwritten when the PgLargeObject constructors plow ahead with trying to create and open a large object. They should not do that if the underlying connection constructor failed :-(. Finally, I don't particularly like the fact that both constructors for PgLargeObject insist on creating and opening a LO. If you're going to import() or export() you do not need an LO filehandle; and if you're going to import() then the constructor-created LO is wasted, making for a semi-permanent diskspace leak. Perhaps the best way to design PgLargeObject is to make both creation and opening "lazy", happening only at the first call that requires 'em. regards, tom lane