フィールド化バッファのブール式のデバッグ
以前の
これで、Oracle Tuxedo によってどのように解析されたかを調査して検証できます.
実際、これは
追記my Open Source replacement of Oracle Tuxedo の
SIGFPE
爆弾について説明しました. C 関数のリストを見ていくと、構文解析された式ツリーを出力する Fboolpr32
関数を思い出しました. 10分後、それを Python Tuxedo library に追加しました. SIGFPE
爆弾をもう一度見てみましょう.>>> import tuxedo as t
>>> t.Fboolev32({"TA_STATUS": "OK123"}, "TA_STATUS %! 'OK.*'")
Floating-point exception
これで、Oracle Tuxedo によってどのように解析されたかを調査して検証できます.
>>> t.Fboolpr32("TA_STATUS %! 'OK.*'", sys.stdout)
( ( TA_STATUS[0] ) % ( ! ( 'OK.*' ) ) )
実際、これは
%
モジュロ演算および !
否定として解釈されます.そして、これが開発者が書くつもりだったものです:>>> t.Fboolpr32("TA_STATUS !% 'OK.*'", sys.stdout)
( ( TA_STATUS[0] ) !% ( 'OK.*' ) )
追記my Open Source replacement of Oracle Tuxedo の
Fboolpr32
関数も実装しましたReference
この問題について(フィールド化バッファのブール式のデバッグ), 我々は、より多くの情報をここで見つけました https://dev.to/aivarsk/debugging-boolean-expressions-of-fielded-buffers-28meテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol