私はストアドプロシージャを実行し、結果を返す検索関数を持っています。結果がない場合は、より一般化された検索でもう一度関数を実行してみたいと思います。何の結果がなかった場合は、基本的に再帰的メソッド呼び出しで何が問題になっていますか?
<cfif results.recordCount EQ 0 And Not arguments.searchForPotentialMatches>
<cfset arguments.searchForPotentialMatches = True />
<cfinvoke method="thisMethod" argumentCollection="#arguments#" />
</cfif>
、私はすでにそれが再び、このメソッドを呼び出す必要があり、一般的な検索を試していない - だから、私は自分のコードにCFIFを置きます。次に、メソッドの始めに、ストアドプロシージャを呼び出す前に、searchForPotentialMatchesがtrueであるかどうかをチェックし、そうであれば検索クエリを一般化します。
問題があるようです...実行しようとすると、ストアドプロシージャでタイムアウトが発生するまでハングアップします。変数をデバッグして出力することで、ストアドプロシージャに到達したことを確認してから、実行しようとしました。しかし、これらの再実行の前に元の関数を使用して、通常の検索を行い、次に2つの別々の呼び出しで一般化された検索を実行すると、正しく実行されます。だから私はプログラムでこれを構築しようとすると失敗する理由は分かりません...どうしたのですか?
関数呼び出し全体を投稿してください。この問題は、再帰呼び出しそのものにある場合とそうでない場合があります。 –