You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by el...@apache.org on 2016/04/17 23:26:05 UTC

svn commit: r1739659 [6/18] - in /calcite/site: ./ avatica/ avatica/community/ avatica/develop/ avatica/docs/ avatica/downloads/ avatica/news/ avatica/news/2016/03/03/separate-project/ avatica/news/2016/03/18/release-1.7.1/ avatica/news/releases/ commu...

Modified: calcite/site/docs/algebra.html
URL: http://svn.apache.org/viewvc/calcite/site/docs/algebra.html?rev=1739659&r1=1739658&r2=1739659&view=diff
==============================================================================
--- calcite/site/docs/algebra.html (original)
+++ calcite/site/docs/algebra.html Sun Apr 17 21:26:04 2016
@@ -4,7 +4,7 @@
   <meta charset="UTF-8">
   <title>Algebra</title>
   <meta name="viewport" content="width=device-width,initial-scale=1">
-  <meta name="generator" content="Jekyll v2.4.0">
+  <meta name="generator" content="Jekyll v3.0.3">
   <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
   <link rel="stylesheet" href="/css/screen.css">
   <link rel="icon" type="image/x-icon" href="/favicon.ico">
@@ -834,81 +834,81 @@ Here is an example:</p>
 
 <h3 id="tablescan">TableScan</h3>
 
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">FrameworkConfig</span> <span class="n">config</span><span class="o">;</span>
+<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">FrameworkConfig</span> <span class="n">config</span><span class="o">;</span>
 <span class="kd">final</span> <span class="n">RelBuilder</span> <span class="n">builder</span> <span class="o">=</span> <span class="n">RelBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">config</span><span class="o">);</span>
 <span class="kd">final</span> <span class="n">RelNode</span> <span class="n">node</span> <span class="o">=</span> <span class="n">builder</span>
-  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">&quot;EMP&quot;</span><span class="o">)</span>
+  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">"EMP"</span><span class="o">)</span>
   <span class="o">.</span><span class="na">build</span><span class="o">();</span>
-<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">RelOptUtil</span><span class="o">.</span><span class="na">toString</span><span class="o">(</span><span class="n">node</span><span class="o">));</span></code></pre></div>
+<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">RelOptUtil</span><span class="o">.</span><span class="na">toString</span><span class="o">(</span><span class="n">node</span><span class="o">));</span></code></pre></figure>
 
 <p>(You can find the full code for this and other examples in
 <a href="https://github.com/apache/calcite/blob/master/core/src/test/java/org/apache/calcite/examples/RelBuilderExample.java">RelBuilderExample.java</a>.)</p>
 
 <p>The code prints</p>
 
-<div class="highlight"><pre><code class="language-text" data-lang="text">LogicalTableScan(table=[[scott, EMP]])</code></pre></div>
+<figure class="highlight"><pre><code class="language-text" data-lang="text">LogicalTableScan(table=[[scott, EMP]])</code></pre></figure>
 
-<p>It has created a scan of the <code>EMP</code> table; equivalent to the SQL</p>
+<p>It has created a scan of the <code class="highlighter-rouge">EMP</code> table; equivalent to the SQL</p>
 
-<div class="highlight"><pre><code class="language-sql" data-lang="sql"><span class="k">SELECT</span> <span class="o">*</span>
-<span class="k">FROM</span> <span class="n">scott</span><span class="p">.</span><span class="n">EMP</span><span class="p">;</span></code></pre></div>
+<figure class="highlight"><pre><code class="language-sql" data-lang="sql"><span class="k">SELECT</span> <span class="o">*</span>
+<span class="k">FROM</span> <span class="n">scott</span><span class="p">.</span><span class="n">EMP</span><span class="p">;</span></code></pre></figure>
 
 <h3 id="adding-a-project">Adding a Project</h3>
 
 <p>Now, let’s add a Project, the equivalent of</p>
 
-<div class="highlight"><pre><code class="language-sql" data-lang="sql"><span class="k">SELECT</span> <span class="n">ename</span><span class="p">,</span> <span class="n">deptno</span>
-<span class="k">FROM</span> <span class="n">scott</span><span class="p">.</span><span class="n">EMP</span><span class="p">;</span></code></pre></div>
+<figure class="highlight"><pre><code class="language-sql" data-lang="sql"><span class="k">SELECT</span> <span class="n">ename</span><span class="p">,</span> <span class="n">deptno</span>
+<span class="k">FROM</span> <span class="n">scott</span><span class="p">.</span><span class="n">EMP</span><span class="p">;</span></code></pre></figure>
 
-<p>We just add a call to the <code>project</code> method before calling
-<code>build</code>:</p>
+<p>We just add a call to the <code class="highlighter-rouge">project</code> method before calling
+<code class="highlighter-rouge">build</code>:</p>
 
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">RelNode</span> <span class="n">node</span> <span class="o">=</span> <span class="n">builder</span>
-  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">&quot;EMP&quot;</span><span class="o">)</span>
-  <span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="n">builder</span><span class="o">.</span><span class="na">field</span><span class="o">(</span><span class="s">&quot;DEPTNO&quot;</span><span class="o">),</span> <span class="n">builder</span><span class="o">.</span><span class="na">field</span><span class="o">(</span><span class="s">&quot;ENAME&quot;</span><span class="o">))</span>
+<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">RelNode</span> <span class="n">node</span> <span class="o">=</span> <span class="n">builder</span>
+  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">"EMP"</span><span class="o">)</span>
+  <span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="n">builder</span><span class="o">.</span><span class="na">field</span><span class="o">(</span><span class="s">"DEPTNO"</span><span class="o">),</span> <span class="n">builder</span><span class="o">.</span><span class="na">field</span><span class="o">(</span><span class="s">"ENAME"</span><span class="o">))</span>
   <span class="o">.</span><span class="na">build</span><span class="o">();</span>
-<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">RelOptUtil</span><span class="o">.</span><span class="na">toString</span><span class="o">(</span><span class="n">node</span><span class="o">));</span></code></pre></div>
+<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">RelOptUtil</span><span class="o">.</span><span class="na">toString</span><span class="o">(</span><span class="n">node</span><span class="o">));</span></code></pre></figure>
 
 <p>and the output is</p>
 
-<div class="highlight"><pre><code class="language-text" data-lang="text">LogicalProject(DEPTNO=[$7], ENAME=[$1])
-  LogicalTableScan(table=[[scott, EMP]])</code></pre></div>
+<figure class="highlight"><pre><code class="language-text" data-lang="text">LogicalProject(DEPTNO=[$7], ENAME=[$1])
+  LogicalTableScan(table=[[scott, EMP]])</code></pre></figure>
 
-<p>The two calls to <code>builder.field</code> create simple expressions
+<p>The two calls to <code class="highlighter-rouge">builder.field</code> create simple expressions
 that return the fields from the input relational expression,
-namely the TableScan created by the <code>scan</code> call.</p>
+namely the TableScan created by the <code class="highlighter-rouge">scan</code> call.</p>
 
 <p>Calcite has converted them to field references by ordinal,
-<code>$7</code> and <code>$1</code>.</p>
+<code class="highlighter-rouge">$7</code> and <code class="highlighter-rouge">$1</code>.</p>
 
 <h3 id="adding-a-filter-and-aggregate">Adding a Filter and Aggregate</h3>
 
 <p>A query with an Aggregate, and a Filter:</p>
 
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">RelNode</span> <span class="n">node</span> <span class="o">=</span> <span class="n">builder</span>
-  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">&quot;EMP&quot;</span><span class="o">)</span>
-  <span class="o">.</span><span class="na">aggregate</span><span class="o">(</span><span class="n">builder</span><span class="o">.</span><span class="na">groupKey</span><span class="o">(</span><span class="s">&quot;DEPTNO&quot;</span><span class="o">),</span>
-      <span class="n">builder</span><span class="o">.</span><span class="na">count</span><span class="o">(</span><span class="kc">false</span><span class="o">,</span> <span class="s">&quot;C&quot;</span><span class="o">),</span>
-      <span class="n">builder</span><span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="kc">false</span><span class="o">,</span> <span class="s">&quot;S&quot;</span><span class="o">,</span> <span class="n">builder</span><span class="o">.</span><span class="na">field</span><span class="o">(</span><span class="s">&quot;SAL&quot;</span><span class="o">)))</span>
+<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">RelNode</span> <span class="n">node</span> <span class="o">=</span> <span class="n">builder</span>
+  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">"EMP"</span><span class="o">)</span>
+  <span class="o">.</span><span class="na">aggregate</span><span class="o">(</span><span class="n">builder</span><span class="o">.</span><span class="na">groupKey</span><span class="o">(</span><span class="s">"DEPTNO"</span><span class="o">),</span>
+      <span class="n">builder</span><span class="o">.</span><span class="na">count</span><span class="o">(</span><span class="kc">false</span><span class="o">,</span> <span class="s">"C"</span><span class="o">),</span>
+      <span class="n">builder</span><span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="kc">false</span><span class="o">,</span> <span class="s">"S"</span><span class="o">,</span> <span class="n">builder</span><span class="o">.</span><span class="na">field</span><span class="o">(</span><span class="s">"SAL"</span><span class="o">)))</span>
   <span class="o">.</span><span class="na">filter</span><span class="o">(</span>
       <span class="n">builder</span><span class="o">.</span><span class="na">call</span><span class="o">(</span><span class="n">SqlStdOperatorTable</span><span class="o">.</span><span class="na">GREATER_THAN</span><span class="o">,</span>
-          <span class="n">builder</span><span class="o">.</span><span class="na">field</span><span class="o">(</span><span class="s">&quot;C&quot;</span><span class="o">),</span>
+          <span class="n">builder</span><span class="o">.</span><span class="na">field</span><span class="o">(</span><span class="s">"C"</span><span class="o">),</span>
           <span class="n">builder</span><span class="o">.</span><span class="na">literal</span><span class="o">(</span><span class="mi">10</span><span class="o">)))</span>
   <span class="o">.</span><span class="na">build</span><span class="o">();</span>
-<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">RelOptUtil</span><span class="o">.</span><span class="na">toString</span><span class="o">(</span><span class="n">node</span><span class="o">));</span></code></pre></div>
+<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">RelOptUtil</span><span class="o">.</span><span class="na">toString</span><span class="o">(</span><span class="n">node</span><span class="o">));</span></code></pre></figure>
 
 <p>is equivalent to SQL</p>
 
-<div class="highlight"><pre><code class="language-sql" data-lang="sql"><span class="k">SELECT</span> <span class="n">deptno</span><span class="p">,</span> <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">AS</span> <span class="k">c</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">sal</span><span class="p">)</span> <span class="k">AS</span> <span class="n">s</span>
+<figure class="highlight"><pre><code class="language-sql" data-lang="sql"><span class="k">SELECT</span> <span class="n">deptno</span><span class="p">,</span> <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">AS</span> <span class="k">c</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">sal</span><span class="p">)</span> <span class="k">AS</span> <span class="n">s</span>
 <span class="k">FROM</span> <span class="n">emp</span>
 <span class="k">GROUP</span> <span class="k">BY</span> <span class="n">deptno</span>
-<span class="k">HAVING</span> <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">10</span></code></pre></div>
+<span class="k">HAVING</span> <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">10</span></code></pre></figure>
 
 <p>and produces</p>
 
-<div class="highlight"><pre><code class="language-text" data-lang="text">LogicalFilter(condition=[&gt;($1, 10)])
+<figure class="highlight"><pre><code class="language-text" data-lang="text">LogicalFilter(condition=[&gt;($1, 10)])
   LogicalAggregate(group=[{7}], C=[COUNT()], S=[SUM($5)])
-    LogicalTableScan(table=[[scott, EMP]])</code></pre></div>
+    LogicalTableScan(table=[[scott, EMP]])</code></pre></figure>
 
 <h3 id="push-and-pop">Push and pop</h3>
 
@@ -916,48 +916,48 @@ namely the TableScan created by the <cod
 one step and pass it as an input to the next step. This allows the
 methods that produce relational expressions to produce a builder.</p>
 
-<p>Most of the time, the only stack method you will use is <code>build()</code>, to get the
+<p>Most of the time, the only stack method you will use is <code class="highlighter-rouge">build()</code>, to get the
 last relational expression, namely the root of the tree.</p>
 
 <p>Sometimes the stack becomes so deeply nested it gets confusing. To keep things
 straight, you can remove expressions from the stack. For example, here we are
 building a bushy join:</p>
 
-<div class="highlight"><pre><code class="language-text" data-lang="text">.
+<figure class="highlight"><pre><code class="language-text" data-lang="text">.
                join
              /      \
         join          join
       /      \      /      \
-CUSTOMERS ORDERS LINE_ITEMS PRODUCTS</code></pre></div>
+CUSTOMERS ORDERS LINE_ITEMS PRODUCTS</code></pre></figure>
 
 <p>We build it in three stages. Store the intermediate results in variables
-<code>left</code> and <code>right</code>, and use <code>push()</code> to put them back on the stack when it is
-time to create the final <code>Join</code>:</p>
+<code class="highlighter-rouge">left</code> and <code class="highlighter-rouge">right</code>, and use <code class="highlighter-rouge">push()</code> to put them back on the stack when it is
+time to create the final <code class="highlighter-rouge">Join</code>:</p>
 
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">RelNode</span> <span class="n">left</span> <span class="o">=</span> <span class="n">builder</span>
-  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">&quot;CUSTOMERS&quot;</span><span class="o">)</span>
-  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">&quot;ORDERS&quot;</span><span class="o">)</span>
-  <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">JoinRelType</span><span class="o">.</span><span class="na">INNER</span><span class="o">,</span> <span class="s">&quot;ORDER_ID&quot;</span><span class="o">)</span>
+<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">RelNode</span> <span class="n">left</span> <span class="o">=</span> <span class="n">builder</span>
+  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">"CUSTOMERS"</span><span class="o">)</span>
+  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">"ORDERS"</span><span class="o">)</span>
+  <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">JoinRelType</span><span class="o">.</span><span class="na">INNER</span><span class="o">,</span> <span class="s">"ORDER_ID"</span><span class="o">)</span>
   <span class="o">.</span><span class="na">build</span><span class="o">();</span>
 
 <span class="kd">final</span> <span class="n">RelNode</span> <span class="n">right</span> <span class="o">=</span> <span class="n">builder</span>
-  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">&quot;LINE_ITEMS&quot;</span><span class="o">)</span>
-  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">&quot;PRODUCTS&quot;</span><span class="o">)</span>
-  <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">JoinRelType</span><span class="o">.</span><span class="na">INNER</span><span class="o">,</span> <span class="s">&quot;PRODUCT_ID&quot;</span><span class="o">)</span>
+  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">"LINE_ITEMS"</span><span class="o">)</span>
+  <span class="o">.</span><span class="na">scan</span><span class="o">(</span><span class="s">"PRODUCTS"</span><span class="o">)</span>
+  <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">JoinRelType</span><span class="o">.</span><span class="na">INNER</span><span class="o">,</span> <span class="s">"PRODUCT_ID"</span><span class="o">)</span>
   <span class="o">.</span><span class="na">build</span><span class="o">();</span>
 
 <span class="kd">final</span> <span class="n">RelNode</span> <span class="n">result</span> <span class="o">=</span> <span class="n">builder</span>
   <span class="o">.</span><span class="na">push</span><span class="o">(</span><span class="n">left</span><span class="o">)</span>
   <span class="o">.</span><span class="na">push</span><span class="o">(</span><span class="n">right</span><span class="o">)</span>
-  <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">JoinRelType</span><span class="o">.</span><span class="na">INNER</span><span class="o">,</span> <span class="s">&quot;ORDER_ID&quot;</span><span class="o">)</span>
-  <span class="o">.</span><span class="na">build</span><span class="o">();</span></code></pre></div>
+  <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">JoinRelType</span><span class="o">.</span><span class="na">INNER</span><span class="o">,</span> <span class="s">"ORDER_ID"</span><span class="o">)</span>
+  <span class="o">.</span><span class="na">build</span><span class="o">();</span></code></pre></figure>
 
 <h3 id="field-names-and-ordinals">Field names and ordinals</h3>
 
 <p>You can reference a field by name or ordinal.</p>
 
 <p>Ordinals are zero-based. Each operator guarantees the order in which its output
-fields occur. For example, <code>Project</code> returns the fields in the generated by
+fields occur. For example, <code class="highlighter-rouge">Project</code> returns the fields in the generated by
 each of the scalar expressions.</p>
 
 <p>The field names of an operator are guaranteed to be unique, but sometimes that
@@ -968,9 +968,9 @@ will be called something like DEPTNO_1.<
 <p>Some relational expression methods give you more control over field names:</p>
 
 <ul>
-  <li><code>project</code> lets you wrap expressions using <code>alias(expr, fieldName)</code>. It
+  <li><code class="highlighter-rouge">project</code> lets you wrap expressions using <code class="highlighter-rouge">alias(expr, fieldName)</code>. It
 removes the wrapper but keeps the suggested name (as long as it is unique).</li>
-  <li><code>values(String[] fieldNames, Object... values)</code> accepts an array of field
+  <li><code class="highlighter-rouge">values(String[] fieldNames, Object... values)</code> accepts an array of field
 names. If any element of the array is null, the builder will generate a unique
 name.</li>
 </ul>
@@ -979,7 +979,7 @@ name.</li>
 use the name of that input field.</p>
 
 <p>Once the unique field names have been assigned, the names are immutable.
-If you have a particular <code>RelNode</code> instance, you can rely on the field names not
+If you have a particular <code class="highlighter-rouge">RelNode</code> instance, you can rely on the field names not
 changing. In fact, the whole relational expression is immutable.</p>
 
 <p>But if a relational expression has passed through several rewrite rules (see
@@ -1002,8 +1002,8 @@ field #8.</p>
 
 <p>But through the builder API, you specify which field of which input.
 To reference “SAL”, internal field #5,
-write <code>builder.field(2, 0, "SAL")</code>
-or <code>builder.field(2, 0, 5)</code>.
+write <code class="highlighter-rouge">builder.field(2, 0, "SAL")</code>
+or <code class="highlighter-rouge">builder.field(2, 0, 5)</code>.
 This means “the field #5 of input #0 of two inputs”.
 (Why does it need to know that there are two inputs? Because they are stored on
 the stack; input #1 is at the top of the stack, and input #0 is below it.
@@ -1011,8 +1011,8 @@ If we did not tell the builder that were
 to go for input #0.)</p>
 
 <p>Similarly, to reference “DNAME”, internal field #9 (8 + 1),
-write <code>builder.field(2, 1, "DNAME")</code>
-or <code>builder.field(2, 1, 1)</code>.</p>
+write <code class="highlighter-rouge">builder.field(2, 1, "DNAME")</code>
+or <code class="highlighter-rouge">builder.field(2, 1, 1)</code>.</p>
 
 <h3 id="api-summary">API summary</h3>
 
@@ -1021,7 +1021,7 @@ or <code>builder.field(2, 1, 1)</code>.<
 <p>The following methods create a relational expression
 (<a href="/apidocs/org/apache/calcite/rel/RelNode.html">RelNode</a>),
 push it onto the stack, and
-return the <code>RelBuilder</code>.</p>
+return the <code class="highlighter-rouge">RelBuilder</code>.</p>
 
 <table>
   <thead>
@@ -1032,67 +1032,67 @@ return the <code>RelBuilder</code>.</p>
   </thead>
   <tbody>
     <tr>
-      <td style="text-align: left"><code>scan(tableName)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">scan(tableName)</code></td>
       <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/TableScan.html">TableScan</a>.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>values(fieldNames, value...)</code><br /><code>values(rowType, tupleList)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">values(fieldNames, value...)</code><br /><code class="highlighter-rouge">values(rowType, tupleList)</code></td>
       <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Values.html">Values</a>.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>filter(expr...)</code><br /><code>filter(exprList)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">filter(expr...)</code><br /><code class="highlighter-rouge">filter(exprList)</code></td>
       <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Filter.html">Filter</a> over the AND of the given predicates.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>project(expr...)</code><br /><code>project(exprList [, fieldNames])</code></td>
-      <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Project.html">Project</a>. To override the default name, wrap expressions using <code>alias</code>, or specify the <code>fieldNames</code> argument.</td>
+      <td style="text-align: left"><code class="highlighter-rouge">project(expr...)</code><br /><code class="highlighter-rouge">project(exprList [, fieldNames])</code></td>
+      <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Project.html">Project</a>. To override the default name, wrap expressions using <code class="highlighter-rouge">alias</code>, or specify the <code class="highlighter-rouge">fieldNames</code> argument.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>permute(mapping)</code></td>
-      <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Project.html">Project</a> that permutes the fields using <code>mapping</code>.</td>
+      <td style="text-align: left"><code class="highlighter-rouge">permute(mapping)</code></td>
+      <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Project.html">Project</a> that permutes the fields using <code class="highlighter-rouge">mapping</code>.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>convert(rowType [, rename])</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">convert(rowType [, rename])</code></td>
       <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Project.html">Project</a> that converts the fields to the given types, optionally also renaming them.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>aggregate(groupKey, aggCall...)</code><br /><code>aggregate(groupKey, aggCallList)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">aggregate(groupKey, aggCall...)</code><br /><code class="highlighter-rouge">aggregate(groupKey, aggCallList)</code></td>
       <td style="text-align: left">Creates an <a href="/apidocs/org/apache/calcite/rel/core/Aggregate.html">Aggregate</a>.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>distinct()</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">distinct()</code></td>
       <td style="text-align: left">Creates an <a href="/apidocs/org/apache/calcite/rel/core/Aggregate.html">Aggregate</a> that eliminates duplicate records.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>sort(fieldOrdinal...)</code><br /><code>sort(expr...)</code><br /><code>sort(exprList)</code></td>
-      <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Sort.html">Sort</a>.<br /><br />In the first form, field ordinals are 0-based, and a negative ordinal indicates descending; for example, -2 means field 1 descending.<br /><br />In the other forms, you can wrap expressions in <code>as</code>, <code>nullsFirst</code> or <code>nullsLast</code>.</td>
+      <td style="text-align: left"><code class="highlighter-rouge">sort(fieldOrdinal...)</code><br /><code class="highlighter-rouge">sort(expr...)</code><br /><code class="highlighter-rouge">sort(exprList)</code></td>
+      <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Sort.html">Sort</a>.<br /><br />In the first form, field ordinals are 0-based, and a negative ordinal indicates descending; for example, -2 means field 1 descending.<br /><br />In the other forms, you can wrap expressions in <code class="highlighter-rouge">as</code>, <code class="highlighter-rouge">nullsFirst</code> or <code class="highlighter-rouge">nullsLast</code>.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>sortLimit(offset, fetch, expr...)</code><br /><code>sortLimit(offset, fetch, exprList)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">sortLimit(offset, fetch, expr...)</code><br /><code class="highlighter-rouge">sortLimit(offset, fetch, exprList)</code></td>
       <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Sort.html">Sort</a> with offset and limit.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>limit(offset, fetch)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">limit(offset, fetch)</code></td>
       <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Sort.html">Sort</a> that does not sort, only applies with offset and limit.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>join(joinType, expr...)</code><br /><code>join(joinType, exprList)</code><br /><code>join(joinType, fieldName...)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">join(joinType, expr...)</code><br /><code class="highlighter-rouge">join(joinType, exprList)</code><br /><code class="highlighter-rouge">join(joinType, fieldName...)</code></td>
       <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Join.html">Join</a> of the two most recent relational expressions.<br /><br />The first form joins on a boolean expression (multiple conditions are combined using AND).<br /><br />The last form joins on named fields; each side must have a field of each name.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>semiJoin(expr)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">semiJoin(expr)</code></td>
       <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/SemiJoin.html">SemiJoin</a> of the two most recent relational expressions.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>union(all [, n])</code></td>
-      <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Union.html">Union</a> of the <code>n</code> (default two) most recent relational expressions.</td>
+      <td style="text-align: left"><code class="highlighter-rouge">union(all [, n])</code></td>
+      <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Union.html">Union</a> of the <code class="highlighter-rouge">n</code> (default two) most recent relational expressions.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>intersect(all [, n])</code></td>
-      <td style="text-align: left">Creates an <a href="/apidocs/org/apache/calcite/rel/core/Intersect.html">Intersect</a> of the <code>n</code> (default two) most recent relational expressions.</td>
+      <td style="text-align: left"><code class="highlighter-rouge">intersect(all [, n])</code></td>
+      <td style="text-align: left">Creates an <a href="/apidocs/org/apache/calcite/rel/core/Intersect.html">Intersect</a> of the <code class="highlighter-rouge">n</code> (default two) most recent relational expressions.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>minus(all)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">minus(all)</code></td>
       <td style="text-align: left">Creates a <a href="/apidocs/org/apache/calcite/rel/core/Minus.html">Minus</a> of the two most recent relational expressions.</td>
     </tr>
   </tbody>
@@ -1101,30 +1101,30 @@ return the <code>RelBuilder</code>.</p>
 <p>Argument types:</p>
 
 <ul>
-  <li><code>expr</code>  <a href="/apidocs/org/apache/calcite/rex/RexNode.html">RexNode</a></li>
-  <li><code>expr...</code> Array of <a href="/apidocs/org/apache/calcite/rex/RexNode.html">RexNode</a></li>
-  <li><code>exprList</code> Iterable of <a href="/apidocs/org/apache/calcite/rex/RexNode.html">RexNode</a></li>
-  <li><code>fieldOrdinal</code> Ordinal of a field within its row (starting from 0)</li>
-  <li><code>fieldName</code> Name of a field, unique within its row</li>
-  <li><code>fieldName...</code> Array of String</li>
-  <li><code>fieldNames</code> Iterable of String</li>
-  <li><code>rowType</code> <a href="/apidocs/org/apache/calcite/rel/type/RelDataType.html">RelDataType</a></li>
-  <li><code>groupKey</code> <a href="/apidocs/org/apache/calcite/tools/RelBuilder.GroupKey.html">RelBuilder.GroupKey</a></li>
-  <li><code>aggCall...</code> Array of <a href="/apidocs/org/apache/calcite/tools/RelBuilder.AggCall.html">RelBuilder.AggCall</a></li>
-  <li><code>aggCallList</code> Iterable of <a href="/apidocs/org/apache/calcite/tools/RelBuilder.AggCall.html">RelBuilder.AggCall</a></li>
-  <li><code>value...</code> Array of Object</li>
-  <li><code>value</code> Object</li>
-  <li><code>tupleList</code> Iterable of List of <a href="/apidocs/org/apache/calcite/rex/RexLiteral.html">RexLiteral</a></li>
-  <li><code>all</code> boolean</li>
-  <li><code>distinct</code> boolean</li>
-  <li><code>alias</code> String</li>
+  <li><code class="highlighter-rouge">expr</code>  <a href="/apidocs/org/apache/calcite/rex/RexNode.html">RexNode</a></li>
+  <li><code class="highlighter-rouge">expr...</code> Array of <a href="/apidocs/org/apache/calcite/rex/RexNode.html">RexNode</a></li>
+  <li><code class="highlighter-rouge">exprList</code> Iterable of <a href="/apidocs/org/apache/calcite/rex/RexNode.html">RexNode</a></li>
+  <li><code class="highlighter-rouge">fieldOrdinal</code> Ordinal of a field within its row (starting from 0)</li>
+  <li><code class="highlighter-rouge">fieldName</code> Name of a field, unique within its row</li>
+  <li><code class="highlighter-rouge">fieldName...</code> Array of String</li>
+  <li><code class="highlighter-rouge">fieldNames</code> Iterable of String</li>
+  <li><code class="highlighter-rouge">rowType</code> <a href="/apidocs/org/apache/calcite/rel/type/RelDataType.html">RelDataType</a></li>
+  <li><code class="highlighter-rouge">groupKey</code> <a href="/apidocs/org/apache/calcite/tools/RelBuilder.GroupKey.html">RelBuilder.GroupKey</a></li>
+  <li><code class="highlighter-rouge">aggCall...</code> Array of <a href="/apidocs/org/apache/calcite/tools/RelBuilder.AggCall.html">RelBuilder.AggCall</a></li>
+  <li><code class="highlighter-rouge">aggCallList</code> Iterable of <a href="/apidocs/org/apache/calcite/tools/RelBuilder.AggCall.html">RelBuilder.AggCall</a></li>
+  <li><code class="highlighter-rouge">value...</code> Array of Object</li>
+  <li><code class="highlighter-rouge">value</code> Object</li>
+  <li><code class="highlighter-rouge">tupleList</code> Iterable of List of <a href="/apidocs/org/apache/calcite/rex/RexLiteral.html">RexLiteral</a></li>
+  <li><code class="highlighter-rouge">all</code> boolean</li>
+  <li><code class="highlighter-rouge">distinct</code> boolean</li>
+  <li><code class="highlighter-rouge">alias</code> String</li>
 </ul>
 
 <p>The builder methods perform various optimizations, including:
-* <code>project</code> returns its input if asked to project all columns in order
-* <code>filter</code> flattens the condition (so an <code>AND</code> and <code>OR</code> may have more than 2 children),
-  simplifies (converting say <code>x = 1 AND TRUE</code> to <code>x = 1</code>)
-* If you apply <code>sort</code> then <code>limit</code>, the effect is as if you had called <code>sortLimit</code></p>
+* <code class="highlighter-rouge">project</code> returns its input if asked to project all columns in order
+* <code class="highlighter-rouge">filter</code> flattens the condition (so an <code class="highlighter-rouge">AND</code> and <code class="highlighter-rouge">OR</code> may have more than 2 children),
+  simplifies (converting say <code class="highlighter-rouge">x = 1 AND TRUE</code> to <code class="highlighter-rouge">x = 1</code>)
+* If you apply <code class="highlighter-rouge">sort</code> then <code class="highlighter-rouge">limit</code>, the effect is as if you had called <code class="highlighter-rouge">sortLimit</code></p>
 
 <h3 id="stack-methods">Stack methods</h3>
 
@@ -1137,19 +1137,19 @@ return the <code>RelBuilder</code>.</p>
   </thead>
   <tbody>
     <tr>
-      <td style="text-align: left"><code>build()</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">build()</code></td>
       <td style="text-align: left">Pops the most recently created relational expression off the stack</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>push(rel)</code></td>
-      <td style="text-align: left">Pushes a relational expression onto the stack. Relational methods such as <code>scan</code>, above, call this method, but user code generally does not</td>
+      <td style="text-align: left"><code class="highlighter-rouge">push(rel)</code></td>
+      <td style="text-align: left">Pushes a relational expression onto the stack. Relational methods such as <code class="highlighter-rouge">scan</code>, above, call this method, but user code generally does not</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>pushAll(collection)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">pushAll(collection)</code></td>
       <td style="text-align: left">Pushes a collection of relational expressions onto the stack</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>peek()</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">peek()</code></td>
       <td style="text-align: left">Returns the relational expression most recently put onto the stack, but does not remove it</td>
     </tr>
   </tbody>
@@ -1160,7 +1160,7 @@ return the <code>RelBuilder</code>.</p>
 <p>The following methods return a scalar expression
 (<a href="/apidocs/org/apache/calcite/rex/RexNode.html">RexNode</a>).</p>
 
-<p>Many of them use the contents of the stack. For example, <code>field("DEPTNO")</code>
+<p>Many of them use the contents of the stack. For example, <code class="highlighter-rouge">field("DEPTNO")</code>
 returns a reference to the “DEPTNO” field of the relational expression just
 added to the stack.</p>
 
@@ -1173,84 +1173,84 @@ added to the stack.</p>
   </thead>
   <tbody>
     <tr>
-      <td style="text-align: left"><code>literal(value)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">literal(value)</code></td>
       <td style="text-align: left">Constant</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>field(fieldName)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">field(fieldName)</code></td>
       <td style="text-align: left">Reference, by name, to a field of the top-most relational expression</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>field(fieldOrdinal)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">field(fieldOrdinal)</code></td>
       <td style="text-align: left">Reference, by ordinal, to a field of the top-most relational expression</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>field(inputCount, inputOrdinal, fieldName)</code></td>
-      <td style="text-align: left">Reference, by name, to a field of the (<code>inputCount</code> - <code>inputOrdinal</code>)th relational expression</td>
+      <td style="text-align: left"><code class="highlighter-rouge">field(inputCount, inputOrdinal, fieldName)</code></td>
+      <td style="text-align: left">Reference, by name, to a field of the (<code class="highlighter-rouge">inputCount</code> - <code class="highlighter-rouge">inputOrdinal</code>)th relational expression</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>field(inputCount, inputOrdinal, fieldOrdinal)</code></td>
-      <td style="text-align: left">Reference, by ordinal, to a field of the (<code>inputCount</code> - <code>inputOrdinal</code>)th relational expression</td>
+      <td style="text-align: left"><code class="highlighter-rouge">field(inputCount, inputOrdinal, fieldOrdinal)</code></td>
+      <td style="text-align: left">Reference, by ordinal, to a field of the (<code class="highlighter-rouge">inputCount</code> - <code class="highlighter-rouge">inputOrdinal</code>)th relational expression</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>fields(fieldOrdinalList)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">fields(fieldOrdinalList)</code></td>
       <td style="text-align: left">List of expressions referencing input fields by ordinal</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>fields(mapping)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">fields(mapping)</code></td>
       <td style="text-align: left">List of expressions referencing input fields by a given mapping</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>fields(collation)</code></td>
-      <td style="text-align: left">List of expressions, <code>exprList</code>, such that <code>sort(exprList)</code> would replicate collation</td>
+      <td style="text-align: left"><code class="highlighter-rouge">fields(collation)</code></td>
+      <td style="text-align: left">List of expressions, <code class="highlighter-rouge">exprList</code>, such that <code class="highlighter-rouge">sort(exprList)</code> would replicate collation</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>call(op, expr...)</code><br /><code>call(op, exprList)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">call(op, expr...)</code><br /><code class="highlighter-rouge">call(op, exprList)</code></td>
       <td style="text-align: left">Call to a function or operator</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>and(expr...)</code><br /><code>and(exprList)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">and(expr...)</code><br /><code class="highlighter-rouge">and(exprList)</code></td>
       <td style="text-align: left">Logical AND. Flattens nested ANDs, and optimizes cases involving TRUE and FALSE.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>or(expr...)</code><br /><code>or(exprList)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">or(expr...)</code><br /><code class="highlighter-rouge">or(exprList)</code></td>
       <td style="text-align: left">Logical OR. Flattens nested ORs, and optimizes cases involving TRUE and FALSE.</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>not(expr)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">not(expr)</code></td>
       <td style="text-align: left">Logical NOT</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>equals(expr, expr)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">equals(expr, expr)</code></td>
       <td style="text-align: left">Equals</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>isNull(expr)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">isNull(expr)</code></td>
       <td style="text-align: left">Checks whether an expression is null</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>isNotNull(expr)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">isNotNull(expr)</code></td>
       <td style="text-align: left">Checks whether an expression is not null</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>alias(expr, fieldName)</code></td>
-      <td style="text-align: left">Renames an expression (only valid as an argument to <code>project</code>)</td>
+      <td style="text-align: left"><code class="highlighter-rouge">alias(expr, fieldName)</code></td>
+      <td style="text-align: left">Renames an expression (only valid as an argument to <code class="highlighter-rouge">project</code>)</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>cast(expr, typeName)</code><br /><code>cast(expr, typeName, precision)</code><br /><code>cast(expr, typeName, precision, scale)</code><br /></td>
+      <td style="text-align: left"><code class="highlighter-rouge">cast(expr, typeName)</code><br /><code class="highlighter-rouge">cast(expr, typeName, precision)</code><br /><code class="highlighter-rouge">cast(expr, typeName, precision, scale)</code><br /></td>
       <td style="text-align: left">Converts an expression to a given type</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>desc(expr)</code></td>
-      <td style="text-align: left">Changes sort direction to descending (only valid as an argument to <code>sort</code> or <code>sortLimit</code>)</td>
+      <td style="text-align: left"><code class="highlighter-rouge">desc(expr)</code></td>
+      <td style="text-align: left">Changes sort direction to descending (only valid as an argument to <code class="highlighter-rouge">sort</code> or <code class="highlighter-rouge">sortLimit</code>)</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>nullsFirst(expr)</code></td>
-      <td style="text-align: left">Changes sort order to nulls first (only valid as an argument to <code>sort</code> or <code>sortLimit</code>)</td>
+      <td style="text-align: left"><code class="highlighter-rouge">nullsFirst(expr)</code></td>
+      <td style="text-align: left">Changes sort order to nulls first (only valid as an argument to <code class="highlighter-rouge">sort</code> or <code class="highlighter-rouge">sortLimit</code>)</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>nullsLast(expr)</code></td>
-      <td style="text-align: left">Changes sort order to nulls last (only valid as an argument to <code>sort</code> or <code>sortLimit</code>)</td>
+      <td style="text-align: left"><code class="highlighter-rouge">nullsLast(expr)</code></td>
+      <td style="text-align: left">Changes sort order to nulls last (only valid as an argument to <code class="highlighter-rouge">sort</code> or <code class="highlighter-rouge">sortLimit</code>)</td>
     </tr>
   </tbody>
 </table>
@@ -1269,15 +1269,15 @@ added to the stack.</p>
   </thead>
   <tbody>
     <tr>
-      <td style="text-align: left"><code>groupKey(fieldName...)</code><br /><code>groupKey(fieldOrdinal...)</code><br /><code>groupKey(expr...)</code><br /><code>groupKey(exprList)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">groupKey(fieldName...)</code><br /><code class="highlighter-rouge">groupKey(fieldOrdinal...)</code><br /><code class="highlighter-rouge">groupKey(expr...)</code><br /><code class="highlighter-rouge">groupKey(exprList)</code></td>
       <td style="text-align: left">Creates a group key of the given expressions</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>groupKey(exprList, exprListList)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">groupKey(exprList, exprListList)</code></td>
       <td style="text-align: left">Creates a group key of the given expressions with grouping sets</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>groupKey(bitSet, bitSets)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">groupKey(bitSet, bitSets)</code></td>
       <td style="text-align: left">Creates a group key of the given input columns with grouping sets</td>
     </tr>
   </tbody>
@@ -1297,27 +1297,27 @@ added to the stack.</p>
   </thead>
   <tbody>
     <tr>
-      <td style="text-align: left"><code>aggregateCall(op, distinct, filter, alias, expr...)</code><br /><code>aggregateCall(op, distinct, filter, alias, exprList)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">aggregateCall(op, distinct, filter, alias, expr...)</code><br /><code class="highlighter-rouge">aggregateCall(op, distinct, filter, alias, exprList)</code></td>
       <td style="text-align: left">Creates a call to a given aggregate function, with an optional filter expression</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>count(distinct, alias, expr...)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">count(distinct, alias, expr...)</code></td>
       <td style="text-align: left">Creates a call to the COUNT aggregate function</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>countStar(alias)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">countStar(alias)</code></td>
       <td style="text-align: left">Creates a call to the COUNT(*) aggregate function</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>sum(distinct, alias, expr)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">sum(distinct, alias, expr)</code></td>
       <td style="text-align: left">Creates a call to the SUM aggregate function</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>min(alias, expr)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">min(alias, expr)</code></td>
       <td style="text-align: left">Creates a call to the MIN aggregate function</td>
     </tr>
     <tr>
-      <td style="text-align: left"><code>max(alias, expr)</code></td>
+      <td style="text-align: left"><code class="highlighter-rouge">max(alias, expr)</code></td>
       <td style="text-align: left">Creates a call to the MAX aggregate function</td>
     </tr>
   </tbody>
@@ -1372,74 +1372,50 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/index.html">Background</a></li>
       
@@ -1450,116 +1426,78 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/tutorial.html">Tutorial</a></li>
       
@@ -1570,20 +1508,14 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class="current"><a href="/docs/algebra.html">Algebra</a></li>
       
@@ -1602,14 +1534,10 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
       <li class=""><a href="/docs/adapter.html">Adapters</a></li>
       
@@ -1620,104 +1548,70 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/stream.html">Streaming</a></li>
       
@@ -1728,80 +1622,54 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/lattice.html">Lattices</a></li>
       
@@ -1820,38 +1688,26 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/avatica_overview.html">Overview</a></li>
       
@@ -1862,50 +1718,34 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/avatica_roadmap.html">Roadmap</a></li>
       
@@ -1916,32 +1756,22 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/avatica_json_reference.html">JSON Reference</a></li>
       
@@ -1952,44 +1782,30 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/avatica_protobuf_reference.html">Protobuf Reference</a></li>
       
@@ -2008,98 +1824,66 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/reference.html">SQL language</a></li>
       
@@ -2110,86 +1894,58 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/model.html">JSON models</a></li>
       
@@ -2200,68 +1956,46 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/howto.html">HOWTO</a></li>
       
@@ -2280,62 +2014,42 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/history.html">History</a></li>
       
@@ -2346,92 +2060,62 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
       <li class=""><a href="/docs/powered_by.html">Powered By Calcite</a></li>
       
@@ -2442,143 +2126,161 @@ added to the stack.</p>
   
 
   
-    
-  
 
   
     
     
-      
-    
     
   
     
     
-      
-    
     
   
     
     
-      
-    
     
-      <li class=""><a href="/docs/api.html">API</a></li>
-      
-
-
-  
-  
-  
-
   
     
-  
-
-  
     
     
-      
+  
+    
     
     
   
     
     
-      
-    
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
+
+
+  
+  
+  
+
+  
+
+  
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
+    
+  
+    
     
     
   
     
     
-      
     
+  
     
-      <li class=""><a href="/docs/testapi.html">Test API</a></li>
-      
+    
+    
+  
 
 
 </ul>