Re: recursive function needs static variable
От | Joe Conway |
---|---|
Тема | Re: recursive function needs static variable |
Дата | |
Msg-id | 3EF90A2B.4070606@joeconway.com обсуждение исходный текст |
Ответ на | recursive function needs static variable (Nabil Sayegh <postgresql@e-trolley.de>) |
Ответы |
Re: recursive function needs static variable
|
Список | pgsql-novice |
Nabil Sayegh wrote: > I just changed connectby() to order siblings and return an additional > serial column. > > Everything is working fine so far, but I think there could be a problem > due to the static definition of the serial variable. > > I need the variable to be static, because the function itself is > recursive. > > What will happen if 2 processes concurrently use the function ? will > they conflict ? Each backend connection is a single threaded process, so there should be no problem. But I don't think it needs to be static anyway (see below). > I guess, that if I set the variable to 1 at each beginning of the > function, it will conflict. > > If I do _not_ reset the serial at each function call, that would lead to > an overflow sooner or later. Add the counter variable to build_tuplestore_recursively()'s arguments. Initialize it in connectby(), and increment it every time BuildTupleFromCStrings() is called. Joe
В списке pgsql-novice по дате отправления: