On Oct 18, 2007, at 11:17 PM, Joe Conway wrote:
Decibel! wrote:
Is it intentional that dblink's unnamed connections don't get re- used?

yes

stats=# select dblink_connect('dbname=stats');
dblink_connect
----------------
OK
(1 row)
stats=# select dblink_connect('dbname=postgres');
dblink_connect
----------------
OK
(1 row)

AFAIK there's no way I could possibly use or refer to the connection to stats at this point; so why doesn't dblink close it when I issue the second connect?

Why doesn't C free allocated memory automatically if you reassign a pointer?

No one has ever complained before, so I can't imagine that the resource leak is much of an issue in real world cases. But if you don't like the behavior, patches are gratefully accepted ;-).

Seriously though, I can change it for 8.3, but is it really worth back-patching?

I think it'd be worth changing for 8.3. While C forces you to worry about memory, SQL does not, so I bet this is a surprise to most folks.

It might be worth backpatching the docs, because they're wrong.
--
Decibel!, aka Jim C. Nasby, Database Architect  [EMAIL PROTECTED]
Give your computer some brain candy! www.distributed.net Team #1828



---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to