beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mergebot-r...@apache.org
Subject [beam-site] 01/01: Prepare repository for deployment.
Date Wed, 27 Jun 2018 19:05:45 GMT
This is an automated email from the ASF dual-hosted git repository.

mergebot-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/beam-site.git

commit c5948ced1b5f0d6bf8f4d68ed5701147bb9847d0
Author: Mergebot <mergebot@apache.org>
AuthorDate: Wed Jun 27 12:05:41 2018 -0700

    Prepare repository for deployment.
---
 .../dsls/sql/aggregate-functions/index.html        |   3 +-
 .../documentation/dsls/sql/data-types/index.html   |   3 +-
 content/documentation/dsls/sql/joins/index.html    |   3 +-
 content/documentation/dsls/sql/lexical/index.html  | 736 +++++++++++++++++++++
 content/documentation/dsls/sql/overview/index.html |   3 +-
 .../dsls/sql/scalar-functions/index.html           |   3 +-
 .../dsls/sql/statements/create-table/index.html    |   3 +-
 .../dsls/sql/statements/select/index.html          |   3 +-
 .../dsls/sql/user-defined-functions/index.html     |   3 +-
 .../documentation/dsls/sql/walkthrough/index.html  |   3 +-
 .../dsls/sql/windowing-and-triggering/index.html   |   3 +-
 .../sdks/feature-comparison/index.html             |   3 +-
 content/documentation/sdks/go/index.html           |   3 +-
 .../documentation/sdks/java-extensions/index.html  |   3 +-
 .../documentation/sdks/java-thirdparty/index.html  |   3 +-
 .../documentation/sdks/java/euphoria/index.html    |   3 +-
 content/documentation/sdks/java/index.html         |   3 +-
 content/documentation/sdks/java/nexmark/index.html |   3 +-
 .../documentation/sdks/python-custom-io/index.html |   3 +-
 .../sdks/python-pipeline-dependencies/index.html   |   3 +-
 .../documentation/sdks/python-streaming/index.html |   3 +-
 .../sdks/python-type-safety/index.html             |   3 +-
 content/documentation/sdks/python/index.html       |   3 +-
 23 files changed, 780 insertions(+), 22 deletions(-)

diff --git a/content/documentation/dsls/sql/aggregate-functions/index.html b/content/documentation/dsls/sql/aggregate-functions/index.html
index 5f68089..63ddb57 100644
--- a/content/documentation/dsls/sql/aggregate-functions/index.html
+++ b/content/documentation/dsls/sql/aggregate-functions/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/dsls/sql/data-types/index.html b/content/documentation/dsls/sql/data-types/index.html
index 62cc6bd..e4dc4d9 100644
--- a/content/documentation/dsls/sql/data-types/index.html
+++ b/content/documentation/dsls/sql/data-types/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/dsls/sql/joins/index.html b/content/documentation/dsls/sql/joins/index.html
index 6e54db7..b4085ae 100644
--- a/content/documentation/dsls/sql/joins/index.html
+++ b/content/documentation/dsls/sql/joins/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/dsls/sql/lexical/index.html b/content/documentation/dsls/sql/lexical/index.html
new file mode 100644
index 0000000..6a753ff
--- /dev/null
+++ b/content/documentation/dsls/sql/lexical/index.html
@@ -0,0 +1,736 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Beam SQL: Lexical Structure</title>
+  <meta name="description" content="Apache Beam is an open source, unified model and set of language-specific SDKs for defining and executing data processing workflows, and also data ingestion and integration flows, supporting Enterprise Integration Patterns (EIPs) and Domain Specific Languages (DSLs). Dataflow pipelines simplify the mechanics of large-scale batch and streaming data processing and can run on a number of runtimes like Apache Flink, Apache Spark, and Google Cloud Dataflow  [...]
+">
+  <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400" rel="stylesheet">
+  <link rel="stylesheet" href="/css/site.css">
+  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
+  <script src="/js/bootstrap.min.js"></script>
+  <script src="/js/language-switch.js"></script>
+  <script src="/js/fix-menu.js"></script>
+  <script src="/js/section-nav.js"></script>
+  <script src="/js/page-nav.js"></script>
+  <link rel="canonical" href="https://beam.apache.org/documentation/dsls/sql/lexical/" data-proofer-ignore>
+  <link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico">
+  <link rel="alternate" type="application/rss+xml" title="Apache Beam" href="https://beam.apache.org/feed.xml">
+  <script>
+    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+    ga('create', 'UA-73650088-1', 'auto');
+    ga('send', 'pageview');
+  </script>
+</head>
+
+  <body class="body" data-spy="scroll" data-target=".page-nav" data-offset="0">
+    <nav class="header navbar navbar-fixed-top">
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle" aria-expanded="false" aria-controls="navbar">
+        <span class="sr-only">Toggle navigation</span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+
+      <a href="/" class="navbar-brand" >
+        <img alt="Brand" style="height: 25px" src="/images/beam_logo_navbar.png">
+      </a>
+    </div>
+
+    <div class="navbar-mask closed"></div>
+
+    <div id="navbar" class="navbar-container closed">
+      <ul class="nav navbar-nav">
+        <li>
+          <a href="/get-started/beam-overview/">Get Started</a>
+        </li>
+        <li>
+          <a href="/documentation/">Documentation</a>
+        </li>
+        <li>
+          <a href="/documentation/sdks/java/">SDKS</a>
+        </li>
+        <li>
+          <a href="/documentation/runners/capability-matrix/">RUNNERS</a>
+        </li>
+        <li>
+          <a href="/contribute/">Contribute</a>
+        </li>
+        <li>
+          <a href="/community/contact-us/">Community</a>
+        </li>
+        <li><a href="/blog">Blog</a></li>
+      </ul>
+      <ul class="nav navbar-nav navbar-right">
+        <li class="dropdown">
+          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><img src="https://www.apache.org/foundation/press/kit/feather_small.png" alt="Apache Logo" style="height:20px;"><span class="caret"></span></a>
+          <ul class="dropdown-menu dropdown-menu-right">
+            <li><a href="http://www.apache.org/">ASF Homepage</a></li>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/security/">Security</a></li>
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+            <li><a href="https://www.apache.org/foundation/policies/conduct">Code of Conduct</a></li>
+          </ul>
+        </li>
+      </ul>
+    </div>
+</nav>
+
+    <div class="clearfix container-main-content">
+      <div class="section-nav closed" data-offset-top="90" data-offset-bottom="500">
+        <span class="section-nav-back glyphicon glyphicon-menu-left"></span>
+        <nav>
+          <ul class="section-nav-list" data-section-nav>
+            <li><span class="section-nav-list-main-title">SDKS</span></li>
+
+<li>
+  <span class="section-nav-list-title">Java</span>
+  <ul class="section-nav-list">
+    <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
+    <li><a href="/documentation/sdks/javadoc/2.5.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+                                                                                                                                   width="14" height="14"
+                                                                                                                                   alt="External link."></a>
+    </li>
+    <li><a href="/documentation/sdks/java-extensions/">Java SDK extensions</a></li>
+    <li><a href="/documentation/sdks/java-thirdparty/">Java 3rd party extensions</a></li>
+    <li><a href="/documentation/sdks/java/nexmark/">Nexmark benchmark suite</a></li>
+  </ul>
+</li>
+
+<li>
+  <span class="section-nav-list-title">Python</span>
+  <ul class="section-nav-list">
+    <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
+    <li><a href="/documentation/sdks/pydoc/2.5.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+                                                                                                                                   width="14" height="14"
+                                                                                                                                   alt="External link."></a>
+    </li>
+    <li><a href="/documentation/sdks/python-streaming/">Python streaming pipelines</a></li>
+    <li><a href="/documentation/sdks/python-type-safety/">Ensuring Python type safety</a></li>
+    <li><a href="/documentation/sdks/python-pipeline-dependencies/">Managing pipeline dependencies</a></li>
+    <li><a href="/documentation/sdks/python-custom-io/">Creating new sources and sinks</a></li>
+  </ul>
+</li>
+
+<li>
+  <span class="section-nav-list-title">Go SDK</span>
+  <ul class="section-nav-list">
+    <li><a href="/documentation/sdks/go/">Go SDK overview</a></li>
+    <li><a href="https://godoc.org/github.com/apache/beam/sdks/go/pkg/beam" target="_blank">Go SDK API reference <img src="/images/external-link-icon.png"
+                                                                                                                                   width="14" height="14"
+                                                                                                                                   alt="External link."></a>
+    </li>
+  </ul>
+</li>
+
+<li>
+  <span class="section-nav-list-title">SQL</span>
+  <ul class="section-nav-list">
+    <li><a href="/documentation/dsls/sql/overview/">Overview</a></li>
+    <li><a href="/documentation/dsls/sql/walkthrough/">Walkthrough</a></li>
+    <li class="section-nav-item--collapsible">
+      <span class="section-nav-list-title">SQL Reference</span>
+
+      <ul class="section-nav-list">
+        <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
+          <span class="section-nav-list-title">Statements</span>
+
+          <ul class="section-nav-list">
+            <li><a href="/documentation/dsls/sql/statements/create-table/">CREATE TABLE</a></li>
+            <li><a href="/documentation/dsls/sql/statements/select/">SELECT</a></li>
+          </ul>
+        </li>
+        <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
+        <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
+        <li><a href="/documentation/dsls/sql/scalar-functions/">Scalar functions</a></li>
+        <li><a href="/documentation/dsls/sql/aggregate-functions/">Aggregate functions</a></li>
+        <li><a href="/documentation/dsls/sql/user-defined-functions/">User-defined functions</a></li>
+      </ul>
+    </li>
+  </ul>
+</li>
+
+          </ul>
+        </nav>
+      </div>
+
+      <nav class="page-nav clearfix" data-offset-top="90" data-offset-bottom="500">
+        
+
+<ul class="nav">
+  <li><a href="#identifiers">Identifiers</a></li>
+  <li><a href="#literals">Literals</a>
+    <ul>
+      <li><a href="#string-literals">String Literals</a></li>
+      <li><a href="#integer-literals">Integer Literals</a></li>
+      <li><a href="#floating-point-literals">Floating Point Literals</a></li>
+      <li><a href="#array-literals">Array Literals</a></li>
+      <li><a href="#struct-literals">Struct Literals</a></li>
+      <li><a href="#date-literals">Date Literals</a></li>
+      <li><a href="#time-literals">Time Literals</a></li>
+      <li><a href="#timestamp-literals">Timestamp literals</a></li>
+    </ul>
+  </li>
+  <li><a href="#case-sensitivity">Case Sensitivity</a></li>
+  <li><a href="#reserved-keywords">Reserved Keywords</a></li>
+  <li><a href="#terminating-semicolons">Terminating Semicolons</a></li>
+  <li><a href="#comments">Comments</a>
+    <ul>
+      <li><a href="#single-line-comments">Single line comments</a></li>
+      <li><a href="#multiline-comments">Multiline comments</a></li>
+    </ul>
+  </li>
+</ul>
+
+
+      </nav>
+
+      <div class="body__contained body__section-nav">
+        <h1 id="beam-sql-lexical-structure">Beam SQL Lexical Structure</h1>
+
+<p>A Beam SQL statement comprises a series of tokens. Tokens include
+<em>identifiers,</em> <em>quoted identifiers, literals</em>, <em>keywords</em>, <em>operators</em>,
+and <em>special characters</em>. Tokens can be separated by whitespace (space,
+backspace, tab, newline) or comments.</p>
+
+<h2 id="identifiers">Identifiers</h2>
+
+<p>Identifiers are names that are associated with columns, tables, and
+other database objects.</p>
+
+<p>Identifiers must begin with a letter or an underscore. Subsequent
+characters can be letters, numbers, or underscores. Quoted identifiers
+are identifiers enclosed by backtick (<code class="highlighter-rouge">`</code>) characters and can contain
+any character, such as spaces or symbols. However, quoted identifiers
+cannot be empty. <a href="#reserved-keywords">Reserved Keywords</a> can only be used
+as identifiers if enclosed by backticks.</p>
+
+<p>Syntax (defined here as a regular expression):</p>
+
+<p><code class="highlighter-rouge">[A-Za-z_][A-Za-z_0-9]*</code></p>
+
+<p>Examples:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>Customers5
+_dataField1
+ADGROUP
+</code></pre>
+</div>
+
+<p>Invalid examples:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>5Customers
+_dataField!
+GROUP
+</code></pre>
+</div>
+
+<p><code class="highlighter-rouge">5Customers</code> begins with a number, not a letter or underscore.
+<code class="highlighter-rouge">_dataField!</code> contains the special character “!” which is not a letter,
+number, or underscore. <code class="highlighter-rouge">GROUP</code> is a reserved keyword, and therefore
+cannot be used as an identifier without being enclosed by backtick
+characters.</p>
+
+<p>Both identifiers and quoted identifiers are case insensitive, with some
+nuances. See <a href="#case-sensitivity">Case Sensitivity</a> for further details.</p>
+
+<p>Quoted identifiers have the same escape sequences as string literals,
+defined below.</p>
+
+<h2 id="literals">Literals</h2>
+
+<p>A literal represents a constant value of a built-in data type. Some, but
+not all, data types can be expressed as literals.</p>
+
+<h3 id="string-literals">String Literals</h3>
+
+<p>Both string and bytes literals must be <em>quoted</em> with single
+(<code class="highlighter-rouge">'</code>) quotation mark.</p>
+
+<p><strong>Quoted literals:</strong></p>
+
+<table>
+<thead>
+<tr>
+<th>Literal</th>
+<th>Examples</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Quoted string</td>
+<td><ul><li><code>'it''s'</code></li><li><code>'Title: "Boy"'</code></li></ul></td>
+<td>Quoted strings enclosed by single (<code>'</code>) quotes can contain unescaped double (<code>"</code>) quotes. <br />Two quotation marks (<code>''</code>) is the escape sequence.<br />Quoted strings can contain newlines.</td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="integer-literals">Integer Literals</h3>
+
+<p>Integer literals are either a sequence of decimal digits (0 through 9).
+Integers can be prefixed by “<code class="highlighter-rouge">+</code>” or “<code class="highlighter-rouge">-</code>” to represent positive and
+negative values, respectively.</p>
+
+<p>Examples:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>123
+-123
+</code></pre>
+</div>
+
+<p>An integer literal is interpreted as an <code class="highlighter-rouge">BIGINT</code>.</p>
+
+<h3 id="floating-point-literals">Floating Point Literals</h3>
+
+<p>Syntax options:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>[+-]DIGITS.[DIGITS][e[+-]DIGITS]
+[DIGITS].DIGITS[e[+-]DIGITS]
+DIGITSe[+-]DIGITS
+</code></pre>
+</div>
+
+<p><code class="highlighter-rouge">DIGITS</code> represents one or more decimal numbers (0 through 9) and <code class="highlighter-rouge">e</code>
+represents the exponent marker (e or E).</p>
+
+<p>Examples:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>123.456e-67
+.1E4
+58.
+4e2
+</code></pre>
+</div>
+
+<p>Numeric literals that contain either a decimal point or an exponent
+marker are presumed to be type double.</p>
+
+<p>Implicit coercion of floating point literals to float type is possible
+if the value is within the valid float range.</p>
+
+<p>There is no literal representation of NaN or infinity.</p>
+
+<h3 id="array-literals">Array Literals</h3>
+
+<p>Array literals are a comma-separated lists of elements enclosed in
+square brackets prefixed with the <code class="highlighter-rouge">ARRAY</code> keyword.</p>
+
+<p>Examples:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>ARRAY[1, 2, 3]
+ARRAY['x', 'y', 'xy']
+</code></pre>
+</div>
+
+<h3 id="struct-literals">Struct Literals</h3>
+
+<p>Syntax:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>(elem[, elem...])
+</code></pre>
+</div>
+
+<p>where <code class="highlighter-rouge">elem</code> is an element in the struct. <code class="highlighter-rouge">elem</code> must be a literal data
+type, not an expression or column name.</p>
+
+<p>The output type is an anonymous struct type (structs are not named
+types) with anonymous fields with types matching the types of the input
+expressions.</p>
+
+<table>
+<thead>
+<tr>
+<th>Example</th>
+<th>Output Type</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>(1, 2, 3)</code></td>
+<td><code>STRUCT&lt;BIGINT,BIGINT,BIGINT&gt;</code></td>
+</tr>
+<tr>
+<td><code>(1, 'abc')</code></td>
+<td><code>STRUCT&lt;BIGINT,STRING&gt;</code></td>
+</tr>
+</tbody>
+</table>
+
+<h3 id="date-literals">Date Literals</h3>
+
+<p>Syntax:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>DATE 'YYYY-M[M]-D[D]'
+</code></pre>
+</div>
+
+<p>Date literals contain the <code class="highlighter-rouge">DATE</code> keyword followed by a string literal
+that conforms to the canonical date format, enclosed in single quotation
+marks. Date literals support a range between the years 1 and 9999,
+inclusive. Dates outside of this range are invalid.</p>
+
+<p>For example, the following date literal represents September 27, 2014:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>DATE '2014-09-27'
+</code></pre>
+</div>
+
+<p>String literals in canonical date format also implicitly coerce to DATE
+type when used where a DATE-type expression is expected. For example, in
+the query</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT * FROM foo WHERE date_col = "2014-09-27"
+</code></pre>
+</div>
+
+<p>the string literal <code class="highlighter-rouge">"2014-09-27"</code> will be coerced to a date literal.</p>
+
+<h3 id="time-literals">Time Literals</h3>
+
+<p>Syntax:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>TIME '[H]H:[M]M:[S]S[.DDDDDD]]'
+</code></pre>
+</div>
+
+<p>TIME literals contain the <code class="highlighter-rouge">TIME</code> keyword and a string literal that
+conforms to the canonical time format, enclosed in single quotation
+marks.</p>
+
+<p>For example, the following time represents 12:30 p.m.:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>TIME '12:30:00.45'
+</code></pre>
+</div>
+
+<h3 id="timestamp-literals">Timestamp literals</h3>
+
+<p>Syntax:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>TIMESTAMP 'YYYY-[M]M-[D]D [[H]H:[M]M:[S]S[.DDDDDD]]'
+</code></pre>
+</div>
+
+<p>Timestamp literals contain the <code class="highlighter-rouge">TIMESTAMP</code> keyword and a string literal
+that conforms to the canonical timestamp format, enclosed in single
+quotation marks.</p>
+
+<p>Timestamp literals support a range between the years 1 and 9999,
+inclusive. Timestamps outside of this range are invalid.</p>
+
+<p>For example, the following timestamp represents 12:30 p.m. on September
+27, 2014:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>TIMESTAMP '2014-09-27 12:30:00.45'
+</code></pre>
+</div>
+
+<h2 id="case-sensitivity">Case Sensitivity</h2>
+
+<p>Beam SQL follows these rules for case sensitivity:</p>
+
+<table>
+<thead>
+<tr>
+<th>Category</th>
+<th>Case Sensitive?</th>
+<th>Notes</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Keywords</td>
+<td>No</td>
+<td></td>
+</tr>
+<tr>
+<td>Function names</td>
+<td>No</td>
+<td></td>
+</tr>
+<tr>
+<td>Table names</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>Column names</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>String values</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>String comparisons</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>Aliases within a query</td>
+<td>No</td>
+<td></td>
+</tr>
+<tr>
+<td>Regular expression matching</td>
+<td>See Notes</td>
+<td>Regular expression matching is case sensitive by default, unless the expression itself specifies that it should be case insensitive.</td>
+</tr>
+<tr>
+<td><code>LIKE</code> matching</td>
+<td>Yes</td>
+<td>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="reserved-keywords">Reserved Keywords</h2>
+
+<p>Keywords are a group of tokens that have special meaning in the Beam SQL
+language, and have the following characteristics:</p>
+
+<ul>
+  <li>Keywords cannot be used as identifiers unless enclosed by backtick
+(`) characters.</li>
+  <li>Keywords are case insensitive.</li>
+</ul>
+
+<p>Beam SQL has the following reserved keywords.</p>
+
+<table style="table-layout: fixed; width: 110%">
+<tbody>
+<tr>
+<td>
+ALL<br />
+AND<br />
+ANY<br />
+ARRAY<br />
+AS<br />
+ASC<br />
+ASSERT_ROWS_MODIFIED<br />
+AT<br />
+BETWEEN<br />
+BY<br />
+CASE<br />
+CAST<br />
+COLLATE<br />
+CONTAINS<br />
+CREATE<br />
+CROSS<br />
+CUBE<br />
+CURRENT<br />
+DEFAULT<br />
+DEFINE<br />
+DESC<br />
+DISTINCT<br />
+ELSE<br />
+END<br />
+</td>
+<td>
+ENUM<br />
+ESCAPE<br />
+EXCEPT<br />
+EXCLUDE<br />
+EXISTS<br />
+EXTRACT<br />
+FALSE<br />
+FETCH<br />
+FOLLOWING<br />
+FOR<br />
+FROM<br />
+FULL<br />
+GROUP<br />
+GROUPING<br />
+GROUPS<br />
+HASH<br />
+HAVING<br />
+IF<br />
+IGNORE<br />
+IN<br />
+INNER<br />
+INTERSECT<br />
+INTERVAL<br />
+INTO<br />
+</td>
+<td>
+IS<br />
+JOIN<br />
+LATERAL<br />
+LEFT<br />
+LIKE<br />
+LIMIT<br />
+LOOKUP<br />
+MERGE<br />
+NATURAL<br />
+NEW<br />
+NO<br />
+NOT<br />
+NULL<br />
+NULLS<br />
+OF<br />
+ON<br />
+OR<br />
+ORDER<br />
+OUTER<br />
+OVER<br />
+PARTITION<br />
+PRECEDING<br />
+PROTO<br />
+RANGE<br />
+</td>
+<td>
+RECURSIVE<br />
+RESPECT<br />
+RIGHT<br />
+ROLLUP<br />
+ROWS<br />
+SELECT<br />
+SET<br />
+SOME<br />
+STRUCT<br />
+TABLESAMPLE<br />
+THEN<br />
+TO<br />
+TREAT<br />
+TRUE<br />
+UNBOUNDED<br />
+UNION<br />
+UNNEST<br />
+USING<br />
+WHEN<br />
+WHERE<br />
+WINDOW<br />
+WITH<br />
+WITHIN<br />
+</td>
+</tr>
+</tbody>
+</table>
+
+<h2 id="terminating-semicolons">Terminating Semicolons</h2>
+
+<p>Statements can optionally use a terminating semicolon (<code class="highlighter-rouge">;</code>) in the
+context of a query string submitted through an Application Programming
+Interface (API). Some interactive tools require statements to have a
+terminating semicolon. In a request containing multiple statements,
+statements must be separated by semicolons, but the semicolon is
+optional for the final statement.</p>
+
+<h2 id="comments">Comments</h2>
+
+<p>Comments are sequences of characters that are ignored by the parser.
+Beam SQL supports the following types of comments.</p>
+
+<h3 id="single-line-comments">Single line comments</h3>
+
+<p>Single line comments are supported by prepending <code class="highlighter-rouge">--</code> before the comment.</p>
+
+<p><strong>Examples</strong></p>
+
+<p><code class="highlighter-rouge">SELECT x FROM T; --x is a field and T is a table</code></p>
+
+<p>Comment includes all characters from the ‘<code class="highlighter-rouge">--</code>’ sequence to the end of
+the line. You can optionally add a space after the ‘<code class="highlighter-rouge">--</code>’.</p>
+
+<h3 id="multiline-comments">Multiline comments</h3>
+
+<p>Multiline comments are supported by enclosing the comment using
+<code class="highlighter-rouge">/* &lt;comment&gt; */</code>.</p>
+
+<p><strong>Example:</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT x FROM T /* x is a field and T is a table */
+WHERE x = 3;
+</code></pre>
+</div>
+
+<p><strong>Invalid example:</strong></p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT x FROM T /* comment starts here
+                /* comment ends on this line */
+                this line is not considered a comment */
+WHERE x = 3;
+</code></pre>
+</div>
+
+<p>Comment includes all characters, including newlines, enclosed by the
+first occurrence of ‘<code class="highlighter-rouge">/*</code>’ and the first subsequent occurrence of
+‘<code class="highlighter-rouge">*/</code>’. Nested comments are not supported. The second example contains a
+nested comment that renders the query invalid.</p>
+
+<blockquote>
+  <p>Portions of this page are modifications based on work created and
+<a href="https://developers.google.com/terms/site-policies">shared by Google</a>
+and used according to terms described in the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons 3.0
+Attribution License</a>.</p>
+</blockquote>
+
+      </div>
+    </div>
+    <footer class="footer">
+  <div class="footer__contained">
+    <div class="footer__cols">
+      <div class="footer__cols__col">
+        <div class="footer__cols__col__logo">
+          <img src="/images/beam_logo_circle.svg" class="footer__logo" alt="Beam logo">
+        </div>
+        <div class="footer__cols__col__logo">
+          <img src="/images/apache_logo_circle.svg" class="footer__logo" alt="Apache logo">
+        </div>
+      </div>
+      <div class="footer__cols__col footer__cols__col--md">
+        <div class="footer__cols__col__title">Start</div>
+        <div class="footer__cols__col__link"><a href="/get-started/beam-overview/">Overview</a></div>
+        <div class="footer__cols__col__link"><a href="/get-started/quickstart-java/">Quickstart (Java)</a></div>
+        <div class="footer__cols__col__link"><a href="/get-started/quickstart-py/">Quickstart (Python)</a></div>
+        <div class="footer__cols__col__link"><a href="/get-started/downloads/">Downloads</a></div>
+      </div>
+      <div class="footer__cols__col footer__cols__col--md">
+        <div class="footer__cols__col__title">Docs</div>
+        <div class="footer__cols__col__link"><a href="/documentation/programming-guide/">Concepts</a></div>
+        <div class="footer__cols__col__link"><a href="/documentation/pipelines/design-your-pipeline/">Pipelines</a></div>
+        <div class="footer__cols__col__link"><a href="/documentation/runners/capability-matrix/">Runners</a></div>
+      </div>
+      <div class="footer__cols__col footer__cols__col--md">
+        <div class="footer__cols__col__title">Community</div>
+        <div class="footer__cols__col__link"><a href="/contribute/">Contribute</a></div>
+        <div class="footer__cols__col__link"><a href="https://projects.apache.org/committee.html?beam" target="_blank">Team<img src="/images/external-link-icon.png"
+                                                                                                                                width="14" height="14"
+                                                                                                                                alt="External link."></a></div>
+        <div class="footer__cols__col__link"><a href="/contribute/presentation-materials/">Media</a></div>
+      </div>
+      <div class="footer__cols__col footer__cols__col--md">
+        <div class="footer__cols__col__title">Resources</div>
+        <div class="footer__cols__col__link"><a href="/blog/">Blog</a></div>
+        <div class="footer__cols__col__link"><a href="/get-started/support/">Support</a></div>
+        <div class="footer__cols__col__link"><a href="https://github.com/apache/beam">GitHub</a></div>
+      </div>
+    </div>
+  </div>
+  <div class="footer__bottom">
+    &copy;
+    <a href="http://www.apache.org">The Apache Software Foundation</a>
+    | <a href="/privacy_policy">Privacy Policy</a>
+    | <a href="/feed.xml">RSS Feed</a>
+    <br><br>
+    Apache Beam, Apache, Beam, the Beam logo, and the Apache feather logo are
+    either registered trademarks or trademarks of The Apache Software
+    Foundation. All other products or name brands are trademarks of their
+    respective holders, including The Apache Software Foundation.
+  </div>
+</footer>
+
+  </body>
+</html>
diff --git a/content/documentation/dsls/sql/overview/index.html b/content/documentation/dsls/sql/overview/index.html
index 3ddb261..9c39e55 100644
--- a/content/documentation/dsls/sql/overview/index.html
+++ b/content/documentation/dsls/sql/overview/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/dsls/sql/scalar-functions/index.html b/content/documentation/dsls/sql/scalar-functions/index.html
index 06b82af..c60bf8c 100644
--- a/content/documentation/dsls/sql/scalar-functions/index.html
+++ b/content/documentation/dsls/sql/scalar-functions/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/dsls/sql/statements/create-table/index.html b/content/documentation/dsls/sql/statements/create-table/index.html
index 97d86d1..395fa3c 100644
--- a/content/documentation/dsls/sql/statements/create-table/index.html
+++ b/content/documentation/dsls/sql/statements/create-table/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/dsls/sql/statements/select/index.html b/content/documentation/dsls/sql/statements/select/index.html
index 602c409..a9e4d50 100644
--- a/content/documentation/dsls/sql/statements/select/index.html
+++ b/content/documentation/dsls/sql/statements/select/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/dsls/sql/user-defined-functions/index.html b/content/documentation/dsls/sql/user-defined-functions/index.html
index f9ddc9f..7b0c82d 100644
--- a/content/documentation/dsls/sql/user-defined-functions/index.html
+++ b/content/documentation/dsls/sql/user-defined-functions/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/dsls/sql/walkthrough/index.html b/content/documentation/dsls/sql/walkthrough/index.html
index 3b8261f..c05fb83 100644
--- a/content/documentation/dsls/sql/walkthrough/index.html
+++ b/content/documentation/dsls/sql/walkthrough/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/dsls/sql/windowing-and-triggering/index.html b/content/documentation/dsls/sql/windowing-and-triggering/index.html
index 2f7c95b..60586ea 100644
--- a/content/documentation/dsls/sql/windowing-and-triggering/index.html
+++ b/content/documentation/dsls/sql/windowing-and-triggering/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/feature-comparison/index.html b/content/documentation/sdks/feature-comparison/index.html
index 16c44d0..8759285 100644
--- a/content/documentation/sdks/feature-comparison/index.html
+++ b/content/documentation/sdks/feature-comparison/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/go/index.html b/content/documentation/sdks/go/index.html
index 7ef7b97..458f71b 100644
--- a/content/documentation/sdks/go/index.html
+++ b/content/documentation/sdks/go/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/java-extensions/index.html b/content/documentation/sdks/java-extensions/index.html
index 0a23e6f..a8fd110 100644
--- a/content/documentation/sdks/java-extensions/index.html
+++ b/content/documentation/sdks/java-extensions/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/java-thirdparty/index.html b/content/documentation/sdks/java-thirdparty/index.html
index b9b7802..cc55525 100644
--- a/content/documentation/sdks/java-thirdparty/index.html
+++ b/content/documentation/sdks/java-thirdparty/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/java/euphoria/index.html b/content/documentation/sdks/java/euphoria/index.html
index 5949d8d..c6916e2 100644
--- a/content/documentation/sdks/java/euphoria/index.html
+++ b/content/documentation/sdks/java/euphoria/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/java/index.html b/content/documentation/sdks/java/index.html
index 21909b7..7fe488a 100644
--- a/content/documentation/sdks/java/index.html
+++ b/content/documentation/sdks/java/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/java/nexmark/index.html b/content/documentation/sdks/java/nexmark/index.html
index 11f087b..7b9b6f5 100644
--- a/content/documentation/sdks/java/nexmark/index.html
+++ b/content/documentation/sdks/java/nexmark/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/python-custom-io/index.html b/content/documentation/sdks/python-custom-io/index.html
index 2298668..a9334b5 100644
--- a/content/documentation/sdks/python-custom-io/index.html
+++ b/content/documentation/sdks/python-custom-io/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/python-pipeline-dependencies/index.html b/content/documentation/sdks/python-pipeline-dependencies/index.html
index 380a21c..d94a4f2 100644
--- a/content/documentation/sdks/python-pipeline-dependencies/index.html
+++ b/content/documentation/sdks/python-pipeline-dependencies/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/python-streaming/index.html b/content/documentation/sdks/python-streaming/index.html
index 235f58b..8d8d648 100644
--- a/content/documentation/sdks/python-streaming/index.html
+++ b/content/documentation/sdks/python-streaming/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/python-type-safety/index.html b/content/documentation/sdks/python-type-safety/index.html
index 2e09fb8..aa21314 100644
--- a/content/documentation/sdks/python-type-safety/index.html
+++ b/content/documentation/sdks/python-type-safety/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">
diff --git a/content/documentation/sdks/python/index.html b/content/documentation/sdks/python/index.html
index 791b6ba..6de8cdd 100644
--- a/content/documentation/sdks/python/index.html
+++ b/content/documentation/sdks/python/index.html
@@ -140,7 +140,8 @@
 
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-	<li class="section-nav-item--collapsible">
+        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
+        <li class="section-nav-item--collapsible">
           <span class="section-nav-list-title">Statements</span>
 
           <ul class="section-nav-list">


Mime
View raw message