У меня есть функция поиска, которая выполняет хранимую процедуру и возвращает результаты. Если результатов нет, я хочу попробовать запустить функцию еще раз с более обобщенным поиском. Итак, я вставил в свой код cfif -
<cfif results.recordCount EQ 0 And Not arguments.searchForPotentialMatches>
<cfset arguments.searchForPotentialMatches = True />
<cfinvoke method="thisMethod" argumentCollection="#arguments#" />
</cfif>
В основном, если результатов не было И я еще не пробовал обобщенный поиск, он должен снова вызвать этот метод. Затем, в начале метода, перед вызовом хранимой процедуры я проверяю, истинно ли searchForPotentialMatches, и если да, я обобщаю поисковый запрос.
Кажется, есть проблема, хотя ... Когда я пытаюсь запустить это, он зависает - пока не истечет время ожидания с хранимой процедурой. Благодаря отладке и выводу переменных я смог увидеть, что он попадает в хранимую процедуру, а затем застревает, пытаясь ее выполнить. Тем не менее, используя исходную функцию перед этими изменениями, если я выполняю обычный поиск, а затем обобщенный поиск в двух отдельных вызовах, он выполняется правильно. Так что я не уверен, почему это не удается, когда я пытаюсь встроить это программно ... Что я делаю не так?