Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Johnson2020-02-08 08:21:14 +0000
committerAndrew Johnson2020-02-08 08:21:14 +0000
commit6716288dd95e72c045e70744c840db97617f735d (patch)
tree810f1f801190e0102545a1988ad38be078315fb4
parent0792dcbf12ff678847864aec966e2e3a1faca225 (diff)
downloadorg.eclipse.mat-6716288dd95e72c045e70744c840db97617f735d.tar.gz
org.eclipse.mat-6716288dd95e72c045e70744c840db97617f735d.tar.xz
org.eclipse.mat-6716288dd95e72c045e70744c840db97617f735d.zip
552879: OQL enhancements for sub-selects, maps, context providers,
DISTINCT Additional help Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=552879
-rw-r--r--plugins/org.eclipse.mat.ui.help/reference/oqlsyntax.dita4
-rw-r--r--plugins/org.eclipse.mat.ui.help/reference/oqlsyntax.html7
-rw-r--r--plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxfrom.dita22
-rw-r--r--plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxfrom.html22
-rw-r--r--plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxselect.dita35
-rw-r--r--plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxselect.html33
-rw-r--r--plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxunion.dita42
-rw-r--r--plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxunion.html55
-rw-r--r--plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxwhere.dita7
-rw-r--r--plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxwhere.html6
-rw-r--r--plugins/org.eclipse.mat.ui.help/toc.ditamap3
-rw-r--r--plugins/org.eclipse.mat.ui.help/toc.xml2
12 files changed, 182 insertions, 56 deletions
diff --git a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntax.dita b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntax.dita
index b80436b4..ee1fb4e4 100644
--- a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntax.dita
+++ b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntax.dita
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2008, 2010 SAP AG.
+ Copyright (c) 2008, 2020 SAP AG and IBM Corporation.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
@@ -18,7 +18,7 @@
<copyright>
<copyryear year=""></copyryear>
<copyrholder>
- Copyright (c) 2008, 2010 SAP AG and others.
+ Copyright (c) 2008, 2020 SAP AG and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
diff --git a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntax.html b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntax.html
index 26966fac..8cc2dc65 100644
--- a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntax.html
+++ b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntax.html
@@ -11,10 +11,11 @@
<meta name="DC.Relation" scheme="URI" content="../reference/oqlsyntaxselect.html"/>
<meta name="DC.Relation" scheme="URI" content="../reference/oqlsyntaxfrom.html"/>
<meta name="DC.Relation" scheme="URI" content="../reference/oqlsyntaxwhere.html"/>
+<meta name="DC.Relation" scheme="URI" content="../reference/oqlsyntaxunion.html"/>
<meta name="DC.Relation" scheme="URI" content="../reference/propertyaccessors.html"/>
<meta name="DC.Relation" scheme="URI" content="../reference/bnfofoql.html"/>
-<meta name="copyright" content="Copyright (c) 2008, 2010 SAP AG and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
-<meta name="DC.Rights.Owner" content="Copyright (c) 2008, 2010 SAP AG and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
+<meta name="copyright" content="Copyright (c) 2008, 2020 SAP AG and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
+<meta name="DC.Rights.Owner" content="Copyright (c) 2008, 2020 SAP AG and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
<meta name="DC.Format" content="XHTML"/>
<meta name="DC.Identifier" content="ref_oqlsyntax"/>
<meta name="DC.Language" content="en-us"/>
@@ -56,6 +57,8 @@
</li>
<li class="link ulchildlink"><strong><a href="../reference/oqlsyntaxwhere.html">WHERE Clause</a></strong><br/>
</li>
+<li class="link ulchildlink"><strong><a href="../reference/oqlsyntaxunion.html">UNION Clause</a></strong><br/>
+</li>
<li class="link ulchildlink"><strong><a href="../reference/propertyaccessors.html">Property Accessors</a></strong><br/>
</li>
<li class="link ulchildlink"><strong><a href="../reference/bnfofoql.html">BNF for the Object Query Language</a></strong><br/>
diff --git a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxfrom.dita b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxfrom.dita
index 68c1ace2..750a18c0 100644
--- a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxfrom.dita
+++ b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxfrom.dita
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2008, 2012 SAP AG, IBM Corporation and others.
+ Copyright (c) 2008, 2020 SAP AG, IBM Corporation and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
@@ -32,7 +32,7 @@
<section>
<title>Specify the class</title>
<p>
- The FROM clause defines the classes on which to operate.
+ The <codeph>FROM</codeph> clause defines the classes on which to operate.
Specify the class by one of the following means:
</p>
<b>by class name:</b>
@@ -53,12 +53,12 @@
WHERE c implements org.eclipse.mat.snapshot.model.IClass )</codeblock>
<p>
The statement returns all objects in the heap. The
- <cmdname>implements</cmdname>
+ <codeph>implements</codeph>
check is necessary, as the heap dump can contain
- <cmdname>java.lang.Class</cmdname>
+ <codeph>java.lang.Class</codeph>
instances caused by proxy classes or classes representing
primitive types such as
- <cmdname>int.class</cmdname> or <cmdname>Integer.TYPE</cmdname>.
+ <codeph>int.class</codeph> or <codeph>Integer.TYPE</codeph>.
The following query has
the same effect, which calls a method directly on
the ISnapshot object:
@@ -69,7 +69,7 @@
<title>Include sub classes</title>
<p>
Use the
- <cmdname>INSTANCEOF</cmdname>
+ <codeph>INSTANCEOF</codeph>
keyword to include objects of sub-classes into the
query:
</p>
@@ -78,7 +78,7 @@
The resulting table contains, amongst others,
WeakReference and SoftReference objects because both
classes extend from
- <cmdname>java.lang.ref.Reference</cmdname>
+ <codeph>java.lang.ref.Reference</codeph>
. By the way, the same result has the following query
</p>
<codeblock>SELECT * FROM ${snapshot}.getClassesByName("java.lang.ref.Reference", true)</codeblock>
@@ -108,8 +108,14 @@
<codeblock>SELECT * FROM OBJECTS 20815,20814</codeblock>
<b>by a sub expression (Memory Analyzer 1.4 or later):</b>
<codeblock>SELECT * FROM OBJECTS (1 + ${snapshot}.GCRoots.length)</codeblock>
+ <b>by a sub select returning an object list</b>
+ <codeblock>SELECT v, v.@length FROM OBJECTS ( SELECT OBJECTS s.value FROM java.lang.String s ) v</codeblock>
+ <b>In Memory Analyzer 1.10 and later, sub-selects are now also permitted which have select items.</b>
+ <codeblock>SELECT v,v.s,v.val FROM OBJECTS ( SELECT s,s.value as val FROM java.lang.String s ) v</codeblock>
+ See <xref format="html" href="https://wiki.eclipse.org/MemoryAnalyzer/OQL#Sub_SELECT_with_select_items">Wiki Sub select with select items</xref>
+ for more details.
<note>
- Please note, that currently the FROM OBJECTS term is in
+ Please note, that currently the <codeph>FROM OBJECTS</codeph> term is in
the test phase!
</note>
</section>
diff --git a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxfrom.html b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxfrom.html
index ac5f3486..e14534d7 100644
--- a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxfrom.html
+++ b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxfrom.html
@@ -31,7 +31,7 @@
<div class="section"><h2 class="title sectiontitle">Specify the class</h2>
<p class="p">
- The FROM clause defines the classes on which to operate.
+ The <samp class="ph codeph">FROM</samp> clause defines the classes on which to operate.
Specify the class by one of the following means:
</p>
@@ -60,12 +60,12 @@
<p class="p">
The statement returns all objects in the heap. The
- <span class="keyword cmdname">implements</span>
+ <samp class="ph codeph">implements</samp>
check is necessary, as the heap dump can contain
- <span class="keyword cmdname">java.lang.Class</span>
+ <samp class="ph codeph">java.lang.Class</samp>
instances caused by proxy classes or classes representing
primitive types such as
- <span class="keyword cmdname">int.class</span> or <span class="keyword cmdname">Integer.TYPE</span>.
+ <samp class="ph codeph">int.class</samp> or <samp class="ph codeph">Integer.TYPE</samp>.
The following query has
the same effect, which calls a method directly on
the ISnapshot object:
@@ -79,7 +79,7 @@
<p class="p">
Use the
- <span class="keyword cmdname">INSTANCEOF</span>
+ <samp class="ph codeph">INSTANCEOF</samp>
keyword to include objects of sub-classes into the
query:
</p>
@@ -90,7 +90,7 @@
The resulting table contains, amongst others,
WeakReference and SoftReference objects because both
classes extend from
- <span class="keyword cmdname">java.lang.ref.Reference</span>
+ <samp class="ph codeph">java.lang.ref.Reference</samp>
. By the way, the same result has the following query
</p>
@@ -131,8 +131,16 @@
<strong class="ph b">by a sub expression (Memory Analyzer 1.4 or later):</strong>
<pre class="pre codeblock">SELECT * FROM OBJECTS (1 + ${snapshot}.GCRoots.length)</pre>
+ <strong class="ph b">by a sub select returning an object list</strong>
+ <pre class="pre codeblock">SELECT v, v.@length FROM OBJECTS ( SELECT OBJECTS s.value FROM java.lang.String s ) v</pre>
+
+ <strong class="ph b">In Memory Analyzer 1.10 and later, sub-selects are now also permitted which have select items.</strong>
+ <pre class="pre codeblock">SELECT v,v.s,v.val FROM OBJECTS ( SELECT s,s.value as val FROM java.lang.String s ) v</pre>
+
+ See <a class="xref" href="https://wiki.eclipse.org/MemoryAnalyzer/OQL#Sub_SELECT_with_select_items">Wiki Sub select with select items</a>
+ for more details.
<div class="note note"><span class="notetitle">Note:</span>
- Please note, that currently the FROM OBJECTS term is in
+ Please note, that currently the <samp class="ph codeph">FROM OBJECTS</samp> term is in
the test phase!
</div>
diff --git a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxselect.dita b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxselect.dita
index 92badab0..6c6ab2a8 100644
--- a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxselect.dita
+++ b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxselect.dita
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2008, 2010 SAP AG.
+ Copyright (c) 2008, 2020 SAP AG and IBM Corporation.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
@@ -8,6 +8,7 @@
Contributors:
SAP AG - initial API and implementation
+ Andrew Johnson (IBM Corporation) - enhancements
-->
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd" >
<reference id="ref_oqlsyntaxselect" xml:lang="en-us">
@@ -30,10 +31,10 @@
<refbody>
<section>
<p>
- The SELECT clause determines what to extract from the
+ The <codeph>SELECT</codeph> clause determines what to extract from the
heap dump. To display objects and be able to browse the
outgoing references, use the
- <cmdname>*</cmdname>
+ <codeph>*</codeph>
symbol:
</p>
<codeblock>SELECT * FROM java.lang.String</codeblock>
@@ -47,7 +48,7 @@
<p>
The resulting table knows about the underlying object.
So you can use the context menu to open further views on
- the object at hand. Use the @ symbol to access Java
+ the object at hand. Use the <codeph>@</codeph> symbol to access Java
attributes and methods of the objects. There are also a
number of built-in functions available to extract common
information:
@@ -69,7 +70,7 @@
FROM java.lang.String s</codeblock>
<p>
Use the
- <cmdname>AS RETAINED SET</cmdname>
+ <codeph>AS RETAINED SET</codeph>
keyword to get the set of objects retained by your
selection:
</p>
@@ -77,46 +78,50 @@
<p><b>Flatten select items into an object list</b></p>
<p>
Use the
- <cmdname>OBJECTS</cmdname>
+ <codeph>OBJECTS</codeph>
to interpret the items in the
- <cmdname>SELECT</cmdname>
+ <codeph>SELECT</codeph>
clause as objects:
</p>
<codeblock>SELECT OBJECTS dominators(s) FROM java.lang.String s</codeblock>
<p>
The function
- <cmdname>dominators()</cmdname>
+ <codeph>dominators()</codeph>
returns an array of objects. Therefore the query returns
a list of object lists, i.e. arrays. By using the
keyword
- <cmdname>OBJECTS</cmdname>
+ <codeph>OBJECTS</codeph>
, we force the OQL to reduce this into a single list of
objects.
</p>
<p><b>Select unique objects</b></p>
<p>
Use the
- <cmdname>DISTINCT</cmdname>
+ <codeph>DISTINCT</codeph>
keyword to only select unique objects:
</p>
<codeblock>SELECT DISTINCT * FROM OBJECTS 0,1,1,2</codeblock>
<p>
Use the
- <cmdname>DISTINCT OBJECTS</cmdname>
+ <codeph>DISTINCT OBJECTS</codeph>
keyword to only select unique objects from the result of the selected clause:
</p>
<codeblock>SELECT DISTINCT OBJECTS classof(s) FROM java.lang.String s</codeblock>
<p>
The function
- <cmdname>classof</cmdname>
+ <codeph>classof</codeph>
returns the class object. Of course, all Strings have
- the same class. The <cmdname>OBJECTS</cmdname> converts the underlying row with a String object
+ the same class. The <codeph>OBJECTS</codeph> converts the underlying row with a String object
and a displayed value of the class object
- to the object represented by the result of the <cmdname>classof</cmdname> function.
- Without the <cmdname>DISTINCT OBJECTS</cmdname>
+ to the object represented by the result of the <codeph>classof</codeph> function.
+ Without the <codeph>DISTINCT OBJECTS</codeph>
keywords, the query would result in a list with as many
rows with the same class as there are Strings.
</p>
+ <p>With Memory Analyzer 1.10 or later, <codeph>DISTINCT</codeph> also operates without
+ <codeph>OBJECTS</codeph> to find items which are distinct.
+ See <xref format="html" href="https://wiki.eclipse.org/MemoryAnalyzer/OQL#SELECT_DISTINCT">Wiki: OQL SELECT DISTINCT</xref>
+ for further details.</p>
<p><b>Expressions (experimental, Memory Analyzer 1.4 or later)</b></p>
<p>
Use the expressions for the select item, including string concatenation:
diff --git a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxselect.html b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxselect.html
index a75282f2..0a8ea38b 100644
--- a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxselect.html
+++ b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxselect.html
@@ -30,10 +30,10 @@
<div class="section">
<p class="p">
- The SELECT clause determines what to extract from the
+ The <samp class="ph codeph">SELECT</samp> clause determines what to extract from the
heap dump. To display objects and be able to browse the
outgoing references, use the
- <span class="keyword cmdname">*</span>
+ <samp class="ph codeph">*</samp>
symbol:
</p>
@@ -52,7 +52,7 @@
<p class="p">
The resulting table knows about the underlying object.
So you can use the context menu to open further views on
- the object at hand. Use the @ symbol to access Java
+ the object at hand. Use the <samp class="ph codeph">@</samp> symbol to access Java
attributes and methods of the objects. There are also a
number of built-in functions available to extract common
information:
@@ -80,7 +80,7 @@
<p class="p">
Use the
- <span class="keyword cmdname">AS RETAINED SET</span>
+ <samp class="ph codeph">AS RETAINED SET</samp>
keyword to get the set of objects retained by your
selection:
</p>
@@ -91,9 +91,9 @@
<p class="p">
Use the
- <span class="keyword cmdname">OBJECTS</span>
+ <samp class="ph codeph">OBJECTS</samp>
to interpret the items in the
- <span class="keyword cmdname">SELECT</span>
+ <samp class="ph codeph">SELECT</samp>
clause as objects:
</p>
@@ -101,11 +101,11 @@
<p class="p">
The function
- <span class="keyword cmdname">dominators()</span>
+ <samp class="ph codeph">dominators()</samp>
returns an array of objects. Therefore the query returns
a list of object lists, i.e. arrays. By using the
keyword
- <span class="keyword cmdname">OBJECTS</span>
+ <samp class="ph codeph">OBJECTS</samp>
, we force the OQL to reduce this into a single list of
objects.
</p>
@@ -114,7 +114,7 @@
<p class="p">
Use the
- <span class="keyword cmdname">DISTINCT</span>
+ <samp class="ph codeph">DISTINCT</samp>
keyword to only select unique objects:
</p>
@@ -122,7 +122,7 @@
<p class="p">
Use the
- <span class="keyword cmdname">DISTINCT OBJECTS</span>
+ <samp class="ph codeph">DISTINCT OBJECTS</samp>
keyword to only select unique objects from the result of the selected clause:
</p>
@@ -130,16 +130,21 @@
<p class="p">
The function
- <span class="keyword cmdname">classof</span>
+ <samp class="ph codeph">classof</samp>
returns the class object. Of course, all Strings have
- the same class. The <span class="keyword cmdname">OBJECTS</span> converts the underlying row with a String object
+ the same class. The <samp class="ph codeph">OBJECTS</samp> converts the underlying row with a String object
and a displayed value of the class object
- to the object represented by the result of the <span class="keyword cmdname">classof</span> function.
- Without the <span class="keyword cmdname">DISTINCT OBJECTS</span>
+ to the object represented by the result of the <samp class="ph codeph">classof</samp> function.
+ Without the <samp class="ph codeph">DISTINCT OBJECTS</samp>
keywords, the query would result in a list with as many
rows with the same class as there are Strings.
</p>
+ <p class="p">With Memory Analyzer 1.10 or later, <samp class="ph codeph">DISTINCT</samp> also operates without
+ <samp class="ph codeph">OBJECTS</samp> to find items which are distinct.
+ See <a class="xref" href="https://wiki.eclipse.org/MemoryAnalyzer/OQL#SELECT_DISTINCT">Wiki: OQL SELECT DISTINCT</a>
+ for further details.</p>
+
<p class="p"><strong class="ph b">Expressions (experimental, Memory Analyzer 1.4 or later)</strong></p>
<p class="p">
diff --git a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxunion.dita b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxunion.dita
new file mode 100644
index 00000000..88dec32d
--- /dev/null
+++ b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxunion.dita
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2020 IBM Corporation.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Andrew Johnson (IBM Corporation) - initial API and implementation
+ -->
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd" >
+<reference id="ref_oqlsyntaxunion" xml:lang="en-us">
+ <title>UNION Clause</title>
+ <shortdesc />
+
+ <prolog>
+ <copyright>
+ <copyryear year=""></copyryear>
+ <copyrholder>
+ Copyright (c) 2020 IBM Corporation.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+ </copyrholder>
+ </copyright>
+ </prolog>
+
+ <refbody>
+ <section>
+ <p>
+ The <codeph>UNION</codeph> clause allows the results
+ of two queries to be combined. The second query is surrounded
+ by parentheses.
+ </p>
+ <codeblock>select * from java.lang.String union (select * from java.lang.StringBuilder)</codeblock>
+ <p>The two queries must match in the number of columns in the select clause.</p>
+ <codeblock>SELECT s, s.value, s.hash FROM java.lang.String s UNION (SELECT b, b.value, "dummy" FROM java.lang.StringBuilder b )</codeblock>
+ </section>
+ </refbody>
+</reference> \ No newline at end of file
diff --git a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxunion.html b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxunion.html
new file mode 100644
index 00000000..7197a3c8
--- /dev/null
+++ b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxunion.html
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xml:lang="en-us" lang="en-us">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<meta name="DC.Type" content="reference"/>
+<meta name="DC.Title" content="UNION Clause"/>
+<meta name="abstract" content=""/>
+<meta name="description" content=""/>
+<meta name="DC.Relation" scheme="URI" content="../reference/oqlsyntax.html"/>
+<meta name="copyright" content="Copyright (c) 2020 IBM Corporation. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
+<meta name="DC.Rights.Owner" content="Copyright (c) 2020 IBM Corporation. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
+<meta name="DC.Format" content="XHTML"/>
+<meta name="DC.Identifier" content="ref_oqlsyntaxunion"/>
+<meta name="DC.Language" content="en-us"/>
+<link rel="stylesheet" type="text/css" href="../styles/commonltr.css"/>
+<title>UNION Clause</title>
+</head>
+<body id="ref_oqlsyntaxunion">
+
+
+ <h1 class="title topictitle1">UNION Clause</h1>
+
+
+
+
+
+ <div class="body refbody"><p class="shortdesc"/>
+
+ <div class="section">
+ <p class="p">
+ The <samp class="ph codeph">UNION</samp> clause allows the results
+ of two queries to be combined. The second query is surrounded
+ by parentheses.
+ </p>
+
+ <pre class="pre codeblock">select * from java.lang.String union (select * from java.lang.StringBuilder)</pre>
+
+ <p class="p">The two queries must match in the number of columns in the select clause.</p>
+
+ <pre class="pre codeblock">SELECT s, s.value, s.hash FROM java.lang.String s UNION (SELECT b, b.value, "dummy" FROM java.lang.StringBuilder b )</pre>
+
+ </div>
+
+ </div>
+
+<div class="related-links">
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a class="link" href="../reference/oqlsyntax.html">OQL Syntax</a></div>
+</div>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxwhere.dita b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxwhere.dita
index b7b4ebd6..aa6a14d6 100644
--- a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxwhere.dita
+++ b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxwhere.dita
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2008, 2010 SAP AG.
+ Copyright (c) 2008, 2020 SAP AG and IBM Corporation.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
@@ -8,6 +8,7 @@
Contributors:
SAP AG - initial API and implementation
+ Andrew Johnson (IBM Corporation) - enhancements
-->
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd" >
<reference id="ref_oqlsyntaxwhere" xml:lang="en-us">
@@ -18,7 +19,7 @@
<copyright>
<copyryear year=""></copyryear>
<copyrholder>
- Copyright (c) 2008, 2010 SAP AG and others.
+ Copyright (c) 2008, 2020 SAP AG and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
@@ -30,7 +31,7 @@
<refbody>
<section>
<p>
- The WHERE clause specifies search conditions, that
+ The <codeph>WHERE</codeph> clause specifies search conditions, that
remove unwanted data from the query result. The
following operators, are in order of precedence. The
operators are evaluated in the specified order:
diff --git a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxwhere.html b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxwhere.html
index 5c094c49..93822789 100644
--- a/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxwhere.html
+++ b/plugins/org.eclipse.mat.ui.help/reference/oqlsyntaxwhere.html
@@ -9,8 +9,8 @@
<meta name="abstract" content=""/>
<meta name="description" content=""/>
<meta name="DC.Relation" scheme="URI" content="../reference/oqlsyntax.html"/>
-<meta name="copyright" content="Copyright (c) 2008, 2010 SAP AG and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
-<meta name="DC.Rights.Owner" content="Copyright (c) 2008, 2010 SAP AG and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
+<meta name="copyright" content="Copyright (c) 2008, 2020 SAP AG and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
+<meta name="DC.Rights.Owner" content="Copyright (c) 2008, 2020 SAP AG and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html " type="primary"/>
<meta name="DC.Format" content="XHTML"/>
<meta name="DC.Identifier" content="ref_oqlsyntaxwhere"/>
<meta name="DC.Language" content="en-us"/>
@@ -33,7 +33,7 @@
(relational operations)
</h2>
<p class="p">
- The WHERE clause specifies search conditions, that
+ The <samp class="ph codeph">WHERE</samp> clause specifies search conditions, that
remove unwanted data from the query result. The
following operators, are in order of precedence. The
operators are evaluated in the specified order:
diff --git a/plugins/org.eclipse.mat.ui.help/toc.ditamap b/plugins/org.eclipse.mat.ui.help/toc.ditamap
index 46dce805..e2dd3785 100644
--- a/plugins/org.eclipse.mat.ui.help/toc.ditamap
+++ b/plugins/org.eclipse.mat.ui.help/toc.ditamap
@@ -59,7 +59,8 @@
<topicref href="reference/oqlsyntax.dita" type="reference">
<topicref href="reference/oqlsyntaxselect.dita" type="reference" />
<topicref href="reference/oqlsyntaxfrom.dita" type="reference" />
- <topicref href="reference/oqlsyntaxwhere.dita" type="reference" />
+ <topicref href="reference/oqlsyntaxwhere.dita" type="reference" />
+ <topicref href="reference/oqlsyntaxunion.dita" type="reference" />
<topicref href="reference/propertyaccessors.dita" type="reference" />
<topicref href="reference/bnfofoql.dita" type="reference" />
</topicref>
diff --git a/plugins/org.eclipse.mat.ui.help/toc.xml b/plugins/org.eclipse.mat.ui.help/toc.xml
index d7679ba4..a5afd114 100644
--- a/plugins/org.eclipse.mat.ui.help/toc.xml
+++ b/plugins/org.eclipse.mat.ui.help/toc.xml
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.toc"?>
-<toc label="Memory Analyzer" topic="welcome.html"><topic label="Introduction" href="welcome.html"/><topic label="Getting Started"><topic label="Basic Tutorial" href="gettingstarted/basictutorial.html"/></topic><topic label="Concepts"><topic label="Heap Dump" href="concepts/heapdump.html"/><topic label="Reachability" href="concepts/reachability.html"/><topic label="Shallow vs. Retained Heap" href="concepts/shallowretainedheap.html"/><topic label="Dominator Tree" href="concepts/dominatortree.html"/><topic label="Garbage Collection Roots" href="concepts/gcroots.html"/></topic><topic label="Tasks"><topic label="Acquiring Heap Dumps" href="tasks/acquiringheapdump.html"/><topic label="Installing IBM DTFJ feature for IBM dumps" href="tasks/installDTFJ.html"/><topic label="Running Leak Suspect Report" href="tasks/runningleaksuspectreport.html"/><topic label="List the Biggest Objects" href="tasks/listbiggestobjects.html"/><topic label="Finding Responsible Objects" href="tasks/findingresponsibleobjects.html"/><topic label="Querying Heap Objects (OQL)" href="tasks/queryingheapobjects.html"/><topic label="Analyze Class Loader" href="tasks/analyzingclassloader.html"/><topic label="Analyzing Threads" href="tasks/analyzingthreads.html"/><topic label="Analyzing Java Collection Usage" href="tasks/analyzingjavacollectionusage.html"/><topic label="Analyzing Finalizer" href="tasks/analyzingfinalizer.html"/><topic label="Eclipse Equinox Bundle Registry" href="tasks/bundleregistry.html"/><topic label="Comparing Objects" href="tasks/comparingdata.html"/><topic label="Export Data" href="tasks/exportdata.html"/><topic label="Export Heap Dump" href="tasks/exportdump.html"/><topic label="Batch mode" href="tasks/batch.html"/><topic label="Problems displaying reports" href="tasks/report.html"/><topic label="Memory Analyzer Configuration" href="tasks/configure_mat.html"/></topic><topic label="Reference"><topic label="Inspections"><topic label="Leak Identification"><topic label="Component Report" href="reference/inspections/component_report.html"/></topic><topic label="Immediate Dominators" href="reference/inspections/immediate_dominators.html"/><topic label="Group by Value" href="reference/inspections/group_by_value.html"/><topic label="Path to GC Roots" href="reference/inspections/path_to_gc_roots.html"/><topic label="Retained Set" href="reference/inspections/retained_set.html"/><topic label="Top Consumers" href="reference/inspections/top_consumers.html"/><topic label="Unreachable objects" href="reference/inspections/unreachable_objects.html"/></topic><topic label="Query Matrix" href="reference/querymatrix.html"><topic label="Finding Memory Leak" href="reference/findingmemoryleak.html"/><topic label="Analyzing Memory Consumption" href="reference/analyzingmemoryconsumption.html"/></topic><topic label="OQL Syntax" href="reference/oqlsyntax.html"><topic label="SELECT Clause" href="reference/oqlsyntaxselect.html"/><topic label="FROM Clause" href="reference/oqlsyntaxfrom.html"/><topic label="WHERE Clause" href="reference/oqlsyntaxwhere.html"/><topic label="Property Accessors" href="reference/propertyaccessors.html"/><topic label="BNF for the Object Query Language" href="reference/bnfofoql.html"/></topic><topic label="Selecting Queries" href="reference/selectingqueries.html"/><topic label="Icons Assist" href="reference/iconassist.html"/><topic label="Tips and Tricks" href="reference/tipsandtricks.html"/><topic label="Extending Memory Analyzer" href="reference/extendingmat.html"/><topic label="API Reference" href="doc/index.html"/></topic><topic label="New and Noteworthy" href="noteworthy.html"/><topic label="Legal" href="legal.html"/></toc> \ No newline at end of file
+<toc label="Memory Analyzer" topic="welcome.html"><topic label="Introduction" href="welcome.html"/><topic label="Getting Started"><topic label="Basic Tutorial" href="gettingstarted/basictutorial.html"/></topic><topic label="Concepts"><topic label="Heap Dump" href="concepts/heapdump.html"/><topic label="Reachability" href="concepts/reachability.html"/><topic label="Shallow vs. Retained Heap" href="concepts/shallowretainedheap.html"/><topic label="Dominator Tree" href="concepts/dominatortree.html"/><topic label="Garbage Collection Roots" href="concepts/gcroots.html"/></topic><topic label="Tasks"><topic label="Acquiring Heap Dumps" href="tasks/acquiringheapdump.html"/><topic label="Installing IBM DTFJ feature for IBM dumps" href="tasks/installDTFJ.html"/><topic label="Running Leak Suspect Report" href="tasks/runningleaksuspectreport.html"/><topic label="List the Biggest Objects" href="tasks/listbiggestobjects.html"/><topic label="Finding Responsible Objects" href="tasks/findingresponsibleobjects.html"/><topic label="Querying Heap Objects (OQL)" href="tasks/queryingheapobjects.html"/><topic label="Analyze Class Loader" href="tasks/analyzingclassloader.html"/><topic label="Analyzing Threads" href="tasks/analyzingthreads.html"/><topic label="Analyzing Java Collection Usage" href="tasks/analyzingjavacollectionusage.html"/><topic label="Analyzing Finalizer" href="tasks/analyzingfinalizer.html"/><topic label="Eclipse Equinox Bundle Registry" href="tasks/bundleregistry.html"/><topic label="Comparing Objects" href="tasks/comparingdata.html"/><topic label="Export Data" href="tasks/exportdata.html"/><topic label="Export Heap Dump" href="tasks/exportdump.html"/><topic label="Batch mode" href="tasks/batch.html"/><topic label="Problems displaying reports" href="tasks/report.html"/><topic label="Memory Analyzer Configuration" href="tasks/configure_mat.html"/></topic><topic label="Reference"><topic label="Inspections"><topic label="Leak Identification"><topic label="Component Report" href="reference/inspections/component_report.html"/></topic><topic label="Immediate Dominators" href="reference/inspections/immediate_dominators.html"/><topic label="Group by Value" href="reference/inspections/group_by_value.html"/><topic label="Path to GC Roots" href="reference/inspections/path_to_gc_roots.html"/><topic label="Retained Set" href="reference/inspections/retained_set.html"/><topic label="Top Consumers" href="reference/inspections/top_consumers.html"/><topic label="Unreachable objects" href="reference/inspections/unreachable_objects.html"/></topic><topic label="Query Matrix" href="reference/querymatrix.html"><topic label="Finding Memory Leak" href="reference/findingmemoryleak.html"/><topic label="Analyzing Memory Consumption" href="reference/analyzingmemoryconsumption.html"/></topic><topic label="OQL Syntax" href="reference/oqlsyntax.html"><topic label="SELECT Clause" href="reference/oqlsyntaxselect.html"/><topic label="FROM Clause" href="reference/oqlsyntaxfrom.html"/><topic label="WHERE Clause" href="reference/oqlsyntaxwhere.html"/><topic label="UNION Clause" href="reference/oqlsyntaxunion.html"/><topic label="Property Accessors" href="reference/propertyaccessors.html"/><topic label="BNF for the Object Query Language" href="reference/bnfofoql.html"/></topic><topic label="Selecting Queries" href="reference/selectingqueries.html"/><topic label="Icons Assist" href="reference/iconassist.html"/><topic label="Tips and Tricks" href="reference/tipsandtricks.html"/><topic label="Extending Memory Analyzer" href="reference/extendingmat.html"/><topic label="API Reference" href="doc/index.html"/></topic><topic label="New and Noteworthy" href="noteworthy.html"/><topic label="Legal" href="legal.html"/></toc> \ No newline at end of file

Back to the top