index b6d2deb1af4b9d67cb8f97042502ac31e1b11570..15dab680c8b49d10bd465cd21f31cf4fae5a21a8 100644 (file)
#include <ctype.h>
#include "catalog/pg_collation.h"
+#include "miscadmin.h"
#include "utils/formatting.h"
#include "ltree.h"
@@ -165,6 +166,12 @@ checkCond(lquery_level *curq, int query_numlevel, ltree_level *curt, int tree_nu
lquery_level *prevq = NULL;
ltree_level *prevt = NULL;
+ /* Since this function recurses, it could be driven to stack overflow */
+ check_stack_depth();
+
+ /* Pathological patterns could take awhile, too */
+ CHECK_FOR_INTERRUPTS();
+
if (SomeStack.muse)
{
high_pos = SomeStack.high_pos;