This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/drill-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new f44c4aacd Automatic Site Publish by Buildbot
f44c4aacd is described below
commit f44c4aacd892cd26467557c0a1f90a5215800696
Author: buildbot <[email protected]>
AuthorDate: Fri Mar 3 11:20:08 2023 +0000
Automatic Site Publish by Buildbot
---
.../aggregate-and-aggregate-statistical/index.html | 84 +++++++++++++++++++++-
output/docs/data-type-conversion/index.html | 9 +++
output/docs/limit-clause/index.html | 33 +++++----
output/docs/set-operators/index.html | 27 +++----
output/feed.xml | 4 +-
.../aggregate-and-aggregate-statistical/index.html | 84 +++++++++++++++++++++-
output/zh/docs/data-type-conversion/index.html | 9 +++
output/zh/docs/limit-clause/index.html | 33 +++++----
output/zh/docs/set-operators/index.html | 27 +++----
output/zh/feed.xml | 4 +-
10 files changed, 256 insertions(+), 58 deletions(-)
diff --git a/output/docs/aggregate-and-aggregate-statistical/index.html
b/output/docs/aggregate-and-aggregate-statistical/index.html
index 2a41bce75..d23453c51 100644
--- a/output/docs/aggregate-and-aggregate-statistical/index.html
+++ b/output/docs/aggregate-and-aggregate-statistical/index.html
@@ -1547,11 +1547,26 @@ queries.</p>
<td>any</td>
<td>BIGINT</td>
</tr>
+ <tr>
+ <td>KENDALL_CORRELATION</td>
+ <td>Numeric</td>
+ <td>Double</td>
+ </tr>
<tr>
<td>MAX(expression), MIN(expression)</td>
<td>BINARY, DECIMAL, VARCHAR, DATE, TIME, or TIMESTAMP</td>
<td>Same as argument type</td>
</tr>
+ <tr>
+ <td>REGR_INTERCEPT</td>
+ <td>Numeric</td>
+ <td>Double</td>
+ </tr>
+ <tr>
+ <td>REGR_SLOPE</td>
+ <td>Numeric</td>
+ <td>Double</td>
+ </tr>
<tr>
<td>STDDEV, STDDEV_POP, STDDEV_SAMP</td>
<td>Numeric</td>
@@ -1586,8 +1601,9 @@ set to false.</li>
<h2 id="any_value">ANY_VALUE</h2>
-<p>Supported in Drill 1.14 and later. Returns one of the values of value
across all
-input values. This function is NOT specified in the SQL standard.</p>
+<p><strong>Introdcued in release: 1.14</strong></p>
+
+<p>Returns one of the values of value across all input values. This function
is NOT specified in the SQL standard.</p>
<h3 id="any_value-syntax">ANY_VALUE Syntax</h3>
@@ -1643,6 +1659,7 @@ SELECT ANY_VALUE(employee_id) as anyemp FROM
cp.`employee.json` GROUP BY salary
</code></pre></div></div>
<h2 id="filtered-aggregates">Filtered Aggregates</h2>
+
<p><strong>Introduced in release: 1.21</strong></p>
<p>Starting in Drill 1.21 it is possible to follow an aggregate function
invocation with a boolean expression that will filter the values procesed by
the aggregate using the following syntax.</p>
@@ -1896,6 +1913,27 @@ SELECT COUNT(*) FROM cp.`employee.json`;
1 row selected (0.174 seconds)
</code></pre></div></div>
+<h2 id="kendall_correlation">KENDALL_CORRELATION</h2>
+
+<p>Returns the Kendall correlation coefficient.</p>
+
+<h3 id="kendall_correlation-syntax">KENDALL_CORRELATION Syntax</h3>
+
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>KENDALL_CORRELATION( expression1, expression2 )
+</code></pre></div></div>
+
+<h3 id="kendall_correlation-examples">KENDALL_CORRELATION Examples</h3>
+
+<div class="language-sql highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">with</span> <span class="n">seq</span>
<span class="k">as</span> <span class="p">(</span>
+ <span class="k">select</span> <span class="n">row_number</span><span
class="p">()</span> <span class="n">over</span> <span class="p">(</span><span
class="k">order</span> <span class="k">by</span> <span class="mi">1</span><span
class="p">)</span> <span class="n">x</span> <span class="k">from</span> <span
class="n">cp</span><span class="p">.</span><span
class="nv">`employee.json`</span> <span class="k">limit</span> <span
class="mi">10</span>
+<span class="p">)</span>
+<span class="k">select</span> <span class="n">kendall_correlation</span><span
class="p">(</span><span class="n">x</span><span class="o">+</span><span
class="n">random</span><span class="p">(),</span> <span class="n">x</span><span
class="o">+</span><span class="n">random</span><span class="p">()</span><span
class="o">+</span><span class="mi">5</span><span class="p">)</span> <span
class="k">from</span> <span class="n">seq</span><span class="p">;</span>
+</code></pre></div></div>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>EXPR$0 0.2
+
+1 row selected (0.213 seconds)
+</code></pre></div></div>
+
<h2 id="min-and-max">MIN and MAX</h2>
<p>These functions return the smallest and largest values of the selected
@@ -2080,6 +2118,48 @@ computation of table statistics accordingly. </p>
<li>exec.statistics.ndv_extrapolation_bf_fpprobability</li>
</ul>
+<h2 id="regr_intercept">REGR_INTERCEPT</h2>
+
+<p>Returns the intercept of the least squares linear regression fit.</p>
+
+<h3 id="regr_intercept-syntax">REGR_INTERCEPT Syntax</h3>
+
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>REGR_INTERCEPT( expression1, expression2 )
+</code></pre></div></div>
+
+<h3 id="regr_intercept-examples">REGR_INTERCEPT Examples</h3>
+
+<div class="language-sql highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">with</span> <span class="n">seq</span>
<span class="k">as</span> <span class="p">(</span>
+ <span class="k">select</span> <span class="n">row_number</span><span
class="p">()</span> <span class="n">over</span> <span class="p">(</span><span
class="k">order</span> <span class="k">by</span> <span class="mi">1</span><span
class="p">)</span> <span class="n">x</span> <span class="k">from</span> <span
class="n">cp</span><span class="p">.</span><span
class="nv">`employee.json`</span> <span class="k">limit</span> <span
class="mi">10</span>
+<span class="p">)</span>
+<span class="k">select</span> <span class="n">regr_intercept</span><span
class="p">(</span><span class="n">x</span><span class="o">+</span><span
class="n">random</span><span class="p">(),</span> <span class="n">x</span><span
class="o">+</span><span class="n">random</span><span class="p">()</span><span
class="o">+</span><span class="mi">5</span><span class="p">)</span> <span
class="k">from</span> <span class="n">seq</span><span class="p">;</span>
+</code></pre></div></div>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>EXPR$0 4.9715020855109255
+
+1 row selected (0.221 seconds)
+</code></pre></div></div>
+
+<h2 id="regr_slope">REGR_SLOPE</h2>
+
+<p>Returns the slope of the least squares linear regression fit.</p>
+
+<h3 id="regr_intercept-syntax-1">REGR_INTERCEPT Syntax</h3>
+
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>REGR_INTERCEPT( expression1, expression2 )
+</code></pre></div></div>
+
+<h3 id="regr_intercept-examples-1">REGR_INTERCEPT Examples</h3>
+
+<div class="language-sql highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">with</span> <span class="n">seq</span>
<span class="k">as</span> <span class="p">(</span>
+ <span class="k">select</span> <span class="n">row_number</span><span
class="p">()</span> <span class="n">over</span> <span class="p">(</span><span
class="k">order</span> <span class="k">by</span> <span class="mi">1</span><span
class="p">)</span> <span class="n">x</span> <span class="k">from</span> <span
class="n">cp</span><span class="p">.</span><span
class="nv">`employee.json`</span> <span class="k">limit</span> <span
class="mi">10</span>
+<span class="p">)</span>
+<span class="k">select</span> <span class="n">regr_slope</span><span
class="p">(</span><span class="n">x</span><span class="o">+</span><span
class="n">random</span><span class="p">(),</span> <span class="n">x</span><span
class="o">+</span><span class="n">random</span><span class="p">()</span><span
class="o">+</span><span class="mi">5</span><span class="p">)</span> <span
class="k">from</span> <span class="n">seq</span><span class="p">;</span>
+</code></pre></div></div>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>EXPR$0 0.9719696129009783
+
+1 row selected (0.283 seconds)
+</code></pre></div></div>
+
<h2 id="stddev">STDDEV</h2>
<p>Returns the sample standard deviation.</p>
diff --git a/output/docs/data-type-conversion/index.html
b/output/docs/data-type-conversion/index.html
index 4a5033b34..5acef93e5 100644
--- a/output/docs/data-type-conversion/index.html
+++ b/output/docs/data-type-conversion/index.html
@@ -2661,6 +2661,15 @@ FROM (VALUES(1));
1 row selected (0.148 seconds)
</code></pre></div></div>
+<p>Convert an ISO-8601 timestamp string to a timestamp. The ISO-8601 format
differs from the ANSI SQL timestamp format and must be explicitly parsed. Note
the escaped single quotes (‘’) required to place the separator character ‘T’
into the format string.</p>
+
+<div class="language-sql highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">select</span> <span
class="n">to_timestamp</span><span class="p">(</span><span
class="s1">'2023-02-24T11:21:55'</span><span class="p">,</span> <span
class="s1">'YYYY-MM-dd</span><span class="se">''</span><span
class="s1">T</span><span class="se">''</span><span
class="s1">HH:mm:ss'</span><span class="p">);</span>
+</code></pre></div></div>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>EXPR$0 2023-02-24 11:21:55.0
+
+1 row selected (0.163 seconds)
+</code></pre></div></div>
+
<h2 id="enabling-time-zone-offset">Enabling Time Zone Offset</h2>
<p>Starting in Drill 1.16, the <code class="language-plaintext
highlighter-rouge">store.hive.maprdb_json.read_timestamp_with_timezone_offset</code>
option enables Drill to read timestamp values with a timezone offset when
using the hive plugin with the Drill native MaprDB JSON reader enabled through
the <code class="language-plaintext
highlighter-rouge">store.hive.maprdb_json.optimize_scan_with_native_reader
option</code>. The <code class="language-plaintext highlighter-rouge">store.hiv
[...]
diff --git a/output/docs/limit-clause/index.html
b/output/docs/limit-clause/index.html
index 42d1978e0..d267fa315 100644
--- a/output/docs/limit-clause/index.html
+++ b/output/docs/limit-clause/index.html
@@ -1495,6 +1495,7 @@
<p>You can also configure an automatic limit on the number of rows returned
from a result set. See <a
href="/docs/planning-and-execution-options/#setting-an-auto-limit-on-the-number-of-rows-returned-for-result-sets">Setting
an Auto Limit on the Number of Rows Returned for Result Sets</a>.</p>
<h2 id="syntax">Syntax</h2>
+
<p>The LIMIT clause supports the following syntaxes:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>LIMIT { count | ALL }
@@ -1502,6 +1503,7 @@ FETCH NEXT count { ROW | ROWS } ONLY
</code></pre></div></div>
<h2 id="parameters">Parameters</h2>
+
<p><em>count</em>
Specifies the maximum number of rows to return.
If the count expression evaluates to NULL, Drill treats it as LIMIT ALL.</p>
@@ -1525,8 +1527,9 @@ Specifying ALL returns all records, which is equivalent
to omitting the LIMIT cl
<p>Drill optimizes LIMIT 0 queries through the following options, which are
enabled by default:</p>
-<p><strong>planner.enable_limit0_optimization</strong>
-Enables the query planner to determine data types returned by a query during
the planning phase (before scanning data). Since Drill is a schema-free engine,
the query planner does not know the column types of the result set before
reading records. However, the query planner can infer the column types of the
result set during query validation if you provide enough type information to
Drill about the input column types. If the planner can infer all column types,
a short execution path is p [...]
+<p><strong>planner.enable_limit0_optimization</strong></p>
+
+<p>Enables the query planner to determine data types returned by a query
during the planning phase (before scanning data). Since Drill is a schema-free
engine, the query planner does not know the column types of the result set
before reading records. However, the query planner can infer the column types
of the result set during query validation if you provide enough type
information to Drill about the input column types. If the planner can infer all
column types, a short execution path i [...]
<p>To provide column type information, you can:</p>
@@ -1537,21 +1540,24 @@ Enables the query planner to determine data types
returned by a query during the
<li>Issue queries on views with casts on table columns.</li>
</ul>
-<p><strong>planner.enable_limit0_on_scan</strong>
-Supported in Drill 1.14 and later. Enables Drill to determine data types as
Drill scans data. This optimization is used when the query planner cannot infer
types of columns during validation (prior to scanning). Drill exits and
terminates the query immediately after resolving the types, and the query
execution is not parallelized. When this optimization is applied, the query
plan contains a LIMIT (0) above every SCAN, with an optional PROJECT in
between.</p>
+<p><strong>planner.enable_limit0_on_scan</strong></p>
+
+<p>Supported in Drill 1.14 and later. Enables Drill to determine data types as
Drill scans data. This optimization is used when the query planner cannot infer
types of columns during validation (prior to scanning). Drill exits and
terminates the query immediately after resolving the types, and the query
execution is not parallelized. When this optimization is applied, the query
plan contains a LIMIT (0) above every SCAN, with an optional PROJECT in
between.</p>
<h3 id="limit-0-limitations">LIMIT 0 Limitations</h3>
<p>The following sections list the types, operators, and functions that LIMIT
0 optimizations do not support.</p>
-<p><strong>Unsupported Types</strong>
-LIMIT 0 optimizations do not apply to the following types:</p>
+<p><strong>Unsupported Types</strong></p>
+
+<p>LIMIT 0 optimizations do not apply to the following types:</p>
<p>REAL, BINARY, VARBINARY, NULL, ANY, SYMBOL, MULTISET, ARRAY, MAP, DISTINCT,
STRUCTURED, ROW, OTHER, CURSOR, COLUMN_LIST</p>
<p><strong>NOTE:</strong> The query planner in Drill has other types that are
not optimized because they are undefined in Drill’s type system.</p>
-<p><strong>Unsupported Hive UDF Types</strong>
-Hive has a list of functions with return type NVARCHAR, which the query
planner in Drill does not support; therefore, type inference does not work for
the following functions:</p>
+<p><strong>Unsupported Hive UDF Types</strong></p>
+
+<p>Hive has a list of functions with return type NVARCHAR, which the query
planner in Drill does not support; therefore, type inference does not work for
the following functions:</p>
<ul>
<li>BIN</li>
@@ -1562,8 +1568,9 @@ Hive has a list of functions with return type NVARCHAR,
which the query planner
<li>XPATH_STRING</li>
</ul>
-<p><strong>Unsupported Operators and Functions</strong>
-LIMIT 0 optimizations do not work for queries with the UNION [ALL] set
operator or the following complex functions:</p>
+<p><strong>Unsupported Operators and Functions</strong></p>
+
+<p>LIMIT 0 optimizations do not work for queries with the UNION [ALL] set
operator or the following complex functions:</p>
<ul>
<li>KVGEN or MAPPIFY</li>
@@ -1575,12 +1582,14 @@ LIMIT 0 optimizations do not work for queries with the
UNION [ALL] set operator
<li>AVG (window function)</li>
</ul>
-<p><strong>Recursive file listing in Drill 1.21+</strong>
-Since version 1.21, Drill will exit early from recursive file listing during
the planning of a query against filesystem storage if has detected a LIMIT 0 in
the outermost SELECT. This optimization is aimed at queries of the following
form.</p>
+<p><strong>Recursive file listing in Drill 1.21+</strong></p>
+
+<p>Since version 1.21, Drill will exit early from recursive file listing
during the planning of a query against filesystem storage if has detected a
LIMIT 0 in the outermost SELECT. This optimization is aimed at queries of the
following form.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>SELECT * FROM dfs.`huge_directory` LIMIT 0;
</code></pre></div></div>
<h2 id="examples">Examples</h2>
+
<p>The following example query includes the ORDER BY and LIMIT clauses and
returns the top 20 sales totals by month and state:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> 0: jdbc:drill:> SELECT `month`, state,
SUM(order_total)
diff --git a/output/docs/set-operators/index.html
b/output/docs/set-operators/index.html
index dc2ab7d66..9e8901e77 100644
--- a/output/docs/set-operators/index.html
+++ b/output/docs/set-operators/index.html
@@ -1490,11 +1490,11 @@
<p>The UNION, INTERSECT and EXCEPT set operators combine the result
sets of two separate query expressions. The result set of each query must have
the same number of columns and compatible data types.</p>
-<h1 id="union">UNION</h1>
+<h2 id="union">UNION</h2>
<p>The UNION operator computes the set union of its two arguments,
automatically removing duplicate records from the result set. UNION ALL returns
all duplicate records.</p>
-<h2 id="syntax">Syntax</h2>
+<h3 id="syntax">Syntax</h3>
<p>The UNION operator supports the following syntax:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> query
@@ -1502,12 +1502,12 @@
another_query
</code></pre></div></div>
-<h2 id="parameters">Parameters</h2>
+<h3 id="parameters">Parameters</h3>
<p><em>query</em>, <em>another_query</em></p>
<p>Any SELECT query that Drill supports. See <a
href="/docs/select/">SELECT</a>.</p>
-<h2 id="examples">Examples</h2>
+<h3 id="examples">Examples</h3>
<p>The following example uses the UNION ALL set operator to combine click
activity data before and after a marketing campaign. The data in the example
exists in the <code class="language-plaintext highlighter-rouge">dfs.clicks
workspace</code>.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> 0: jdbc:drill:> SELECT t.trans_id transaction,
t.user_info.cust_id customer
@@ -1534,12 +1534,13 @@
<p>Drill treats the empty directory as a schemaless table and returns results
as if the UNION operator is not included in the query.</p>
-<h1 id="intersect-and-except">INTERSECT and EXCEPT</h1>
+<h2 id="intersect-and-except">INTERSECT and EXCEPT</h2>
-<p><strong>Introduced in release: 1.21</strong>
-The INTERSECT and EXCEPT operators respectively compute the set intersection
and the set difference of their two arguments. As with the UNION operator,
duplicate records are automatically removed from the result set.</p>
+<p><strong>Introduced in release: 1.21</strong></p>
-<h2 id="syntax-1">Syntax</h2>
+<p>The INTERSECT and EXCEPT operators respectively compute the set
intersection and the set difference of their two arguments. As with the UNION
operator, duplicate records are automatically removed from the result set.</p>
+
+<h3 id="syntax-1">Syntax</h3>
<p>These set operators support the following syntax:</p>
@@ -1548,14 +1549,14 @@ The INTERSECT and EXCEPT operators respectively compute
the set intersection and
another_query
</code></pre></div></div>
-<h2 id="parameters-1">Parameters</h2>
+<h3 id="parameters-1">Parameters</h3>
<p><em>query</em>, <em>another_query</em></p>
<p>Any SELECT query that Drill supports. See <a
href="/docs/select/">SELECT</a>.</p>
-<h2 id="examples-1">Examples</h2>
+<h3 id="examples-1">Examples</h3>
-<h3 id="compute--1-2-4----4-5-6-">Compute { 1, 2, 4 } ∩ { 4, 5, 6 }.</h3>
+<h4 id="compute--1-2-4----4-5-6-">Compute { 1, 2, 4 } ∩ { 4, 5, 6 }.</h4>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>apache drill> WITH
X AS (SELECT employee_id AS col FROM cp.`employee.json` LIMIT 3 OFFSET
0),
Y AS (SELECT employee_id AS col FROM cp.`employee.json` LIMIT 3 OFFSET
2)
@@ -1568,7 +1569,7 @@ col 4
1 row selected (0.449 seconds)
</code></pre></div></div>
-<h3 id="compute--1-2-4----4-5-6--1">Compute { 1, 2, 4 } ∖ { 4, 5, 6 }</h3>
+<h4 id="compute--1-2-4----4-5-6--1">Compute { 1, 2, 4 } ∖ { 4, 5, 6 }</h4>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>apache drill> WITH
X AS (SELECT employee_id AS col FROM cp.`employee.json` LIMIT 3 OFFSET
0),
@@ -1584,7 +1585,7 @@ col 2
2 rows selected (0.41 seconds)
</code></pre></div></div>
-<h1 id="set-operator-usage-notes">Set operator usage notes</h1>
+<h2 id="set-operator-usage-notes">Set operator usage notes</h2>
<ul>
<li>The two SELECT query expressions that represent the direct operands of
the set operator must produce the same number of columns. Corresponding columns
must contain compatible data types. See <a
href="/docs/supported-data-types/">Supported Data Types</a>.</li>
<li>Multiple set operators in the same SELECT statement are evaluated left
to right, unless otherwise indicated by parentheses.</li>
diff --git a/output/feed.xml b/output/feed.xml
index 9e5b0d27e..4d590fda9 100644
--- a/output/feed.xml
+++ b/output/feed.xml
@@ -6,8 +6,8 @@
</description>
<link>/</link>
<atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
- <pubDate>Thu, 02 Mar 2023 13:21:50 +0000</pubDate>
- <lastBuildDate>Thu, 02 Mar 2023 13:21:50 +0000</lastBuildDate>
+ <pubDate>Fri, 03 Mar 2023 11:18:00 +0000</pubDate>
+ <lastBuildDate>Fri, 03 Mar 2023 11:18:00 +0000</lastBuildDate>
<generator>Jekyll v3.9.1</generator>
<item>
diff --git a/output/zh/docs/aggregate-and-aggregate-statistical/index.html
b/output/zh/docs/aggregate-and-aggregate-statistical/index.html
index 5fe3729bf..3ff1d4146 100644
--- a/output/zh/docs/aggregate-and-aggregate-statistical/index.html
+++ b/output/zh/docs/aggregate-and-aggregate-statistical/index.html
@@ -1547,11 +1547,26 @@ queries.</p>
<td>any</td>
<td>BIGINT</td>
</tr>
+ <tr>
+ <td>KENDALL_CORRELATION</td>
+ <td>Numeric</td>
+ <td>Double</td>
+ </tr>
<tr>
<td>MAX(expression), MIN(expression)</td>
<td>BINARY, DECIMAL, VARCHAR, DATE, TIME, or TIMESTAMP</td>
<td>Same as argument type</td>
</tr>
+ <tr>
+ <td>REGR_INTERCEPT</td>
+ <td>Numeric</td>
+ <td>Double</td>
+ </tr>
+ <tr>
+ <td>REGR_SLOPE</td>
+ <td>Numeric</td>
+ <td>Double</td>
+ </tr>
<tr>
<td>STDDEV, STDDEV_POP, STDDEV_SAMP</td>
<td>Numeric</td>
@@ -1586,8 +1601,9 @@ set to false.</li>
<h2 id="any_value">ANY_VALUE</h2>
-<p>Supported in Drill 1.14 and later. Returns one of the values of value
across all
-input values. This function is NOT specified in the SQL standard.</p>
+<p><strong>Introdcued in release: 1.14</strong></p>
+
+<p>Returns one of the values of value across all input values. This function
is NOT specified in the SQL standard.</p>
<h3 id="any_value-syntax">ANY_VALUE Syntax</h3>
@@ -1643,6 +1659,7 @@ SELECT ANY_VALUE(employee_id) as anyemp FROM
cp.`employee.json` GROUP BY salary
</code></pre></div></div>
<h2 id="filtered-aggregates">Filtered Aggregates</h2>
+
<p><strong>Introduced in release: 1.21</strong></p>
<p>Starting in Drill 1.21 it is possible to follow an aggregate function
invocation with a boolean expression that will filter the values procesed by
the aggregate using the following syntax.</p>
@@ -1896,6 +1913,27 @@ SELECT COUNT(*) FROM cp.`employee.json`;
1 row selected (0.174 seconds)
</code></pre></div></div>
+<h2 id="kendall_correlation">KENDALL_CORRELATION</h2>
+
+<p>Returns the Kendall correlation coefficient.</p>
+
+<h3 id="kendall_correlation-syntax">KENDALL_CORRELATION Syntax</h3>
+
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>KENDALL_CORRELATION( expression1, expression2 )
+</code></pre></div></div>
+
+<h3 id="kendall_correlation-examples">KENDALL_CORRELATION Examples</h3>
+
+<div class="language-sql highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">with</span> <span class="n">seq</span>
<span class="k">as</span> <span class="p">(</span>
+ <span class="k">select</span> <span class="n">row_number</span><span
class="p">()</span> <span class="n">over</span> <span class="p">(</span><span
class="k">order</span> <span class="k">by</span> <span class="mi">1</span><span
class="p">)</span> <span class="n">x</span> <span class="k">from</span> <span
class="n">cp</span><span class="p">.</span><span
class="nv">`employee.json`</span> <span class="k">limit</span> <span
class="mi">10</span>
+<span class="p">)</span>
+<span class="k">select</span> <span class="n">kendall_correlation</span><span
class="p">(</span><span class="n">x</span><span class="o">+</span><span
class="n">random</span><span class="p">(),</span> <span class="n">x</span><span
class="o">+</span><span class="n">random</span><span class="p">()</span><span
class="o">+</span><span class="mi">5</span><span class="p">)</span> <span
class="k">from</span> <span class="n">seq</span><span class="p">;</span>
+</code></pre></div></div>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>EXPR$0 0.2
+
+1 row selected (0.213 seconds)
+</code></pre></div></div>
+
<h2 id="min-and-max">MIN and MAX</h2>
<p>These functions return the smallest and largest values of the selected
@@ -2080,6 +2118,48 @@ computation of table statistics accordingly. </p>
<li>exec.statistics.ndv_extrapolation_bf_fpprobability</li>
</ul>
+<h2 id="regr_intercept">REGR_INTERCEPT</h2>
+
+<p>Returns the intercept of the least squares linear regression fit.</p>
+
+<h3 id="regr_intercept-syntax">REGR_INTERCEPT Syntax</h3>
+
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>REGR_INTERCEPT( expression1, expression2 )
+</code></pre></div></div>
+
+<h3 id="regr_intercept-examples">REGR_INTERCEPT Examples</h3>
+
+<div class="language-sql highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">with</span> <span class="n">seq</span>
<span class="k">as</span> <span class="p">(</span>
+ <span class="k">select</span> <span class="n">row_number</span><span
class="p">()</span> <span class="n">over</span> <span class="p">(</span><span
class="k">order</span> <span class="k">by</span> <span class="mi">1</span><span
class="p">)</span> <span class="n">x</span> <span class="k">from</span> <span
class="n">cp</span><span class="p">.</span><span
class="nv">`employee.json`</span> <span class="k">limit</span> <span
class="mi">10</span>
+<span class="p">)</span>
+<span class="k">select</span> <span class="n">regr_intercept</span><span
class="p">(</span><span class="n">x</span><span class="o">+</span><span
class="n">random</span><span class="p">(),</span> <span class="n">x</span><span
class="o">+</span><span class="n">random</span><span class="p">()</span><span
class="o">+</span><span class="mi">5</span><span class="p">)</span> <span
class="k">from</span> <span class="n">seq</span><span class="p">;</span>
+</code></pre></div></div>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>EXPR$0 4.9715020855109255
+
+1 row selected (0.221 seconds)
+</code></pre></div></div>
+
+<h2 id="regr_slope">REGR_SLOPE</h2>
+
+<p>Returns the slope of the least squares linear regression fit.</p>
+
+<h3 id="regr_intercept-syntax-1">REGR_INTERCEPT Syntax</h3>
+
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>REGR_INTERCEPT( expression1, expression2 )
+</code></pre></div></div>
+
+<h3 id="regr_intercept-examples-1">REGR_INTERCEPT Examples</h3>
+
+<div class="language-sql highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">with</span> <span class="n">seq</span>
<span class="k">as</span> <span class="p">(</span>
+ <span class="k">select</span> <span class="n">row_number</span><span
class="p">()</span> <span class="n">over</span> <span class="p">(</span><span
class="k">order</span> <span class="k">by</span> <span class="mi">1</span><span
class="p">)</span> <span class="n">x</span> <span class="k">from</span> <span
class="n">cp</span><span class="p">.</span><span
class="nv">`employee.json`</span> <span class="k">limit</span> <span
class="mi">10</span>
+<span class="p">)</span>
+<span class="k">select</span> <span class="n">regr_slope</span><span
class="p">(</span><span class="n">x</span><span class="o">+</span><span
class="n">random</span><span class="p">(),</span> <span class="n">x</span><span
class="o">+</span><span class="n">random</span><span class="p">()</span><span
class="o">+</span><span class="mi">5</span><span class="p">)</span> <span
class="k">from</span> <span class="n">seq</span><span class="p">;</span>
+</code></pre></div></div>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>EXPR$0 0.9719696129009783
+
+1 row selected (0.283 seconds)
+</code></pre></div></div>
+
<h2 id="stddev">STDDEV</h2>
<p>Returns the sample standard deviation.</p>
diff --git a/output/zh/docs/data-type-conversion/index.html
b/output/zh/docs/data-type-conversion/index.html
index b244aa851..5dae5fda8 100644
--- a/output/zh/docs/data-type-conversion/index.html
+++ b/output/zh/docs/data-type-conversion/index.html
@@ -2661,6 +2661,15 @@ FROM (VALUES(1));
1 row selected (0.148 seconds)
</code></pre></div></div>
+<p>Convert an ISO-8601 timestamp string to a timestamp. The ISO-8601 format
differs from the ANSI SQL timestamp format and must be explicitly parsed. Note
the escaped single quotes (‘’) required to place the separator character ‘T’
into the format string.</p>
+
+<div class="language-sql highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">select</span> <span
class="n">to_timestamp</span><span class="p">(</span><span
class="s1">'2023-02-24T11:21:55'</span><span class="p">,</span> <span
class="s1">'YYYY-MM-dd</span><span class="se">''</span><span
class="s1">T</span><span class="se">''</span><span
class="s1">HH:mm:ss'</span><span class="p">);</span>
+</code></pre></div></div>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>EXPR$0 2023-02-24 11:21:55.0
+
+1 row selected (0.163 seconds)
+</code></pre></div></div>
+
<h2 id="enabling-time-zone-offset">Enabling Time Zone Offset</h2>
<p>Starting in Drill 1.16, the <code class="language-plaintext
highlighter-rouge">store.hive.maprdb_json.read_timestamp_with_timezone_offset</code>
option enables Drill to read timestamp values with a timezone offset when
using the hive plugin with the Drill native MaprDB JSON reader enabled through
the <code class="language-plaintext
highlighter-rouge">store.hive.maprdb_json.optimize_scan_with_native_reader
option</code>. The <code class="language-plaintext highlighter-rouge">store.hiv
[...]
diff --git a/output/zh/docs/limit-clause/index.html
b/output/zh/docs/limit-clause/index.html
index 482f4a617..2f182e42f 100644
--- a/output/zh/docs/limit-clause/index.html
+++ b/output/zh/docs/limit-clause/index.html
@@ -1495,6 +1495,7 @@
<p>You can also configure an automatic limit on the number of rows returned
from a result set. See <a
href="/zh/docs/planning-and-execution-options/#setting-an-auto-limit-on-the-number-of-rows-returned-for-result-sets">Setting
an Auto Limit on the Number of Rows Returned for Result Sets</a>.</p>
<h2 id="syntax">Syntax</h2>
+
<p>The LIMIT clause supports the following syntaxes:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>LIMIT { count | ALL }
@@ -1502,6 +1503,7 @@ FETCH NEXT count { ROW | ROWS } ONLY
</code></pre></div></div>
<h2 id="parameters">Parameters</h2>
+
<p><em>count</em>
Specifies the maximum number of rows to return.
If the count expression evaluates to NULL, Drill treats it as LIMIT ALL.</p>
@@ -1525,8 +1527,9 @@ Specifying ALL returns all records, which is equivalent
to omitting the LIMIT cl
<p>Drill optimizes LIMIT 0 queries through the following options, which are
enabled by default:</p>
-<p><strong>planner.enable_limit0_optimization</strong>
-Enables the query planner to determine data types returned by a query during
the planning phase (before scanning data). Since Drill is a schema-free engine,
the query planner does not know the column types of the result set before
reading records. However, the query planner can infer the column types of the
result set during query validation if you provide enough type information to
Drill about the input column types. If the planner can infer all column types,
a short execution path is p [...]
+<p><strong>planner.enable_limit0_optimization</strong></p>
+
+<p>Enables the query planner to determine data types returned by a query
during the planning phase (before scanning data). Since Drill is a schema-free
engine, the query planner does not know the column types of the result set
before reading records. However, the query planner can infer the column types
of the result set during query validation if you provide enough type
information to Drill about the input column types. If the planner can infer all
column types, a short execution path i [...]
<p>To provide column type information, you can:</p>
@@ -1537,21 +1540,24 @@ Enables the query planner to determine data types
returned by a query during the
<li>Issue queries on views with casts on table columns.</li>
</ul>
-<p><strong>planner.enable_limit0_on_scan</strong>
-Supported in Drill 1.14 and later. Enables Drill to determine data types as
Drill scans data. This optimization is used when the query planner cannot infer
types of columns during validation (prior to scanning). Drill exits and
terminates the query immediately after resolving the types, and the query
execution is not parallelized. When this optimization is applied, the query
plan contains a LIMIT (0) above every SCAN, with an optional PROJECT in
between.</p>
+<p><strong>planner.enable_limit0_on_scan</strong></p>
+
+<p>Supported in Drill 1.14 and later. Enables Drill to determine data types as
Drill scans data. This optimization is used when the query planner cannot infer
types of columns during validation (prior to scanning). Drill exits and
terminates the query immediately after resolving the types, and the query
execution is not parallelized. When this optimization is applied, the query
plan contains a LIMIT (0) above every SCAN, with an optional PROJECT in
between.</p>
<h3 id="limit-0-limitations">LIMIT 0 Limitations</h3>
<p>The following sections list the types, operators, and functions that LIMIT
0 optimizations do not support.</p>
-<p><strong>Unsupported Types</strong>
-LIMIT 0 optimizations do not apply to the following types:</p>
+<p><strong>Unsupported Types</strong></p>
+
+<p>LIMIT 0 optimizations do not apply to the following types:</p>
<p>REAL, BINARY, VARBINARY, NULL, ANY, SYMBOL, MULTISET, ARRAY, MAP, DISTINCT,
STRUCTURED, ROW, OTHER, CURSOR, COLUMN_LIST</p>
<p><strong>NOTE:</strong> The query planner in Drill has other types that are
not optimized because they are undefined in Drill’s type system.</p>
-<p><strong>Unsupported Hive UDF Types</strong>
-Hive has a list of functions with return type NVARCHAR, which the query
planner in Drill does not support; therefore, type inference does not work for
the following functions:</p>
+<p><strong>Unsupported Hive UDF Types</strong></p>
+
+<p>Hive has a list of functions with return type NVARCHAR, which the query
planner in Drill does not support; therefore, type inference does not work for
the following functions:</p>
<ul>
<li>BIN</li>
@@ -1562,8 +1568,9 @@ Hive has a list of functions with return type NVARCHAR,
which the query planner
<li>XPATH_STRING</li>
</ul>
-<p><strong>Unsupported Operators and Functions</strong>
-LIMIT 0 optimizations do not work for queries with the UNION [ALL] set
operator or the following complex functions:</p>
+<p><strong>Unsupported Operators and Functions</strong></p>
+
+<p>LIMIT 0 optimizations do not work for queries with the UNION [ALL] set
operator or the following complex functions:</p>
<ul>
<li>KVGEN or MAPPIFY</li>
@@ -1575,12 +1582,14 @@ LIMIT 0 optimizations do not work for queries with the
UNION [ALL] set operator
<li>AVG (window function)</li>
</ul>
-<p><strong>Recursive file listing in Drill 1.21+</strong>
-Since version 1.21, Drill will exit early from recursive file listing during
the planning of a query against filesystem storage if has detected a LIMIT 0 in
the outermost SELECT. This optimization is aimed at queries of the following
form.</p>
+<p><strong>Recursive file listing in Drill 1.21+</strong></p>
+
+<p>Since version 1.21, Drill will exit early from recursive file listing
during the planning of a query against filesystem storage if has detected a
LIMIT 0 in the outermost SELECT. This optimization is aimed at queries of the
following form.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>SELECT * FROM dfs.`huge_directory` LIMIT 0;
</code></pre></div></div>
<h2 id="examples">Examples</h2>
+
<p>The following example query includes the ORDER BY and LIMIT clauses and
returns the top 20 sales totals by month and state:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> 0: jdbc:drill:> SELECT `month`, state,
SUM(order_total)
diff --git a/output/zh/docs/set-operators/index.html
b/output/zh/docs/set-operators/index.html
index 17e56fa4a..ba13fb600 100644
--- a/output/zh/docs/set-operators/index.html
+++ b/output/zh/docs/set-operators/index.html
@@ -1490,11 +1490,11 @@
<p>The UNION, INTERSECT and EXCEPT set operators combine the result
sets of two separate query expressions. The result set of each query must have
the same number of columns and compatible data types.</p>
-<h1 id="union">UNION</h1>
+<h2 id="union">UNION</h2>
<p>The UNION operator computes the set union of its two arguments,
automatically removing duplicate records from the result set. UNION ALL returns
all duplicate records.</p>
-<h2 id="syntax">Syntax</h2>
+<h3 id="syntax">Syntax</h3>
<p>The UNION operator supports the following syntax:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> query
@@ -1502,12 +1502,12 @@
another_query
</code></pre></div></div>
-<h2 id="parameters">Parameters</h2>
+<h3 id="parameters">Parameters</h3>
<p><em>query</em>, <em>another_query</em></p>
<p>Any SELECT query that Drill supports. See <a
href="/zh/docs/select/">SELECT</a>.</p>
-<h2 id="examples">Examples</h2>
+<h3 id="examples">Examples</h3>
<p>The following example uses the UNION ALL set operator to combine click
activity data before and after a marketing campaign. The data in the example
exists in the <code class="language-plaintext highlighter-rouge">dfs.clicks
workspace</code>.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> 0: jdbc:drill:> SELECT t.trans_id transaction,
t.user_info.cust_id customer
@@ -1534,12 +1534,13 @@
<p>Drill treats the empty directory as a schemaless table and returns results
as if the UNION operator is not included in the query.</p>
-<h1 id="intersect-and-except">INTERSECT and EXCEPT</h1>
+<h2 id="intersect-and-except">INTERSECT and EXCEPT</h2>
-<p><strong>Introduced in release: 1.21</strong>
-The INTERSECT and EXCEPT operators respectively compute the set intersection
and the set difference of their two arguments. As with the UNION operator,
duplicate records are automatically removed from the result set.</p>
+<p><strong>Introduced in release: 1.21</strong></p>
-<h2 id="syntax-1">Syntax</h2>
+<p>The INTERSECT and EXCEPT operators respectively compute the set
intersection and the set difference of their two arguments. As with the UNION
operator, duplicate records are automatically removed from the result set.</p>
+
+<h3 id="syntax-1">Syntax</h3>
<p>These set operators support the following syntax:</p>
@@ -1548,14 +1549,14 @@ The INTERSECT and EXCEPT operators respectively compute
the set intersection and
another_query
</code></pre></div></div>
-<h2 id="parameters-1">Parameters</h2>
+<h3 id="parameters-1">Parameters</h3>
<p><em>query</em>, <em>another_query</em></p>
<p>Any SELECT query that Drill supports. See <a
href="/zh/docs/select/">SELECT</a>.</p>
-<h2 id="examples-1">Examples</h2>
+<h3 id="examples-1">Examples</h3>
-<h3 id="compute--1-2-4----4-5-6-">Compute { 1, 2, 4 } ∩ { 4, 5, 6 }.</h3>
+<h4 id="compute--1-2-4----4-5-6-">Compute { 1, 2, 4 } ∩ { 4, 5, 6 }.</h4>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>apache drill> WITH
X AS (SELECT employee_id AS col FROM cp.`employee.json` LIMIT 3 OFFSET
0),
Y AS (SELECT employee_id AS col FROM cp.`employee.json` LIMIT 3 OFFSET
2)
@@ -1568,7 +1569,7 @@ col 4
1 row selected (0.449 seconds)
</code></pre></div></div>
-<h3 id="compute--1-2-4----4-5-6--1">Compute { 1, 2, 4 } ∖ { 4, 5, 6 }</h3>
+<h4 id="compute--1-2-4----4-5-6--1">Compute { 1, 2, 4 } ∖ { 4, 5, 6 }</h4>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>apache drill> WITH
X AS (SELECT employee_id AS col FROM cp.`employee.json` LIMIT 3 OFFSET
0),
@@ -1584,7 +1585,7 @@ col 2
2 rows selected (0.41 seconds)
</code></pre></div></div>
-<h1 id="set-operator-usage-notes">Set operator usage notes</h1>
+<h2 id="set-operator-usage-notes">Set operator usage notes</h2>
<ul>
<li>The two SELECT query expressions that represent the direct operands of
the set operator must produce the same number of columns. Corresponding columns
must contain compatible data types. See <a
href="/zh/docs/supported-data-types/">Supported Data Types</a>.</li>
<li>Multiple set operators in the same SELECT statement are evaluated left
to right, unless otherwise indicated by parentheses.</li>
diff --git a/output/zh/feed.xml b/output/zh/feed.xml
index 782791427..fe6b83e04 100644
--- a/output/zh/feed.xml
+++ b/output/zh/feed.xml
@@ -6,8 +6,8 @@
</description>
<link>/</link>
<atom:link href="/zh/feed.xml" rel="self" type="application/rss+xml"/>
- <pubDate>Thu, 02 Mar 2023 13:21:50 +0000</pubDate>
- <lastBuildDate>Thu, 02 Mar 2023 13:21:50 +0000</lastBuildDate>
+ <pubDate>Fri, 03 Mar 2023 11:18:00 +0000</pubDate>
+ <lastBuildDate>Fri, 03 Mar 2023 11:18:00 +0000</lastBuildDate>
<generator>Jekyll v3.9.1</generator>
<item>