Re: pgbench stats per script & other stuff
От | Alvaro Herrera |
---|---|
Тема | Re: pgbench stats per script & other stuff |
Дата | |
Msg-id | 20160304184157.GA726930@alvherre.pgsql обсуждение исходный текст |
Ответ на | Re: pgbench stats per script & other stuff (Fabien COELHO <coelho@cri.ensmp.fr>) |
Ответы |
Re: pgbench stats per script & other stuff
|
Список | pgsql-hackers |
Fabien COELHO wrote: > >However, this is still a bit broken -- you cannot return a stack > >variable from process_file, because the stack goes away once the > >function returns. You need to malloc it. > > That is why the "fs" variable in process_file is declared "static", and why > I wrote "some hidden awkwarness". > > I did want to avoid a malloc because then who would free the struct? > addScript cannot to it systematically because builtins are static. Or it > would have to create an on purpose struct, but I then that would be more > awkwarness, and malloc/free to pass arguments between functions is not > efficient nor very elegant. > > So the "static" option looked like the simplest & most elegant version. Surely that trick breaks if you have more than one -f switch, no? Oh, I see what you're doing: you only use the command list, which is allocated, so it doesn't matter that the rest of the struct changes later. That seems rather nasty to me -- I'd avoid that. I'm not concerned about freeing the struct; what's the problem with it surviving until the program terminates? If somebody specifies thousands of -f switches, they will waste a few bytes with each, but I'm hardly concerned about a few dozen kilobytes there ... -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: