Re: [PATCH 2/5] Make relpathbackend return a statically result instead of palloc()'ing it
От | Noah Misch |
---|---|
Тема | Re: [PATCH 2/5] Make relpathbackend return a statically result instead of palloc()'ing it |
Дата | |
Msg-id | 20130220032804.GA9455@tornado.leadboat.com обсуждение исходный текст |
Ответ на | Re: [PATCH 2/5] Make relpathbackend return a statically result instead of palloc()'ing it (Robert Haas <robertmhaas@gmail.com>) |
Список | pgsql-hackers |
On Tue, Jan 08, 2013 at 08:02:16PM -0500, Robert Haas wrote: > On Tue, Jan 8, 2013 at 7:57 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Robert Haas <robertmhaas@gmail.com> writes: > >> I was thinking more about a sprintf()-type function that only > >> understands a handful of escapes, but adds the additional and novel > >> escapes %I (quote as identifier) and %L (quote as literal). I think > >> that would allow a great deal of code simplification, and it'd be more > >> efficient, too. > > > > Seems like a great idea. Are you offering to code it? > > Not imminently. > > > Note that this wouldn't entirely fix the fmtId problem, as not all the > > uses of fmtId are directly in sprintf calls. Still, it might get rid of > > most of the places where it'd be painful to avoid a memory leak with > > a strdup'ing version of fmtId. > > Yeah, I didn't think about that. Might be worth a look to see how > comprehensively it would solve the problem. But I'll have to leave > that for another day. As a cheap solution addressing 95+% of the trouble, how about giving fmtId() a ring of, say, eight static buffers to cycle through? That satisfies code merely wishing to pass multiple fmtId()'d values to one appendPQExpBuffer(). -- Noah Misch EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: