Kevac Marko wrote:
I'm not experienced in commiting patches to open source projects, so I am very thankful for your comments.
No problem -- thanks for pushing this patch along! One thought I had overnight is that you might, if you like, want to tackle the init SQL patch first, which seems unrelated to the multiple pools idea and significantly simpler, easier to review, and probably easier to backport as well. Can you provide an example of how such initialization SQL queries would be used? And, as a question, might it be necessary for such queries to run before any other SQL queries are prepared? IIRC in the patch they are run after the other queries are prepared, but if they were truly required for connection initialization, they'd need to be absolutely first, no?
80 columns is a little bit ancient requirement in the world of 22" LCDs, but ok, i'll fix that too.
I mentioned this just because it's part of the httpd style guidelines, and because there's no need to reformat existing code which already meets the guideline. This is off-topic, but personally I like such a limit not only for the key reasons already mentioned by Brian (i.e., having two or more versions of the same code or some inter-related files next to each other), but also because I find it helps curtail poor design on my part. If I've got a deeply nested set of blocks and I'm hitting up against the right margin, that's a good hint I need to rethink what I'm doing and likely refactor it into some smaller functions. It also forces one to avoid names like foo_bar_baz_wadda_wadda_yippity_boom_de_boom() -- or in Java, fooBarBazWaddaWaddaYippityBoomDeBoom() -- and find something shorter and more expressive. And if I have a function with a large number of arguments, it makes me review whether they should really be part of a single data structure or object; that's been a good reminder to me over the years of Fred Brooks's old adage about thinking through one's data structures first. Chris. -- GPG Key ID: 366A375B GPG Key Fingerprint: 485E 5041 17E1 E2BB C263 E4DE C8E3 FA36 366A 375B