diff --git a/docs/0.9.2/datamodel.html b/docs/0.9.2/datamodel.html
index f9144f0..d064195 100644
--- a/docs/0.9.2/datamodel.html
+++ b/docs/0.9.2/datamodel.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2017-07-27
+ | Generated by Apache Maven Doxia at 2017-09-14
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170727" />
+    <meta name="Date-Revision-yyyymmdd" content="20170914" />
     <meta http-equiv="Content-Language" content="en" />
     <title>AsterixDB &#x2013; The Asterix Data Model (ADM)</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
@@ -48,11 +48,11 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2017-07-27</li>
+                  <li id="publishDate">Last Published: 2017-09-14</li>
                       
                 
                     
-                 <li id="projectVersion" class="pull-right">Version: 0.9.2-SNAPSHOT</li>
+                 <li id="projectVersion" class="pull-right">Version: 0.9.2</li>
       
                                             <li class="divider pull-right">|</li>
                         
@@ -263,14 +263,14 @@
     
 <li><a href="#PrimitiveTypesBoolean">Boolean</a></li>
     
+<li><a href="#PrimitiveTypesString">String</a></li>
+    
 <li><a href="#PrimitiveTypesInt">Tinyint / Smallint / Integer (Int) / Bigint</a></li>
     
 <li><a href="#PrimitiveTypesFloat">Float</a></li>
     
 <li><a href="#PrimitiveTypesDouble">Double (Double Precision)</a></li>
     
-<li><a href="#PrimitiveTypesString">String</a></li>
-    
 <li><a href="#PrimitiveTypesBinary">Binary</a></li>
     
 <li><a href="#PrimitiveTypesPoint">Point</a></li>
@@ -296,7 +296,7 @@
 <li><a href="#PrimitiveTypesUUID">UUID</a></li>
   </ul></li>
   
-<li><a href="#IncompleteInformationTypesTypes">Incomplete Information Types</a>
+<li><a href="#IncompleteInformationTypes">Incomplete Information Types</a>
   
 <ul>
     
@@ -317,7 +317,24 @@
   </ul></li>
 </ul>
 <p>An instance of Asterix data model (ADM) can be a <i><i>primitive type</i></i> (<tt>boolean</tt>, <tt>tinyint</tt>, <tt>smallint</tt>, <tt>integer</tt>, <tt>bigint</tt>, <tt>string</tt>, <tt>float</tt>, <tt>double</tt>, <tt>date</tt>, <tt>time</tt>, <tt>datetime</tt>, etc.), a <i><i>special type</i></i> (<tt>null</tt> or <tt>missing</tt>), or a <i><i>derived type</i></i>.</p>
-<p>The type names are case-insensitive, e.g., both <tt>BIGINT</tt> and <tt>bigint</tt> are acceptable.</p></div>
+<p>The type names are case-insensitive, e.g., both <tt>BIGINT</tt> and <tt>bigint</tt> are acceptable.</p>
+<!-- ! Licensed to the Apache Software Foundation (ASF) under one
+ ! or more contributor license agreements.  See the NOTICE file
+ ! distributed with this work for additional information
+ ! regarding copyright ownership.  The ASF licenses this file
+ ! to you under the Apache License, Version 2.0 (the
+ ! "License"); you may not use this file except in compliance
+ ! with the License.  You may obtain a copy of the License at
+ !
+ !   http://www.apache.org/licenses/LICENSE-2.0
+ !
+ ! Unless required by applicable law or agreed to in writing,
+ ! software distributed under the License is distributed on an
+ ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ! KIND, either express or implied.  See the License for the
+ ! specific language governing permissions and limitations
+ ! under the License.
+ ! --></div>
 <div class="section">
 <h2><a name="Primitive_Types"></a><a name="PrimitiveTypes" id="PrimitiveTypes">Primitive Types</a></h2>
 <div class="section">
@@ -346,16 +363,41 @@
 </pre></div></div></li>
 </ul></div>
 <div class="section">
+<h3><a name="String"></a><a name="PrimitiveTypesString" id="PrimitiveTypesString">String</a></h3>
+<p><tt>string</tt> represents a sequence of characters. The total length of the sequence can be up to 2,147,483,648.</p>
+
+<ul>
+  
+<li>
+<p>Example:</p>
+  
+<div class="source">
+<div class="source">
+<pre>{ &quot;v1&quot;: string(&quot;This is a string.&quot;), &quot;v2&quot;: string(&quot;\&quot;This is a quoted string\&quot;&quot;) };
+</pre></div></div></li>
+</ul>
+
+<ul>
+  
+<li>
+<p>The expected result is:</p>
+  
+<div class="source">
+<div class="source">
+<pre>{ &quot;v1&quot;: &quot;This is a string.&quot;, &quot;v2&quot;: &quot;\&quot;This is a quoted string\&quot;&quot; }
+</pre></div></div></li>
+</ul></div>
+<div class="section">
 <h3><a name="Tinyint__Smallint__Integer_Int__Bigint"></a><a name="PrimitiveTypesInt" id="PrimitiveTypesInt">Tinyint / Smallint / Integer (Int) / Bigint</a></h3>
 <p>Integer types using 8, 16, 32, or 64 bits. The ranges of these types are:</p>
 
 <ul>
   
-<li><tt>tinyint</tt>: -127 to 127</li>
+<li><tt>tinyint</tt>: -128 to 127</li>
   
-<li><tt>smallint</tt>: -32767 to 32767</li>
+<li><tt>smallint</tt>: -32768 to 32767</li>
   
-<li><tt>integer</tt>: -2147483647 to 2147483647</li>
+<li><tt>integer</tt>: -2147483648 to 2147483647</li>
   
 <li><tt>bigint</tt>: -9223372036854775808 to 9223372036854775807</li>
 </ul>
@@ -404,7 +446,7 @@
   
 <div class="source">
 <div class="source">
-<pre>{ &quot;v1&quot;: NaN, &quot;v2&quot;: Infinity, &quot;v3&quot;: -Infinity, &quot;v4&quot;: -2013.5 }
+<pre>{ &quot;v1&quot;: &quot;NaN&quot;, &quot;v2&quot;: &quot;Infinity&quot;, &quot;v3&quot;: &quot;-Infinity&quot;, &quot;v4&quot;: -2013.5 }
 </pre></div></div></li>
 </ul></div>
 <div class="section">
@@ -429,35 +471,27 @@
   
 <div class="source">
 <div class="source">
-<pre>{ &quot;v1&quot;: NaN, &quot;v2&quot;: Infinity, &quot;v3&quot;: -Infinity, &quot;v4&quot;: -2013.5938237483274 }
+<pre>{ &quot;v1&quot;: &quot;NaN&quot;, &quot;v2&quot;: &quot;Infinity&quot;, &quot;v3&quot;: &quot;-Infinity&quot;, &quot;v4&quot;: -2013.5938237483274 }
 </pre></div></div></li>
 </ul>
-<p><tt>Double precision</tt> is an alias of <tt>double</tt>.</p></div>
-<div class="section">
-<h3><a name="String"></a><a name="PrimitiveTypesString" id="PrimitiveTypesString">String</a></h3>
-<p><tt>string</tt> represents a sequence of characters. The total length of the sequence can be up to 2,147,483,648.</p>
-
-<ul>
-  
-<li>
-<p>Example:</p>
-  
-<div class="source">
-<div class="source">
-<pre>{ &quot;v1&quot;: string(&quot;This is a string.&quot;), &quot;v2&quot;: string(&quot;\&quot;This is a quoted string\&quot;&quot;) };
-</pre></div></div></li>
-</ul>
-
-<ul>
-  
-<li>
-<p>The expected result is:</p>
-  
-<div class="source">
-<div class="source">
-<pre>{ &quot;v1&quot;: &quot;This is a string.&quot;, &quot;v2&quot;: &quot;\&quot;This is a quoted string\&quot;&quot; }
-</pre></div></div></li>
-</ul></div>
+<p><tt>Double precision</tt> is an alias of <tt>double</tt>.</p>
+<!-- ! Licensed to the Apache Software Foundation (ASF) under one
+ ! or more contributor license agreements.  See the NOTICE file
+ ! distributed with this work for additional information
+ ! regarding copyright ownership.  The ASF licenses this file
+ ! to you under the Apache License, Version 2.0 (the
+ ! "License"); you may not use this file except in compliance
+ ! with the License.  You may obtain a copy of the License at
+ !
+ !   http://www.apache.org/licenses/LICENSE-2.0
+ !
+ ! Unless required by applicable law or agreed to in writing,
+ ! software distributed under the License is distributed on an
+ ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ! KIND, either express or implied.  See the License for the
+ ! specific language governing permissions and limitations
+ ! under the License.
+ ! --></div>
 <div class="section">
 <h3><a name="Binary"></a><a name="PrimitiveTypesBinary" id="PrimitiveTypesBinary">Binary</a></h3>
 <p><tt>binary</tt> represents a sequence of bytes. It can be constructed from a <tt>hex</tt> or a <tt>base64</tt> string sequence. The total length of the byte sequence can be up to 2,147,483,648.</p>
@@ -791,7 +825,24 @@
 <div class="source">
 <pre>{ &quot;v1&quot;: uuid(&quot;5c848e5c-6b6a-498f-8452-8847a2957421&quot;) }
 </pre></div></div></li>
-</ul></div></div>
+</ul>
+<!-- ! Licensed to the Apache Software Foundation (ASF) under one
+ ! or more contributor license agreements.  See the NOTICE file
+ ! distributed with this work for additional information
+ ! regarding copyright ownership.  The ASF licenses this file
+ ! to you under the Apache License, Version 2.0 (the
+ ! "License"); you may not use this file except in compliance
+ ! with the License.  You may obtain a copy of the License at
+ !
+ !   http://www.apache.org/licenses/LICENSE-2.0
+ !
+ ! Unless required by applicable law or agreed to in writing,
+ ! software distributed under the License is distributed on an
+ ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ! KIND, either express or implied.  See the License for the
+ ! specific language governing permissions and limitations
+ ! under the License.
+ ! --></div></div>
 <div class="section">
 <h2><a name="Incomplete_Information_Types"></a><a name="IncompleteInformationTypes" id="IncompleteInformationTypes">Incomplete Information Types</a></h2>
 <div class="section">
@@ -821,7 +872,7 @@
 </ul></div>
 <div class="section">
 <h3><a name="Missing"></a><a name="IncompleteInformationTypesMissing" id="IncompleteInformationTypesMissing">Missing</a></h3>
-<p><tt>missing</tt> represents a missing name-value pair in an object. If the referenced field does not exist, an empty result value is returned by the query.</p>
+<p><tt>missing</tt> indicates that a name-value pair is missing from an object. If a missing name-value pair is accessed, an empty result value is returned by the query.</p>
 <p>As neither the data model nor the system enforces homogeneity for datasets or collections, items in a dataset or collection can be of heterogeneous types and so a field can be present in one object and <tt>missing</tt> in another.</p>
 
 <ul>
@@ -845,7 +896,24 @@
 <pre>{  }
 </pre></div></div></li>
 </ul>
-<p>Since a field with value <tt>missing</tt> means the field is absent, we get an empty object.</p></div></div>
+<p>Since a field with value <tt>missing</tt> means the field is absent, we get an empty object.</p>
+<!-- ! Licensed to the Apache Software Foundation (ASF) under one
+ ! or more contributor license agreements.  See the NOTICE file
+ ! distributed with this work for additional information
+ ! regarding copyright ownership.  The ASF licenses this file
+ ! to you under the Apache License, Version 2.0 (the
+ ! "License"); you may not use this file except in compliance
+ ! with the License.  You may obtain a copy of the License at
+ !
+ !   http://www.apache.org/licenses/LICENSE-2.0
+ !
+ ! Unless required by applicable law or agreed to in writing,
+ ! software distributed under the License is distributed on an
+ ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ! KIND, either express or implied.  See the License for the
+ ! specific language governing permissions and limitations
+ ! under the License.
+ ! --></div></div>
 <div class="section">
 <h2><a name="Derived_Types"></a><a name="DerivedTypes" id="DerivedTypes">Derived Types</a></h2>
 <div class="section">
