Modified: calcite/site/docs/model.html URL: http://svn.apache.org/viewvc/calcite/site/docs/model.html?rev=1739659&r1=1739658&r2=1739659&view=diff ============================================================================== --- calcite/site/docs/model.html (original) +++ calcite/site/docs/model.html Sun Apr 17 21:26:04 2016 @@ -4,7 +4,7 @@ <meta charset="UTF-8"> <title>JSON models</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"> @@ -812,74 +812,74 @@ <p>Calcite models can be represented as JSON files. This page describes the structure of those files.</p> -<p>Models can also be built programmatically using the <code>Schema</code> SPI.</p> +<p>Models can also be built programmatically using the <code class="highlighter-rouge">Schema</code> SPI.</p> <h2 id="elements">Elements</h2> <h3 id="root">Root</h3> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">version:</span> <span class="err">'1.0',</span> - <span class="err">defaultSchema:</span> <span class="err">'mongo',</span> - <span class="err">schemas:</span> <span class="err">[</span> <span class="err">Schema...</span> <span class="err">]</span> -<span class="p">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">version:</span><span class="w"> </span><span class="err">'1.0',</span><span class="w"> + </span><span class="err">defaultSchema:</span><span class="w"> </span><span class="err">'mongo',</span><span class="w"> + </span><span class="err">schemas:</span><span class="w"> </span><span class="err">[</span><span class="w"> </span><span class="err">Schema...</span><span class="w"> </span><span class="err">]</span><span class="w"> +</span><span class="p">}</span></code></pre></figure> -<p><code>version</code> (required string) must have value <code>1.0</code>.</p> +<p><code class="highlighter-rouge">version</code> (required string) must have value <code class="highlighter-rouge">1.0</code>.</p> -<p><code>defaultSchema</code> (optional string). If specified, it is +<p><code class="highlighter-rouge">defaultSchema</code> (optional string). If specified, it is the name (case-sensitive) of a schema defined in this model, and will become the default schema for connections to Calcite that use this model.</p> -<p><code>schemas</code> (optional list of <a href="#schema">Schema</a> elements).</p> +<p><code class="highlighter-rouge">schemas</code> (optional list of <a href="#schema">Schema</a> elements).</p> <h3 id="schema">Schema</h3> -<p>Occurs within <code>root.schemas</code>.</p> +<p>Occurs within <code class="highlighter-rouge">root.schemas</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">name:</span> <span class="err">'foodmart',</span> - <span class="err">path:</span> <span class="err">['lib'],</span> - <span class="err">cache:</span> <span class="err">true,</span> - <span class="err">materializations:</span> <span class="err">[</span> <span class="err">Materialization...</span> <span class="err">]</span> -<span class="p">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">name:</span><span class="w"> </span><span class="err">'foodmart',</span><span class="w"> + </span><span class="err">path:</span><span class="w"> </span><span class="err">['lib'],</span><span class="w"> + </span><span class="err">cache:</span><span class="w"> </span><span class="err">true,</span><span class="w"> + </span><span class="err">materializations:</span><span class="w"> </span><span class="err">[</span><span class="w"> </span><span class="err">Materialization...</span><span class="w"> </span><span class="err">]</span><span class="w"> +</span><span class="p">}</span></code></pre></figure> -<p><code>name</code> (required string) is the name of the schema.</p> +<p><code class="highlighter-rouge">name</code> (required string) is the name of the schema.</p> -<p><code>type</code> (optional string, default <code>map</code>) indicates sub-type. Values are:</p> +<p><code class="highlighter-rouge">type</code> (optional string, default <code class="highlighter-rouge">map</code>) indicates sub-type. Values are:</p> <ul> - <li><code>map</code> for <a href="#map-schema">Map Schema</a></li> - <li><code>custom</code> for <a href="#custom-schema">Custom Schema</a></li> - <li><code>jdbc</code> for <a href="#jdbc-schema">JDBC Schema</a></li> + <li><code class="highlighter-rouge">map</code> for <a href="#map-schema">Map Schema</a></li> + <li><code class="highlighter-rouge">custom</code> for <a href="#custom-schema">Custom Schema</a></li> + <li><code class="highlighter-rouge">jdbc</code> for <a href="#jdbc-schema">JDBC Schema</a></li> </ul> -<p><code>path</code> (optional list) is the SQL path that is used to +<p><code class="highlighter-rouge">path</code> (optional list) is the SQL path that is used to resolve functions used in this schema. If specified it must be a list, and each element of the list must be either a string or a list of strings. For example,</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="err">path:</span> <span class="p">[</span> <span class="p">[</span><span class="err">'usr'</span><span class="p">,</span> <span class="err">'lib'</span><span class="p">],</span> <span class="err">'lib'</span> <span class="p">]</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="w"> </span><span class="err">path:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">[</span><span class="err">'usr'</span><span class="p">,</span><span class="w"> </span><span class="err">'lib'</span><span class="p">],</span><span class="w"> </span><span class="err">'lib'</span><span class="w"> </span><span class="p">]</span></code></pre></figure> <p>declares a path with two elements: the schema â/usr/libâ and the schema â/libâ. Most schemas are at the top level, and for these you can use a string.</p> -<p><code>materializations</code> (optional list of +<p><code class="highlighter-rouge">materializations</code> (optional list of <a href="#materialization">Materialization</a>) defines the tables in this schema that are materializations of queries.</p> -<p><code>cache</code> (optional boolean, default true) tells Calcite whether to +<p><code class="highlighter-rouge">cache</code> (optional boolean, default true) tells Calcite whether to cache metadata (tables, functions and sub-schemas) generated by this schema.</p> <ul> <li> - <p>If <code>false</code>, Calcite will go back to the schema each time it needs + <p>If <code class="highlighter-rouge">false</code>, Calcite will go back to the schema each time it needs metadata, for example, each time it needs a list of tables in order to validate a query against the schema.</p> </li> <li> - <p>If <code>true</code>, Calcite will cache the metadata the first time it reads + <p>If <code class="highlighter-rouge">true</code>, Calcite will cache the metadata the first time it reads it. This can lead to better performance, especially if name-matching is case-insensitive.</p> </li> @@ -887,7 +887,7 @@ case-insensitive.</p> <p>However, it also leads to the problem of cache staleness. A particular schema implementation can override the -<code>Schema.contentsHaveChangedSince</code> method to tell Calcite +<code class="highlighter-rouge">Schema.contentsHaveChangedSince</code> method to tell Calcite when it should consider its cache to be out of date.</p> <p>Tables, functions and sub-schemas explicitly created in a schema are @@ -896,144 +896,144 @@ immediately, and are never flushed.</p> <h3 id="map-schema">Map Schema</h3> -<p>Like base class <a href="#schema">Schema</a>, occurs within <code>root.schemas</code>.</p> +<p>Like base class <a href="#schema">Schema</a>, occurs within <code class="highlighter-rouge">root.schemas</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">name:</span> <span class="err">'foodmart',</span> - <span class="err">type:</span> <span class="err">'map',</span> - <span class="err">tables:</span> <span class="err">[</span> <span class="err">Table...</span> <span class="err">],</span> - <span class="err">functions:</span> <span class="err">[</span> <span class="err">Function...</span> <span class="err">]</span> -<span class="p">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">name:</span><span class="w"> </span><span class="err">'foodmart',</span><span class="w"> + </span><span class="err">type:</span><span class="w"> </span><span class="err">'map',</span><span class="w"> + </span><span class="err">tables:</span><span class="w"> </span><span class="err">[</span><span class="w"> </span><span class="err">Table...</span><span class="w"> </span><span class="err">],</span><span class="w"> + </span><span class="err">functions:</span><span class="w"> </span><span class="err">[</span><span class="w"> </span><span class="err">Function...</span><span class="w"> </span><span class="err">]</span><span class="w"> +</span><span class="p">}</span></code></pre></figure> -<p><code>name</code>, <code>type</code>, <code>path</code>, <code>cache</code>, <code>materializations</code> inherited from +<p><code class="highlighter-rouge">name</code>, <code class="highlighter-rouge">type</code>, <code class="highlighter-rouge">path</code>, <code class="highlighter-rouge">cache</code>, <code class="highlighter-rouge">materializations</code> inherited from <a href="#schema">Schema</a>.</p> -<p><code>tables</code> (optional list of <a href="#table">Table</a> elements) +<p><code class="highlighter-rouge">tables</code> (optional list of <a href="#table">Table</a> elements) defines the tables in this schema.</p> -<p><code>functions</code> (optional list of <a href="#function">Function</a> elements) +<p><code class="highlighter-rouge">functions</code> (optional list of <a href="#function">Function</a> elements) defines the functions in this schema.</p> <h3 id="custom-schema">Custom Schema</h3> -<p>Like base class <a href="#schema">Schema</a>, occurs within <code>root.schemas</code>.</p> +<p>Like base class <a href="#schema">Schema</a>, occurs within <code class="highlighter-rouge">root.schemas</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">name:</span> <span class="err">'mongo',</span> - <span class="err">type:</span> <span class="err">'custom',</span> - <span class="err">factory:</span> <span class="err">'org.apache.calcite.adapter.mongodb.MongoSchemaFactory',</span> - <span class="err">operand:</span> <span class="err">{</span> - <span class="err">host:</span> <span class="err">'localhost',</span> - <span class="err">database:</span> <span class="err">'test'</span> - <span class="p">}</span> -<span class="err">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">name:</span><span class="w"> </span><span class="err">'mongo',</span><span class="w"> + </span><span class="err">type:</span><span class="w"> </span><span class="err">'custom',</span><span class="w"> + </span><span class="err">factory:</span><span class="w"> </span><span class="err">'org.apache.calcite.adapter.mongodb.MongoSchemaFactory',</span><span class="w"> + </span><span class="err">operand:</span><span class="w"> </span><span class="err">{</span><span class="w"> + </span><span class="err">host:</span><span class="w"> </span><span class="err">'localhost',</span><span class="w"> + </span><span class="err">database:</span><span class="w"> </span><span class="err">'test'</span><span class="w"> + </span><span class="p">}</span><span class="w"> +</span><span class="err">}</span></code></pre></figure> -<p><code>name</code>, <code>type</code>, <code>path</code>, <code>cache</code>, <code>materializations</code> inherited from +<p><code class="highlighter-rouge">name</code>, <code class="highlighter-rouge">type</code>, <code class="highlighter-rouge">path</code>, <code class="highlighter-rouge">cache</code>, <code class="highlighter-rouge">materializations</code> inherited from <a href="#schema">Schema</a>.</p> -<p><code>factory</code> (required string) is the name of the factory class for this +<p><code class="highlighter-rouge">factory</code> (required string) is the name of the factory class for this schema. Must implement interface <a href="/apidocs/org/apache/calcite/schema/SchemaFactory.html">org.apache.calcite.schema.SchemaFactory</a> and have a public default constructor.</p> -<p><code>operand</code> (optional map) contains attributes to be passed to the +<p><code class="highlighter-rouge">operand</code> (optional map) contains attributes to be passed to the factory.</p> <h3 id="jdbc-schema">JDBC Schema</h3> -<p>Like base class <a href="#schema">Schema</a>, occurs within <code>root.schemas</code>.</p> +<p>Like base class <a href="#schema">Schema</a>, occurs within <code class="highlighter-rouge">root.schemas</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">name:</span> <span class="err">'foodmart',</span> - <span class="err">type:</span> <span class="err">'jdbc',</span> - <span class="err">jdbcDriver:</span> <span class="err">TODO,</span> - <span class="err">jdbcUrl:</span> <span class="err">TODO,</span> - <span class="err">jdbcUser:</span> <span class="err">TODO,</span> - <span class="err">jdbcPassword:</span> <span class="err">TODO,</span> - <span class="err">jdbcCatalog:</span> <span class="err">TODO,</span> - <span class="err">jdbcSchema:</span> <span class="err">TODO</span> -<span class="p">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">name:</span><span class="w"> </span><span class="err">'foodmart',</span><span class="w"> + </span><span class="err">type:</span><span class="w"> </span><span class="err">'jdbc',</span><span class="w"> + </span><span class="err">jdbcDriver:</span><span class="w"> </span><span class="err">TODO,</span><span class="w"> + </span><span class="err">jdbcUrl:</span><span class="w"> </span><span class="err">TODO,</span><span class="w"> + </span><span class="err">jdbcUser:</span><span class="w"> </span><span class="err">TODO,</span><span class="w"> + </span><span class="err">jdbcPassword:</span><span class="w"> </span><span class="err">TODO,</span><span class="w"> + </span><span class="err">jdbcCatalog:</span><span class="w"> </span><span class="err">TODO,</span><span class="w"> + </span><span class="err">jdbcSchema:</span><span class="w"> </span><span class="err">TODO</span><span class="w"> +</span><span class="p">}</span></code></pre></figure> -<p><code>name</code>, <code>type</code>, <code>path</code>, <code>cache</code>, <code>materializations</code> inherited from +<p><code class="highlighter-rouge">name</code>, <code class="highlighter-rouge">type</code>, <code class="highlighter-rouge">path</code>, <code class="highlighter-rouge">cache</code>, <code class="highlighter-rouge">materializations</code> inherited from <a href="#schema">Schema</a>.</p> -<p><code>jdbcDriver</code> (optional string) is the name of the JDBC driver class. If not +<p><code class="highlighter-rouge">jdbcDriver</code> (optional string) is the name of the JDBC driver class. If not specified, uses whichever class the JDBC DriverManager chooses.</p> -<p><code>jdbcUrl</code> (optional string) is the JDBC connect string, for example +<p><code class="highlighter-rouge">jdbcUrl</code> (optional string) is the JDBC connect string, for example âjdbc:mysql://localhost/foodmartâ.</p> -<p><code>jdbcUser</code> (optional string) is the JDBC user name.</p> +<p><code class="highlighter-rouge">jdbcUser</code> (optional string) is the JDBC user name.</p> -<p><code>jdbcPassword</code> (optional string) is the JDBC password.</p> +<p><code class="highlighter-rouge">jdbcPassword</code> (optional string) is the JDBC password.</p> -<p><code>jdbcCatalog</code> (optional string) is the name of the initial catalog in the JDBC +<p><code class="highlighter-rouge">jdbcCatalog</code> (optional string) is the name of the initial catalog in the JDBC data source.</p> -<p><code>jdbcSchema</code> (optional string) is the name of the initial schema in the JDBC +<p><code class="highlighter-rouge">jdbcSchema</code> (optional string) is the name of the initial schema in the JDBC data source.</p> <h3 id="materialization">Materialization</h3> -<p>Occurs within <code>root.schemas.materializations</code>.</p> +<p>Occurs within <code class="highlighter-rouge">root.schemas.materializations</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">view:</span> <span class="err">'V',</span> - <span class="err">table:</span> <span class="err">'T',</span> - <span class="err">sql:</span> <span class="err">'select</span> <span class="err">deptno,</span> <span class="err">count(*)</span> <span class="err">as</span> <span class="err">c,</span> <span class="err">sum(sal)</span> <span class="err">as</span> <span class="err">s</span> <span class="err">from</span> <span class="err">emp</span> <span class="err">group</span> <span class="err">by</span> <span class="err">deptno'</span> -<span class="p">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">view:</span><span class="w"> </span><span class="err">'V',</span><span class="w"> + </span><span class="err">table:</span><span class="w"> </span><span class="err">'T',</span><span class="w"> + </span><span class="err">sql:</span><span class="w"> </span><span class="err">'select</span><span class="w"> </span><span class="err">deptno,</span><span class="w"> </span><span class="err">count(*)</span><span class="w"> </span><span class="err">as</span><span class="w"> </span><span class="err">c,</span><span class="w"> </span><span class="err">sum(sal)</span><span class="w"> </span><span class="err">as</span><span class="w"> </span><span class="err">s</span><span class="w"> </span><span class="err">from</span><span class="w"> </span><span class="err">emp</span><span class="w"> </span><span class="err">group</span><span class="w"> </span><span class="err">by</span><span class="w"> </span><span class="err">deptno'</span><span class="w"> +</span><span class="p">}</span></code></pre></figure> -<p><code>view</code> (optional string) is the name of the view; null means that the table +<p><code class="highlighter-rouge">view</code> (optional string) is the name of the view; null means that the table already exists and is populated with the correct data.</p> -<p><code>table</code> (required string) is the name of the table that materializes the data in -the query. If <code>view</code> is not null, the table might not exist, and if it does not, +<p><code class="highlighter-rouge">table</code> (required string) is the name of the table that materializes the data in +the query. If <code class="highlighter-rouge">view</code> is not null, the table might not exist, and if it does not, Calcite will create and populate an in-memory table.</p> -<p><code>sql</code> (optional string, or list of strings that will be concatenated as a +<p><code class="highlighter-rouge">sql</code> (optional string, or list of strings that will be concatenated as a multi-line string) is the SQL definition of the materialization.</p> <h3 id="table">Table</h3> -<p>Occurs within <code>root.schemas.tables</code>.</p> +<p>Occurs within <code class="highlighter-rouge">root.schemas.tables</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">name:</span> <span class="err">'sales_fact',</span> - <span class="err">columns:</span> <span class="err">[</span> <span class="err">Column...</span> <span class="err">]</span> -<span class="p">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">name:</span><span class="w"> </span><span class="err">'sales_fact',</span><span class="w"> + </span><span class="err">columns:</span><span class="w"> </span><span class="err">[</span><span class="w"> </span><span class="err">Column...</span><span class="w"> </span><span class="err">]</span><span class="w"> +</span><span class="p">}</span></code></pre></figure> -<p><code>name</code> (required string) is the name of this table. Must be unique within the schema.</p> +<p><code class="highlighter-rouge">name</code> (required string) is the name of this table. Must be unique within the schema.</p> -<p><code>type</code> (optional string, default <code>custom</code>) indicates sub-type. Values are:</p> +<p><code class="highlighter-rouge">type</code> (optional string, default <code class="highlighter-rouge">custom</code>) indicates sub-type. Values are:</p> <ul> - <li><code>custom</code> for <a href="#custom-table">Custom Table</a></li> - <li><code>view</code> for <a href="#view">View</a></li> + <li><code class="highlighter-rouge">custom</code> for <a href="#custom-table">Custom Table</a></li> + <li><code class="highlighter-rouge">view</code> for <a href="#view">View</a></li> </ul> -<p><code>columns</code> (list of <a href="#column">Column</a> elements, required for +<p><code class="highlighter-rouge">columns</code> (list of <a href="#column">Column</a> elements, required for some kinds of table, optional for others such as View)</p> <h3 id="view">View</h3> -<p>Like base class <a href="#table">Table</a>, occurs within <code>root.schemas.tables</code>.</p> +<p>Like base class <a href="#table">Table</a>, occurs within <code class="highlighter-rouge">root.schemas.tables</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">name:</span> <span class="err">'female_emps',</span> - <span class="err">type:</span> <span class="err">'view',</span> - <span class="err">sql:</span> <span class="nt">"select * from emps where gender = 'F'"</span><span class="p">,</span> - <span class="err">modifiable:</span> <span class="err">true</span> -<span class="p">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">name:</span><span class="w"> </span><span class="err">'female_emps',</span><span class="w"> + </span><span class="err">type:</span><span class="w"> </span><span class="err">'view',</span><span class="w"> + </span><span class="err">sql:</span><span class="w"> </span><span class="nt">"select * from emps where gender = 'F'"</span><span class="err">,</span><span class="w"> + </span><span class="err">modifiable</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w"> +</span><span class="p">}</span></code></pre></figure> -<p><code>name</code>, <code>type</code>, <code>columns</code> inherited from <a href="#table">Table</a>.</p> +<p><code class="highlighter-rouge">name</code>, <code class="highlighter-rouge">type</code>, <code class="highlighter-rouge">columns</code> inherited from <a href="#table">Table</a>.</p> -<p><code>sql</code> (required string, or list of strings that will be concatenated as a +<p><code class="highlighter-rouge">sql</code> (required string, or list of strings that will be concatenated as a multi-line string) is the SQL definition of the view.</p> -<p><code>path</code> (optional list) is the SQL path to resolve the query. If not +<p><code class="highlighter-rouge">path</code> (optional list) is the SQL path to resolve the query. If not specified, defaults to the current schema.</p> -<p><code>modifiable</code> (optional boolean) is whether the view is modifiable. +<p><code class="highlighter-rouge">modifiable</code> (optional boolean) is whether the view is modifiable. If null or not specified, Calcite deduces whether the view is modifiable.</p> <p>A view is modifiable if contains only SELECT, FROM, WHERE (no JOIN, aggregation @@ -1041,179 +1041,179 @@ or sub-queries) and every column:</p> <ul> <li>is specified once in the SELECT clause; or</li> - <li>occurs in the WHERE clause with a <code>column = literal</code> predicate; or</li> + <li>occurs in the WHERE clause with a <code class="highlighter-rouge">column = literal</code> predicate; or</li> <li>is nullable.</li> </ul> <p>The second clause allows Calcite to automatically provide the correct value for -hidden columns. It is useful in multi-tenant environments, where the <code>tenantId</code> +hidden columns. It is useful in multi-tenant environments, where the <code class="highlighter-rouge">tenantId</code> column is hidden, mandatory (NOT NULL), and has a constant value for a particular view.</p> <p>Errors regarding modifiable views:</p> <ul> - <li>If a view is marked <code>modifiable: true</code> and is not modifiable, Calcite throws + <li>If a view is marked <code class="highlighter-rouge">modifiable: true</code> and is not modifiable, Calcite throws an error while reading the schema.</li> <li>If you submit an INSERT, UPDATE or UPSERT command to a non-modifiable view, Calcite throws an error when validating the statement.</li> <li>If a DML statement creates a row that would not appear in the view -(for example, a row in <code>female_emps</code>, above, with <code>gender = 'M'</code>), +(for example, a row in <code class="highlighter-rouge">female_emps</code>, above, with <code class="highlighter-rouge">gender = 'M'</code>), Calcite throws an error when executing the statement.</li> </ul> <h3 id="custom-table">Custom Table</h3> -<p>Like base class <a href="#table">Table</a>, occurs within <code>root.schemas.tables</code>.</p> +<p>Like base class <a href="#table">Table</a>, occurs within <code class="highlighter-rouge">root.schemas.tables</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">name:</span> <span class="err">'female_emps',</span> - <span class="err">type:</span> <span class="err">'custom',</span> - <span class="err">factory:</span> <span class="err">'TODO',</span> - <span class="err">operand:</span> <span class="err">{</span> - <span class="err">todo:</span> <span class="err">'TODO'</span> - <span class="p">}</span> -<span class="err">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">name:</span><span class="w"> </span><span class="err">'female_emps',</span><span class="w"> + </span><span class="err">type:</span><span class="w"> </span><span class="err">'custom',</span><span class="w"> + </span><span class="err">factory:</span><span class="w"> </span><span class="err">'TODO',</span><span class="w"> + </span><span class="err">operand:</span><span class="w"> </span><span class="err">{</span><span class="w"> + </span><span class="err">todo:</span><span class="w"> </span><span class="err">'TODO'</span><span class="w"> + </span><span class="p">}</span><span class="w"> +</span><span class="err">}</span></code></pre></figure> -<p><code>name</code>, <code>type</code>, <code>columns</code> inherited from <a href="#table">Table</a>.</p> +<p><code class="highlighter-rouge">name</code>, <code class="highlighter-rouge">type</code>, <code class="highlighter-rouge">columns</code> inherited from <a href="#table">Table</a>.</p> -<p><code>factory</code> (required string) is the name of the factory class for this +<p><code class="highlighter-rouge">factory</code> (required string) is the name of the factory class for this table. Must implement interface <a href="/apidocs/org/apache/calcite/schema/TableFactory.html">org.apache.calcite.schema.TableFactory</a> and have a public default constructor.</p> -<p><code>operand</code> (optional map) contains attributes to be passed to the +<p><code class="highlighter-rouge">operand</code> (optional map) contains attributes to be passed to the factory.</p> <h3 id="stream">Stream</h3> <p>Information about whether a table allows streaming.</p> -<p>Occurs within <code>root.schemas.tables.stream</code>.</p> +<p>Occurs within <code class="highlighter-rouge">root.schemas.tables.stream</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">stream:</span> <span class="err">true,</span> - <span class="err">history:</span> <span class="err">false</span> -<span class="p">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">stream:</span><span class="w"> </span><span class="err">true,</span><span class="w"> + </span><span class="err">history:</span><span class="w"> </span><span class="err">false</span><span class="w"> +</span><span class="p">}</span></code></pre></figure> -<p><code>stream</code> (optional; default true) is whether the table allows streaming.</p> +<p><code class="highlighter-rouge">stream</code> (optional; default true) is whether the table allows streaming.</p> -<p><code>history</code> (optional; default false) is whether the history of the stream is +<p><code class="highlighter-rouge">history</code> (optional; default false) is whether the history of the stream is available.</p> <h3 id="column">Column</h3> -<p>Occurs within <code>root.schemas.tables.columns</code>.</p> +<p>Occurs within <code class="highlighter-rouge">root.schemas.tables.columns</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">name:</span> <span class="err">'empno'</span> -<span class="p">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">name:</span><span class="w"> </span><span class="err">'empno'</span><span class="w"> +</span><span class="p">}</span></code></pre></figure> -<p><code>name</code> (required string) is the name of this column.</p> +<p><code class="highlighter-rouge">name</code> (required string) is the name of this column.</p> <h3 id="function">Function</h3> -<p>Occurs within <code>root.schemas.functions</code>.</p> +<p>Occurs within <code class="highlighter-rouge">root.schemas.functions</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">name:</span> <span class="err">'MY_PLUS',</span> - <span class="err">className:</span> <span class="err">'com.example.functions.MyPlusFunction',</span> - <span class="err">methodName:</span> <span class="err">'apply',</span> - <span class="err">path:</span> <span class="err">[]</span> -<span class="p">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">name:</span><span class="w"> </span><span class="err">'MY_PLUS',</span><span class="w"> + </span><span class="err">className:</span><span class="w"> </span><span class="err">'com.example.functions.MyPlusFunction',</span><span class="w"> + </span><span class="err">methodName:</span><span class="w"> </span><span class="err">'apply',</span><span class="w"> + </span><span class="err">path:</span><span class="w"> </span><span class="err">[]</span><span class="w"> +</span><span class="p">}</span></code></pre></figure> -<p><code>name</code> (required string) is the name of this function.</p> +<p><code class="highlighter-rouge">name</code> (required string) is the name of this function.</p> -<p><code>className</code> (required string) is the name of the class that implements this +<p><code class="highlighter-rouge">className</code> (required string) is the name of the class that implements this function.</p> -<p><code>methodName</code> (optional string) is the name of the method that implements this +<p><code class="highlighter-rouge">methodName</code> (optional string) is the name of the method that implements this function.</p> -<p>If <code>methodName</code> is specified, the method must exist (case-sensitive) and Calcite +<p>If <code class="highlighter-rouge">methodName</code> is specified, the method must exist (case-sensitive) and Calcite will create a scalar function. The method may be static or non-static, but if non-static, the class must have a public constructor with no parameters.</p> -<p>If <code>methodName</code> is â*â, Calcite creates a function for every method +<p>If <code class="highlighter-rouge">methodName</code> is â*â, Calcite creates a function for every method in the class.</p> -<p>If <code>methodName</code> is not specified, Calcite looks for a method called âevalâ, and +<p>If <code class="highlighter-rouge">methodName</code> is not specified, Calcite looks for a method called âevalâ, and if found, creates a a table macro or scalar function. It also looks for methods âinitâ, âaddâ, âmergeâ, âresultâ, and if found, creates an aggregate function.</p> -<p><code>path</code> (optional list of string) is the path for resolving this function.</p> +<p><code class="highlighter-rouge">path</code> (optional list of string) is the path for resolving this function.</p> <h3 id="lattice">Lattice</h3> -<p>Occurs within <code>root.schemas.lattices</code>.</p> +<p>Occurs within <code class="highlighter-rouge">root.schemas.lattices</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">name:</span> <span class="err">'star',</span> - <span class="err">sql:</span> <span class="err">[</span> - <span class="err">'select</span> <span class="err">1</span> <span class="err">from</span> <span class="nt">"foodmart"</span><span class="err">.</span><span class="s2">"sales_fact_1997"</span> <span class="err">as</span> <span class="s2">"s"</span><span class="err">'</span><span class="p">,</span> - <span class="err">'join</span> <span class="nt">"foodmart"</span><span class="err">.</span><span class="s2">"product"</span> <span class="err">as</span> <span class="s2">"p"</span> <span class="err">using</span> <span class="err">(</span><span class="s2">"product_id"</span><span class="err">)'</span><span class="p">,</span> - <span class="err">'join</span> <span class="nt">"foodmart"</span><span class="err">.</span><span class="s2">"time_by_day"</span> <span class="err">as</span> <span class="s2">"t"</span> <span class="err">using</span> <span class="err">(</span><span class="s2">"time_id"</span><span class="err">)'</span><span class="p">,</span> - <span class="err">'join</span> <span class="nt">"foodmart"</span><span class="err">.</span><span class="s2">"product_class"</span> <span class="err">as</span> <span class="s2">"pc"</span> <span class="err">on</span> <span class="s2">"p"</span><span class="err">.</span><span class="s2">"product_class_id"</span> <span class="err">=</span> <span class="s2">"pc"</span><span class="err">.</span><span class="s2">"product_class_id"</span><span class="err">'</span> - <span class="err">]</span><span class="p">,</span> - <span class="err">auto:</span> <span class="err">false,</span> - <span class="err">algorithm:</span> <span class="err">true,</span> - <span class="err">algorithmMaxMillis:</span> <span class="err">10000,</span> - <span class="err">rowCountEstimate:</span> <span class="err">86837,</span> - <span class="err">defaultMeasures:</span> <span class="err">[</span> <span class="err">{</span> - <span class="err">agg:</span> <span class="err">'count'</span> - <span class="p">}</span> <span class="err">],</span> - <span class="err">tiles:</span> <span class="p">[</span> <span class="p">{</span> - <span class="err">dimensions:</span> <span class="err">[</span> <span class="err">'the_year',</span> <span class="err">['t',</span> <span class="err">'quarter']</span> <span class="err">],</span> - <span class="err">measures:</span> <span class="err">[</span> <span class="err">{</span> - <span class="err">agg:</span> <span class="err">'sum',</span> - <span class="err">args:</span> <span class="err">'unit_sales'</span> - <span class="p">},</span> <span class="p">{</span> - <span class="err">agg:</span> <span class="err">'sum',</span> - <span class="err">args:</span> <span class="err">'store_sales'</span> - <span class="p">},</span> <span class="p">{</span> - <span class="err">agg:</span> <span class="err">'count'</span> - <span class="p">}</span> <span class="p">]</span> - <span class="err">}</span> <span class="err">]</span> -<span class="err">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">name:</span><span class="w"> </span><span class="err">'star',</span><span class="w"> + </span><span class="err">sql:</span><span class="w"> </span><span class="err">[</span><span class="w"> + </span><span class="err">'select</span><span class="w"> </span><span class="err">1</span><span class="w"> </span><span class="err">from</span><span class="w"> </span><span class="nt">"foodmart"</span><span class="err">.</span><span class="nt">"sales_fact_1997"</span><span class="w"> </span><span class="err">as</span><span class="w"> </span><span class="nt">"s"</span><span class="err">',</span><span class="w"> + </span><span class="err">'join</span><span class="w"> </span><span class="nt">"foodmart"</span><span class="err">.</span><span class="nt">"product"</span><span class="w"> </span><span class="err">as</span><span class="w"> </span><span class="nt">"p"</span><span class="w"> </span><span class="err">using</span><span class="w"> </span><span class="err">(</span><span class="nt">"product_id"</span><span class="err">)',</span><span class="w"> + </span><span class="err">'join</span><span class="w"> </span><span class="nt">"foodmart"</span><span class="err">.</span><span class="nt">"time_by_day"</span><span class="w"> </span><span class="err">as</span><span class="w"> </span><span class="nt">"t"</span><span class="w"> </span><span class="err">using</span><span class="w"> </span><span class="err">(</span><span class="nt">"time_id"</span><span class="err">)',</span><span class="w"> + </span><span class="err">'join</span><span class="w"> </span><span class="nt">"foodmart"</span><span class="err">.</span><span class="nt">"product_class"</span><span class="w"> </span><span class="err">as</span><span class="w"> </span><span class="nt">"pc"</span><span class="w"> </span><span class="err">on</span><span class="w"> </span><span class="nt">"p"</span><span class="err">.</span><span class="nt">"product_class_id"</span><span class="w"> </span><span class="err">=</span><span class="w"> </span><span class="nt">"pc"</span><span class="err">.</span><span class="nt">"product_class_id"</span><span class="err">'</span><span class="w"> + </span><span class="err">],</span><span class="w"> + </span><span class="err">auto</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w"> + </span><span class="err">algorithm</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w"> + </span><span class="err">algorithmMaxMillis</span><span class="p">:</span><span class="w"> </span><span class="mi">10000</span><span class="p">,</span><span class="w"> + </span><span class="err">rowCountEstimate</span><span class="p">:</span><span class="w"> </span><span class="mi">86837</span><span class="p">,</span><span class="w"> + </span><span class="err">defaultMeasures</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">{</span><span class="w"> + </span><span class="err">agg:</span><span class="w"> </span><span class="err">'count'</span><span class="w"> + </span><span class="p">}</span><span class="w"> </span><span class="p">],</span><span class="w"> + </span><span class="err">tiles</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">{</span><span class="w"> + </span><span class="err">dimensions:</span><span class="w"> </span><span class="err">[</span><span class="w"> </span><span class="err">'the_year',</span><span class="w"> </span><span class="err">['t',</span><span class="w"> </span><span class="err">'quarter']</span><span class="w"> </span><span class="err">],</span><span class="w"> + </span><span class="err">measures:</span><span class="w"> </span><span class="err">[</span><span class="w"> </span><span class="err">{</span><span class="w"> + </span><span class="err">agg:</span><span class="w"> </span><span class="err">'sum',</span><span class="w"> + </span><span class="err">args:</span><span class="w"> </span><span class="err">'unit_sales'</span><span class="w"> + </span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="w"> + </span><span class="err">agg:</span><span class="w"> </span><span class="err">'sum',</span><span class="w"> + </span><span class="err">args:</span><span class="w"> </span><span class="err">'store_sales'</span><span class="w"> + </span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="w"> + </span><span class="err">agg:</span><span class="w"> </span><span class="err">'count'</span><span class="w"> + </span><span class="p">}</span><span class="w"> </span><span class="p">]</span><span class="w"> + </span><span class="p">}</span><span class="w"> </span><span class="err">]</span><span class="w"> +</span><span class="err">}</span></code></pre></figure> -<p><code>name</code> (required string) is the name of this lattice.</p> +<p><code class="highlighter-rouge">name</code> (required string) is the name of this lattice.</p> -<p><code>sql</code> (required string, or list of strings that will be concatenated as a +<p><code class="highlighter-rouge">sql</code> (required string, or list of strings that will be concatenated as a multi-line string) is the SQL statement that defines the fact table, dimension tables, and join paths for this lattice.</p> -<p><code>auto</code> (optional boolean, default true) is whether to materialize tiles on need +<p><code class="highlighter-rouge">auto</code> (optional boolean, default true) is whether to materialize tiles on need as queries are executed.</p> -<p><code>algorithm</code> (optional boolean, default false) is whether to use an optimization +<p><code class="highlighter-rouge">algorithm</code> (optional boolean, default false) is whether to use an optimization algorithm to suggest and populate an initial set of tiles.</p> -<p><code>algorithmMaxMillis</code> (optional long, default -1, meaning no limit) is the +<p><code class="highlighter-rouge">algorithmMaxMillis</code> (optional long, default -1, meaning no limit) is the maximum number of milliseconds for which to run the algorithm. After this point, takes the best result the algorithm has come up with so far.</p> -<p><code>rowCountEstimate</code> (optional double, default 1000.0) estimated number of rows in +<p><code class="highlighter-rouge">rowCountEstimate</code> (optional double, default 1000.0) estimated number of rows in the lattice</p> -<p><code>tiles</code> (optional list of <a href="#tile">Tile</a> elements) is a list of +<p><code class="highlighter-rouge">tiles</code> (optional list of <a href="#tile">Tile</a> elements) is a list of materialized aggregates to create up front.</p> -<p><code>defaultMeasures</code> (optional list of <a href="#measure">Measure</a> elements) +<p><code class="highlighter-rouge">defaultMeasures</code> (optional list of <a href="#measure">Measure</a> elements) is a list of measures that a tile should have by default. -Any tile defined in <code>tiles</code> can still define its own measures, including +Any tile defined in <code class="highlighter-rouge">tiles</code> can still define its own measures, including measures not on this list. If not specified, the default list of measures is just âcount(*)â:</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">[</span> <span class="p">{</span> <span class="err">name:</span> <span class="err">'count'</span> <span class="p">}</span> <span class="p">]</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">[</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="err">name:</span><span class="w"> </span><span class="err">'count'</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="p">]</span></code></pre></figure> -<p><code>statisticProvider</code> (optional name of a class that implements +<p><code class="highlighter-rouge">statisticProvider</code> (optional name of a class that implements <a href="/apidocs/org/apache/calcite/materialize/LatticeStatisticProvider.html">org.apache.calcite.materialize.LatticeStatisticProvider</a>) provides estimates of the number of distinct values in each column.</p> <p>You can use a class name, or a class plus a static field. Example:</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="s2">"statisticProvider"</span><span class="err">:</span> <span class="s2">"org.apache.calcite.materialize.Lattices#CACHING_SQL_STATISTIC_PROVIDER"</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="w"> </span><span class="s2">"statisticProvider"</span><span class="err">:</span><span class="w"> </span><span class="s2">"org.apache.calcite.materialize.Lattices#CACHING_SQL_STATISTIC_PROVIDER"</span></code></pre></figure> <p>If not set, Calcite will generate and execute a SQL query to find the real value, and cache the results.</p> @@ -1222,46 +1222,46 @@ value, and cache the results.</p> <h3 id="tile">Tile</h3> -<p>Occurs within <code>root.schemas.lattices.tiles</code>.</p> +<p>Occurs within <code class="highlighter-rouge">root.schemas.lattices.tiles</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">dimensions:</span> <span class="err">[</span> <span class="err">'the_year',</span> <span class="err">['t',</span> <span class="err">'quarter']</span> <span class="err">],</span> - <span class="err">measures:</span> <span class="err">[</span> <span class="err">{</span> - <span class="err">agg:</span> <span class="err">'sum',</span> - <span class="err">args:</span> <span class="err">'unit_sales'</span> - <span class="p">}</span><span class="err">,</span> <span class="p">{</span> - <span class="err">agg:</span> <span class="err">'sum',</span> - <span class="err">args:</span> <span class="err">'store_sales'</span> - <span class="p">}</span><span class="err">,</span> <span class="p">{</span> - <span class="err">agg:</span> <span class="err">'count'</span> - <span class="p">}</span> <span class="err">]</span> -<span class="err">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">dimensions:</span><span class="w"> </span><span class="err">[</span><span class="w"> </span><span class="err">'the_year',</span><span class="w"> </span><span class="err">['t',</span><span class="w"> </span><span class="err">'quarter']</span><span class="w"> </span><span class="err">],</span><span class="w"> + </span><span class="err">measures:</span><span class="w"> </span><span class="err">[</span><span class="w"> </span><span class="err">{</span><span class="w"> + </span><span class="err">agg:</span><span class="w"> </span><span class="err">'sum',</span><span class="w"> + </span><span class="err">args:</span><span class="w"> </span><span class="err">'unit_sales'</span><span class="w"> + </span><span class="p">}</span><span class="err">,</span><span class="w"> </span><span class="p">{</span><span class="w"> + </span><span class="err">agg:</span><span class="w"> </span><span class="err">'sum',</span><span class="w"> + </span><span class="err">args:</span><span class="w"> </span><span class="err">'store_sales'</span><span class="w"> + </span><span class="p">}</span><span class="err">,</span><span class="w"> </span><span class="p">{</span><span class="w"> + </span><span class="err">agg:</span><span class="w"> </span><span class="err">'count'</span><span class="w"> + </span><span class="p">}</span><span class="w"> </span><span class="err">]</span><span class="w"> +</span><span class="err">}</span></code></pre></figure> -<p><code>dimensions</code> (list of strings or string lists, required, but may be empty) +<p><code class="highlighter-rouge">dimensions</code> (list of strings or string lists, required, but may be empty) defines the dimensionality of this tile. -Each dimension is a column from the lattice, like a <code>GROUP BY</code> clause. +Each dimension is a column from the lattice, like a <code class="highlighter-rouge">GROUP BY</code> clause. Each element can be either a string (the unique label of the column within the lattice) or a string list (a pair consisting of a table alias and a column name).</p> -<p><code>measures</code> (optional list of <a href="#measure">Measure</a> elements) is a list +<p><code class="highlighter-rouge">measures</code> (optional list of <a href="#measure">Measure</a> elements) is a list of aggregate functions applied to arguments. If not specified, uses the latticeâs default measure list.</p> <h3 id="measure">Measure</h3> -<p>Occurs within <code>root.schemas.lattices.defaultMeasures</code> -and <code>root.schemas.lattices.tiles.measures</code>.</p> +<p>Occurs within <code class="highlighter-rouge">root.schemas.lattices.defaultMeasures</code> +and <code class="highlighter-rouge">root.schemas.lattices.tiles.measures</code>.</p> -<div class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span> - <span class="err">agg:</span> <span class="err">'sum',</span> - <span class="err">args:</span> <span class="err">[</span> <span class="err">'unit_sales'</span> <span class="err">]</span> -<span class="p">}</span></code></pre></div> +<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w"> + </span><span class="err">agg:</span><span class="w"> </span><span class="err">'sum',</span><span class="w"> + </span><span class="err">args:</span><span class="w"> </span><span class="err">[</span><span class="w"> </span><span class="err">'unit_sales'</span><span class="w"> </span><span class="err">]</span><span class="w"> +</span><span class="p">}</span></code></pre></figure> -<p><code>agg</code> is the name of an aggregate function (usually âcountâ, âsumâ, âminâ, +<p><code class="highlighter-rouge">agg</code> is the name of an aggregate function (usually âcountâ, âsumâ, âminâ, âmaxâ).</p> -<p><code>args</code> (optional) is a column label (string), or list of zero or more column +<p><code class="highlighter-rouge">args</code> (optional) is a column label (string), or list of zero or more column labels</p> <p>Valid values are:</p> @@ -1358,74 +1358,50 @@ when you want to pass the column as a me - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/index.html">Background</a></li> @@ -1436,116 +1412,78 @@ when you want to pass the column as a me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/tutorial.html">Tutorial</a></li> @@ -1556,20 +1494,14 @@ when you want to pass the column as a me - - - - - - <li class=""><a href="/docs/algebra.html">Algebra</a></li> @@ -1588,14 +1520,10 @@ when you want to pass the column as a me - - - - <li class=""><a href="/docs/adapter.html">Adapters</a></li> @@ -1606,104 +1534,70 @@ when you want to pass the column as a me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/stream.html">Streaming</a></li> @@ -1714,80 +1608,54 @@ when you want to pass the column as a me - - - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/lattice.html">Lattices</a></li> @@ -1806,38 +1674,26 @@ when you want to pass the column as a me - - - - - - - - - - - - <li class=""><a href="/docs/avatica_overview.html">Overview</a></li> @@ -1848,50 +1704,34 @@ when you want to pass the column as a me - - - - - - - - - - - - - - - - <li class=""><a href="/docs/avatica_roadmap.html">Roadmap</a></li> @@ -1902,32 +1742,22 @@ when you want to pass the column as a me - - - - - - - - - - <li class=""><a href="/docs/avatica_json_reference.html">JSON Reference</a></li> @@ -1938,44 +1768,30 @@ when you want to pass the column as a me - - - - - - - - - - - - - - <li class=""><a href="/docs/avatica_protobuf_reference.html">Protobuf Reference</a></li> @@ -1994,98 +1810,66 @@ when you want to pass the column as a me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/reference.html">SQL language</a></li> @@ -2096,86 +1880,58 @@ when you want to pass the column as a me - - - - - - - - - - - - - - - - - - - - - - - - - - - - <li class="current"><a href="/docs/model.html">JSON models</a></li> @@ -2186,68 +1942,46 @@ when you want to pass the column as a me - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/howto.html">HOWTO</a></li> @@ -2266,62 +2000,42 @@ when you want to pass the column as a me - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/history.html">History</a></li> @@ -2332,92 +2046,62 @@ when you want to pass the column as a me - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/powered_by.html">Powered By Calcite</a></li> @@ -2428,143 +2112,161 @@ when you want to pass the column as a me - - - - - - - - - <li class=""><a href="/docs/api.html">API</a></li> - - - - - - - - - - - + + - - - + + + - + + + - + + + - + + + - + + + - + + + + + + + + + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + - <li class=""><a href="/docs/testapi.html">Test API</a></li> - + + + </ul>
Modified: calcite/site/docs/powered_by.html URL: http://svn.apache.org/viewvc/calcite/site/docs/powered_by.html?rev=1739659&r1=1739658&r2=1739659&view=diff ============================================================================== --- calcite/site/docs/powered_by.html (original) +++ calcite/site/docs/powered_by.html Sun Apr 17 21:26:04 2016 @@ -4,7 +4,7 @@ <meta charset="UTF-8"> <title>Powered By Calcite</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"> @@ -967,74 +967,50 @@ on your site.</p> - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/index.html">Background</a></li> @@ -1045,116 +1021,78 @@ on your site.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/tutorial.html">Tutorial</a></li> @@ -1165,20 +1103,14 @@ on your site.</p> - - - - - - <li class=""><a href="/docs/algebra.html">Algebra</a></li> @@ -1197,14 +1129,10 @@ on your site.</p> - - - - <li class=""><a href="/docs/adapter.html">Adapters</a></li> @@ -1215,104 +1143,70 @@ on your site.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/stream.html">Streaming</a></li> @@ -1323,80 +1217,54 @@ on your site.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/lattice.html">Lattices</a></li> @@ -1415,38 +1283,26 @@ on your site.</p> - - - - - - - - - - - - <li class=""><a href="/docs/avatica_overview.html">Overview</a></li> @@ -1457,50 +1313,34 @@ on your site.</p> - - - - - - - - - - - - - - - - <li class=""><a href="/docs/avatica_roadmap.html">Roadmap</a></li> @@ -1511,32 +1351,22 @@ on your site.</p> - - - - - - - - - - <li class=""><a href="/docs/avatica_json_reference.html">JSON Reference</a></li> @@ -1547,44 +1377,30 @@ on your site.</p> - - - - - - - - - - - - - - <li class=""><a href="/docs/avatica_protobuf_reference.html">Protobuf Reference</a></li> @@ -1603,98 +1419,66 @@ on your site.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/reference.html">SQL language</a></li> @@ -1705,86 +1489,58 @@ on your site.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/model.html">JSON models</a></li> @@ -1795,68 +1551,46 @@ on your site.</p> - - - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/howto.html">HOWTO</a></li> @@ -1875,62 +1609,42 @@ on your site.</p> - - - - - - - - - - - - - - - - - - - - <li class=""><a href="/docs/history.html">History</a></li> @@ -1941,92 +1655,62 @@ on your site.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <li class="current"><a href="/docs/powered_by.html">Powered By Calcite</a></li> @@ -2037,143 +1721,161 @@ on your site.</p> - - - - - - - - - <li class=""><a href="/docs/api.html">API</a></li> - - - - - - - - - - - + + - - - + + + - + + + - + + + - + + + - + + + - + + + + + + + + + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + - <li class=""><a href="/docs/testapi.html">Test API</a></li> - + + + </ul>
