2012-01-12 27 views
0

jhat OQL where句で[AND]を実行する方法は?私は彼らのcanonicaldnでappTrustを含むすべてのX500Namesを見つけたいIS-jhat OQL AND where where句

select s from sun.security.x509.X500Name s where s.canonicalDn !=null and  
/tiberium/(s.canonicalDn.toString()) 

を:

は、私がこれを行う欲しいです。 canonicaldnのいくつかがnullである可能性があるので、nullチェックが必要です。[jhatは、その場合、toStringでnullポインタ例外をスローします。

リテラル "and"は機能しません。

はところで、私はフィルタ機能を使用して私の目的のために、これを回避ました:

select filter(heap.objects("sun.security.x509.X500Name"), isTiberium); 

function isTiberium(s) { 
    return s.canonicalDn !=null && /tiberium/(s.canonicalDn.toString()); 
} 

答えて

1

私が見つけた「と」それはjavascriptのオペレータであるとして& &です。正しい表現は簡単です:

select s from sun.security.x509.X500Name s where s.canonicalDn !=null &&  
/tiberium/(s.canonicalDn.toString())