SELECT 節は、ヒープ・ダンプから何を抽出するかを決定します。
オブジェクトを表示して出力参照を調べるには、アスタリスク (*) を使用します。例:
SELECT * FROM java.lang.String
あるいは、表示する列を選択することもできます。 例:
SELECT toString(s), s.count, s.value FROM java.lang.String s
結果テーブルは、基礎オブジェクトに関する情報を示す可能性があります。ポップアップ・メニューを使用すると、表示されている各オブジェクトのビューをさらに開くことができます。Java™ の属性およびオブジェクト・メソッドにアクセスするには、アットマーク (@) を使用します。
一般的な情報を取り出すためにいくつかの組み込み関数も用意されています。
SELECT toString(s), s.@usedHeapSize, s.@retainedHeapSize FROM java.lang.String s
使用可能な属性について詳しくは、『プロパティーへのアクセス』を参照してください。
列に名前を付けるには AS キーワードを使用します。
SELECT toString(s) AS Value, s.@usedHeapSize AS "Shallow Size", s.@retainedHeapSize
AS "Retained Size" FROM java.lang.String s
選択によって保持された一連のオブジェクトを取得するには、AS RETAINED SET キーワードを使用します。
SELECT AS RETAINED SET * FROM java.lang.String
SELECT 節内の項目をオブジェクトとして解釈するには、OBJECTS キーワードを使用します。
SELECT OBJECTS dominators(s) FROM java.lang.String s
dominators() 関数は、オブジェクトの配列を返します。 したがって、この照会はオブジェクト・リストのリストを返します。 OBJECTS キーワードを使用することにより、OQL に、出力を圧縮してオブジェクトの単一リストを生成させることができます。
SELECT DISTINCT * FROM OBJECTS 0,1,1,2
選択した節の結果から固有のオブジェクトのみを選択するには、DISTINCT OBJECTS キーワードを使用します。
SELECT DISTINCT OBJECTS classof(s) FROM java.lang.String s
classof() 関数はクラス・オブジェクトを返します。 ただし、すべての Java ストリングは同じクラスを含んでいるため、SELECT classof(s) FROM java.lang.String s という照会を実行すると、Java ストリング内の行数と同数の行のリストが返されます。リストの各行には同じクラスが表示されます。
OBJECTS キーワードは、String オブジェクトとクラス・オブジェクトの表示値を含む基礎行を、classof() 関数の結果によって表されるオブジェクトに変換します。

SELECT s.@objectId, (s.@objectId * 2), ("The object ID is " + @objectId) FROM OBJECTS 0,1,1,2 s
