Pergunta
Como fazer uma conjunção [AND] na cláusula where jhat OQL?
Eu quero fazer isso:
select s from sun.security.x509.X500Name s where s.canonicalDn !=null and
/tiberium/(s.canonicalDn.toString())
Isto é, quero encontrar todos os X500Names que contêm appTrust em seu canonicaldn.Preciso da verificação de nulo, já que alguns canonicaldn podem ser nulos [e jhat lança uma exceção de ponteiro nulo nesse caso em toString].
Mas o "e" literal não funciona.
A propósito, resolvi isso para meu propósito usando a função de filtro:
select filter(heap.objects("sun.security.x509.X500Name"), isTiberium);
function isTiberium(s) {
return s.canonicalDn !=null && /tiberium/(s.canonicalDn.toString());
}
Solução
Descobri que "e" é &&, pois é o javascript e o operador.Essa é a expressão correta é simplesmente:
select s from sun.security.x509.X500Name s where s.canonicalDn !=null &&
/tiberium/(s.canonicalDn.toString())
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow