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 по дате отправления: