Re: Updates of SE-PostgreSQL 8.4devel patches (r1403)
От | Gregory Stark |
---|---|
Тема | Re: Updates of SE-PostgreSQL 8.4devel patches (r1403) |
Дата | |
Msg-id | 87ab9thpo1.fsf@oxford.xeocode.com обсуждение исходный текст |
Ответ на | Re: Updates of SE-PostgreSQL 8.4devel patches (r1403) ("Robert Haas" <robertmhaas@gmail.com>) |
Ответы |
Re: Updates of SE-PostgreSQL 8.4devel patches (r1403)
|
Список | pgsql-hackers |
"Robert Haas" <robertmhaas@gmail.com> writes: > Just out of curiosity, does C89, or whatever standard we follow, allow this? > > int > somefunc(int x) > { > int foo[x]; > /* use foo[] for scratch space */ > } It's not in C89 but look up "alloca". We don't use it anywhere in postgres currently so it's kind of unlikely we would start now. I think C99 does allow what you typed, and I think gcc has an extension to allow it too. > Obviously this is a bad plan if x can be a big number because you > might crash your stack, but suppose we know that's not an issue? It > seems a shame to have to do palloc/pfree in a situation like this. palloc really isn't that expensive, unless you're allocating tons of tiny objects or you're in a tight loop it's not worth worrying about. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com Ask me about EnterpriseDB's Slony Replication support!
В списке pgsql-hackers по дате отправления: