Heikki Linnakangas wrote: > Passing a query with enough nested parenthesis in it causes a segfault. > Attached is a handy little program to generate such a query, the actual > query was too big to get through to the list. > > The problem seems to be unbounded recursion in the makepol function that > converts the input query from infix to polish notation. An easy fix > would be to just add a level parameter to makepol that's incremented on > each recursion, and throw an error if it grows bigger than some safe > limit. There might be a similar problem in TS_execute as well, if you > can somehow pass a complex enough TSQuery to the system, perhaps with a > custom libpq client and tsqueryrecv.
Actually, the right way to fix that is of course to call check_stack_depth() in makepol and TS_execute. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend
