0

如何在 jhat OQL where 子句中做连词 [AND]?

我想这样做:

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

那就是 - 我想在他们的 canonicaldn 中找到所有包含 appTrust 的 X500Names。我需要空值检查,因为一些 canonicaldn 可以为空 [并且 jhat 在这种情况下会在 toString 处引发空指针异常]。

但是字面上的“和”不起作用。

顺便说一句,我使用过滤器功能解决了这个问题:

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

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

1 回答 1

1

我发现“and”是 && 因为那是 javascript 和运算符。那就是正确的表达方式很简单:

select s from sun.security.x509.X500Name s where  s.canonicalDn !=null &&    
/tiberium/(s.canonicalDn.toString())
于 2012-01-12T11:20:53.863 回答