From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | libpq's pollution of application namespace |
Date: | 2005-10-16 22:21:37 |
Message-ID: | 10833.1129501297@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I find that libpq.so exports the following symbols that have neither
PQ, pq, pg, nor lo_ as a prefix:
EncryptMD5
SockAddr_cidr_mask
fe_getauthname
fe_getauthsvc
fe_sendauth
fe_setauthsvc
freeaddrinfo_all
getaddrinfo_all
getnameinfo_all
md5_hash
rangeSockAddr
md5_hash seems a particularly unforgivable intrusion on application
namespace :-(. Any objection to fixing these things to be prefixed
with pq or pg, which is the convention we usually follow for "internal"
names that can't be static?
Also, these functions strictly speaking violate application namespace,
but given that PQ appears infix, they're probably OK.
appendBinaryPQExpBuffer
appendPQExpBuffer
appendPQExpBufferChar
appendPQExpBufferStr
createPQExpBuffer
destroyPQExpBuffer
enlargePQExpBuffer
initPQExpBuffer
printfPQExpBuffer
resetPQExpBuffer
termPQExpBuffer
It'd be nicer if we could filter out all exported symbols that don't
appear in exports.txt, but I don't know any portable way to do that.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2005-10-17 04:34:40 | Re: slow IN() clause for many cases |
Previous Message | Greg Stark | 2005-10-16 21:53:40 | Re: A costing analysis tool |