You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@orc.apache.org by om...@apache.org on 2018/05/17 22:13:04 UTC

[10/11] orc git commit: Deploy docs with CVE.

http://git-wip-us.apache.org/repos/asf/orc/blob/e58d3fc4/develop/make-release/index.html
----------------------------------------------------------------------
diff --git a/develop/make-release/index.html b/develop/make-release/index.html
new file mode 100644
index 0000000..3a2892f
--- /dev/null
+++ b/develop/make-release/index.html
@@ -0,0 +1,324 @@
+<!DOCTYPE HTML>
+<html lang="en-US">
+<head>
+  <meta charset="UTF-8">
+  <title>How To Release ORC</title>
+  <meta name="viewport" content="width=device-width,initial-scale=1">
+  <meta name="generator" content="Jekyll v3.7.3">
+  <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
+  <link rel="stylesheet" href="/css/screen.css">
+  <link rel="icon" type="image/x-icon" href="/favicon.ico">
+  <!--[if lt IE 9]>
+  <script src="/js/html5shiv.min.js"></script>
+  <script src="/js/respond.min.js"></script>
+  <![endif]-->
+</head>
+
+
+<body class="wrap">
+  <header role="banner">
+  <nav class="mobile-nav show-on-mobiles">
+    <ul>
+  <li class="">
+    <a href="/">Home</a>
+  </li>
+  <li class="">
+    <a href="/docs/"><span class="show-on-mobiles">Docs</span>
+                     <span class="hide-on-mobiles">Documentation</span></a>
+  </li>
+  <li class="">
+    <a href="/talks/">Talks</a>
+  </li>
+  <li class="">
+    <a href="/news/">News</a>
+  </li>
+  <li class="">
+    <a href="/help/">Help</a>
+  </li>
+  <li class="current">
+    <a href="/develop/">Develop</a>
+  </li>
+</ul>
+
+  </nav>
+  <div class="grid">
+    <div class="unit one-third center-on-mobiles">
+      <h1>
+        <a href="/">
+          <span class="sr-only">Apache ORC</span>
+          <img src="/img/logo.png" width="249" height="101" alt="ORC Logo">
+        </a>
+      </h1>
+    </div>
+    <nav class="main-nav unit two-thirds hide-on-mobiles">
+      <ul>
+  <li class="">
+    <a href="/">Home</a>
+  </li>
+  <li class="">
+    <a href="/docs/"><span class="show-on-mobiles">Docs</span>
+                     <span class="hide-on-mobiles">Documentation</span></a>
+  </li>
+  <li class="">
+    <a href="/talks/">Talks</a>
+  </li>
+  <li class="">
+    <a href="/news/">News</a>
+  </li>
+  <li class="">
+    <a href="/help/">Help</a>
+  </li>
+  <li class="current">
+    <a href="/develop/">Develop</a>
+  </li>
+</ul>
+
+    </nav>
+  </div>
+</header>
+
+
+  <section class="standalone">
+  <div class="grid">
+
+    <div class="unit whole">
+      <article>
+        <h1>How To Release ORC</h1>
+        <h2 id="preparing-for-release">Preparing for release</h2>
+
+<p>Set version so that it isn’t a SNAPSHOT.</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% git checkout branch-X.Y
+% edit CMakeLists.txt
+% (mkdir build; cd build; cmake ..)
+</code></pre></div></div>
+
+<p>Commit the changes back to Apache along with a tag for the release candidate.</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% git commit -s -S -am 'Preparing for release X.Y.Z'
+% git remote add apache https://git-wip-us.apache.org/repos/asf/orc.git
+% git push apache branch-X.Y
+% git tag release-X.Y.Zrc0
+% git push apache release-X.Y.Zrc0
+</code></pre></div></div>
+
+<p>Generate the source tarball and checksums for the release.</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% wget https://github.com/apache/orc/archive/release-X.Y.Zrc0.tar.gz
+% tar xzf release-X.Y.Zrc0.tar.gz
+% mv orc-release-X.Y.Zrc0 orc-X.Y.Z
+% tar czf orc-X.Y.Zrc0.tar.gz orc-X.Y.Z
+% shasum -a 256 orc-X.Y.Zrc0.tar.gz &gt; orc-X.Y.Zrc0.tar.gz.sha256
+% gpg --detach-sig --armor orc-X.Y.Zrc0.tar.gz
+</code></pre></div></div>
+
+<p>Copy the artifacts into your personal Apache website.</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% sftp &lt;apacheid&gt;@home.apache.org
+sftp&gt; cd public_html
+sftp&gt; mkdir orc-X.Y.Zrc0
+sftp&gt; cd orc-X.Y.Zrc0
+sftp&gt; put orc-X.Y.Zrc0*
+sftp&gt; quit
+</code></pre></div></div>
+
+<p>Make sure your GPG key exists <a href="https://dist.apache.org/repos/dist/release/orc/KEYS">here</a> for others to verify signature in RC</p>
+
+<p>Click the version to release (X.Y.Z) <a href="https://issues.apache.org/jira/projects/ORC?selectedItem=com.atlassian.jira.jira-projects-plugin:release-page">here</a>
+to get the list of jiras that are fixed in X.Y.Z</p>
+
+<p>Send email with the vote:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>To: dev@orc.apache.org
+Subject: [VOTE] Should we release ORC X.Y.Zrc0?
+
+All,
+
+Should we release the following artifacts as ORC X.Y.Z?
+
+tar: http://home.apache.org/~omalley/orc-X.Y.Zrc0/
+tag: https://github.com/apache/orc/releases/tag/release-X.Y.Zrc0
+jiras: https://issues.apache.org/jira/browse/ORC/fixforversion/&lt;fixid&gt;
+
+Thanks!
+</code></pre></div></div>
+
+<h2 id="to-promote-a-release-candidate-rc-to-a-real-release">To promote a release candidate (RC) to a real release.</h2>
+
+<p>Update the final tag and remove the rc tag.</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% git tag rel/release-X.Y.Z -s
+% git push apache rel/release-X.Y.Z
+% git push apache :release-X.Y.Zrc0
+</code></pre></div></div>
+
+<p>Publish the artifacts to Maven central staging. Make sure to have this <a href="http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env">setup</a> for Apache releases</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% cd java
+% mvn -Papache-release clean deploy
+</code></pre></div></div>
+
+<p>Publish from the staging area:</p>
+
+<ul>
+  <li>login to <a href="https://repository.apache.org/index.html#stagingRepositories">Maven staging</a></li>
+  <li>find your staging repository (search for org.apache.org)</li>
+  <li>close it</li>
+  <li>release it</li>
+</ul>
+
+<p>Publish the artifacts to Apache’s dist area.</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>In a svn clone of https://dist.apache.org/repos/dist/release/orc
+% mkdir orc-X.Y.Z
+% cd orc-X.Y.Z
+copy release artifacts with a rename from orc-X.Y.Zrc0* to orc-X.Y.Z*
+% svn add .
+% svn commit ---username &lt;apacheid&gt; -m "ORC X.Y.Z Release"
+
+We keep the latest patch release for each of the last two branches, so remove
+extra releases (say I.J.K) from the Apache dist area.
+
+% cd ..
+% svn rm orc-I.J.K
+% svn commit --username &lt;apacheid&gt; -m "Removed old release ORC I.J.K"
+</code></pre></div></div>
+
+<p>Update the release branch with the version for the next release.</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>edit CMakeLists.txt to change version to X.Y.(Z+1)-SNAPSHOT
+% cd build
+% cmake ..
+% git commit -a -s -S -am 'Preparing branch for post X.Y.Z development'
+% git push apache branch-X.Y
+</code></pre></div></div>
+
+<p>Update the site with the new release.</p>
+
+<ul>
+  <li>Check out the master branch (git co apache/master)</li>
+</ul>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Change directory in to site.
+% pwd
+&lt;path-to-master-src&gt;
+% cd site
+% mkdir target
+% cd target
+Set up site/target to be a separate git workspace that tracks the asf-site branch.
+% git init
+% git remote add origin https://git-wip-us.apache.org/repos/asf/orc.git -t asf-site
+% git fetch origin
+% git checkout asf-site
+% cd ..
+% bundle install
+</code></pre></div></div>
+<ul>
+  <li>edit site/_data/releases.yml to add new release
+    <ul>
+      <li>update the state for the releases to match the changes in the Apache dist
+        <ul>
+          <li>latest = new release (only one of these!)</li>
+          <li>stable = other release still in dist</li>
+          <li>archived = removed from dist</li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li>create a new file _posts/YYYY-MM-DD-ORC-X.Y.Z.md for the news section</li>
+  <li>Run “bundle exec jekyll serve”</li>
+  <li>Check the website on http://0.0.0.0:4000/</li>
+  <li>If it looks good, use git add (from within site directory) to add the new files and commit to master with a message of “update site for X.Y.Z”.</li>
+</ul>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% pwd
+&lt;path-to-master-src&gt;/site
+% git commit -am "Update site for X.Y.Z"
+% git push origin master
+</code></pre></div></div>
+
+<ul>
+  <li>Change directory into site/target for publishing the site.</li>
+  <li>Add the new files that you just generated.
+    <ul>
+      <li>This assumes you’ve set up site/target to be a separate git workspace that tracks the asf-site branch.</li>
+    </ul>
+  </li>
+  <li>Commit to asf-site to publish the updated site.</li>
+</ul>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% cd target
+% pwd
+&lt;path-to-master-src&gt;/site/target
+% git commit -am "Publish site for X.Y.Z"
+% git push origin asf-site
+</code></pre></div></div>
+
+<p>Update ORC’s jira to reflect the released version.</p>
+
+<ul>
+  <li>Select the resolved issues and bulk transition them to closed with following query <a href="https://issues.apache.org/jira/issues/?filter=-1">here</a>.
+    <ul>
+      <li>query: project = ORC AND fixVersion = X.Y.Z and status = Resolved ORDER BY created desc</li>
+    </ul>
+  </li>
+  <li>Mark the version as released and set the date <a href="https://issues.apache.org/jira/projects/ORC?selectedItem=com.atlassian.jira.jira-projects-plugin:release-page">here</a>.</li>
+</ul>
+
+<p>It usually take up to 24 hours for the apache dist mirrors and maven central to update with the new release.</p>
+
+      </article>
+    </div>
+
+    <div class="clear"></div>
+
+  </div>
+</section>
+
+
+  <footer role="contentinfo">
+  <p>The contents of this website are &copy;&nbsp;2018
+     <a href="https://www.apache.org/">Apache Software Foundation</a>
+     under the terms of the <a
+      href="https://www.apache.org/licenses/LICENSE-2.0.html">
+      Apache&nbsp;License&nbsp;v2</a>. Apache ORC and its logo are trademarks
+      of the Apache Software Foundation.</p>
+</footer>
+
+  <script>
+  var anchorForId = function (id) {
+    var anchor = document.createElement("a");
+    anchor.className = "header-link";
+    anchor.href      = "#" + id;
+    anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
+    anchor.title = "Permalink";
+    return anchor;
+  };
+
+  var linkifyAnchors = function (level, containingElement) {
+    var headers = containingElement.getElementsByTagName("h" + level);
+    for (var h = 0; h < headers.length; h++) {
+      var header = headers[h];
+
+      if (typeof header.id !== "undefined" && header.id !== "") {
+        header.appendChild(anchorForId(header.id));
+      }
+    }
+  };
+
+  document.onreadystatechange = function () {
+    if (this.readyState === "complete") {
+      var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
+      if (!contentBlock) {
+        return;
+      }
+      for (var level = 1; level <= 6; level++) {
+        linkifyAnchors(level, contentBlock);
+      }
+    }
+  };
+</script>
+
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/orc/blob/e58d3fc4/docs/acid.html
----------------------------------------------------------------------
diff --git a/docs/acid.html b/docs/acid.html
index 71c980c..e500646 100644
--- a/docs/acid.html
+++ b/docs/acid.html
@@ -4,7 +4,7 @@
   <meta charset="UTF-8">
   <title>ACID support</title>
   <meta name="viewport" content="width=device-width,initial-scale=1">
-  <meta name="generator" content="Jekyll v2.4.0">
+  <meta name="generator" content="Jekyll v3.7.3">
   <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
   <link rel="stylesheet" href="/css/screen.css">
   <link rel="icon" type="image/x-icon" href="/favicon.ico">
@@ -109,7 +109,7 @@
     
   
     
-      <option value="/docs/index.html">Background</option>
+      <option value="http://localhost:4000/docs/index.html">Background</option>
     
   
     
@@ -131,7 +131,7 @@
     
   
     
-      <option value="/docs/adopters.html">ORC Adopters</option>
+      <option value="http://localhost:4000/docs/adopters.html">ORC Adopters</option>
     
   
     
@@ -193,7 +193,7 @@
     
   
     
-      <option value="/docs/types.html">Types</option>
+      <option value="http://localhost:4000/docs/types.html">Types</option>
     
   
 
@@ -219,7 +219,7 @@
     
   
     
-      <option value="/docs/indexes.html">Indexes</option>
+      <option value="http://localhost:4000/docs/indexes.html">Indexes</option>
     
   
     
@@ -237,7 +237,7 @@
 
   
     
-      <option value="/docs/acid.html">ACID support</option>
+      <option value="http://localhost:4000/docs/acid.html">ACID support</option>
     
   
     
@@ -284,7 +284,7 @@
     
   
     
-      <option value="/docs/building.html">Building ORC</option>
+      <option value="http://localhost:4000/docs/building.html">Building ORC</option>
     
   
     
@@ -342,7 +342,7 @@
     
   
     
-      <option value="/docs/releases.html">Releases</option>
+      <option value="http://localhost:4000/docs/releases.html">Releases</option>
     
   
     
@@ -373,7 +373,7 @@
     
   
     
-      <option value="/docs/hive-ddl.html">Hive DDL</option>
+      <option value="http://localhost:4000/docs/hive-ddl.html">Hive DDL</option>
     
   
     
@@ -407,7 +407,7 @@
     
   
     
-      <option value="/docs/hive-config.html">Hive Configuration</option>
+      <option value="http://localhost:4000/docs/hive-config.html">Hive Configuration</option>
     
   
     
@@ -460,7 +460,7 @@
     
   
     
-      <option value="/docs/mapred.html">Using in MapRed</option>
+      <option value="http://localhost:4000/docs/mapred.html">Using in MapRed</option>
     
   
     
@@ -498,7 +498,7 @@
     
   
     
-      <option value="/docs/mapreduce.html">Using in MapReduce</option>
+      <option value="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</option>
     
   
     
@@ -525,7 +525,7 @@
     
   
     
-      <option value="/docs/core-java.html">Using Core Java</option>
+      <option value="http://localhost:4000/docs/core-java.html">Using Core Java</option>
     
   
     
@@ -559,7 +559,7 @@
     
   
     
-      <option value="/docs/core-cpp.html">Using Core C++</option>
+      <option value="http://localhost:4000/docs/core-cpp.html">Using Core C++</option>
     
   
     
@@ -606,7 +606,7 @@
     
   
     
-      <option value="/docs/cpp-tools.html">C++ Tools</option>
+      <option value="http://localhost:4000/docs/cpp-tools.html">C++ Tools</option>
     
   
     
@@ -652,7 +652,7 @@
     
   
     
-      <option value="/docs/java-tools.html">Java Tools</option>
+      <option value="http://localhost:4000/docs/java-tools.html">Java Tools</option>
     
   
     
@@ -811,15 +811,14 @@ are the operation (insert, update, or delete), the triple that
 uniquely identifies the row (originalTransaction, bucket, rowId), and
 the current transaction.</p>
 
-<p><code>struct&lt;
-  operation: int,
+<pre><code class="language-struct&lt;">  operation: int,
   originalTransaction: bigInt,
   bucket: int,
   rowId: bigInt,
   currentTransaction: bigInt,
   row: struct&lt;...&gt;
 &gt;
-</code></p>
+</code></pre>
 
 <p>The serialization for the operation codes is:</p>
 
@@ -943,8 +942,6 @@ file that don’t need to be read in this task.</p>
   
 
   
-    
-  
 
   
     
@@ -964,29 +961,25 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/index.html">Background</a></li>
+      <li class=""><a href="http://localhost:4000/docs/index.html">Background</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
   
     
-      <li class=""><a href="/docs/adopters.html">ORC Adopters</a></li>
+      <li class=""><a href="http://localhost:4000/docs/adopters.html">ORC Adopters</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1018,15 +1011,13 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/types.html">Types</a></li>
+      <li class=""><a href="http://localhost:4000/docs/types.html">Types</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1048,19 +1039,17 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/indexes.html">Indexes</a></li>
+      <li class=""><a href="http://localhost:4000/docs/indexes.html">Indexes</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
-      <li class="current"><a href="/docs/acid.html">ACID support</a></li>
+      <li class="current"><a href="http://localhost:4000/docs/acid.html">ACID support</a></li>
       
 
 
@@ -1075,8 +1064,6 @@ file that don’t need to be read in this task.</p>
   
 
   
-    
-  
 
   
     
@@ -1084,15 +1071,13 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/building.html">Building ORC</a></li>
+      <li class=""><a href="http://localhost:4000/docs/building.html">Building ORC</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1122,7 +1107,7 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/releases.html">Releases</a></li>
+      <li class=""><a href="http://localhost:4000/docs/releases.html">Releases</a></li>
       
 
 
@@ -1137,8 +1122,6 @@ file that don’t need to be read in this task.</p>
   
 
   
-    
-  
 
   
     
@@ -1156,15 +1139,13 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/hive-ddl.html">Hive DDL</a></li>
+      <li class=""><a href="http://localhost:4000/docs/hive-ddl.html">Hive DDL</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1180,7 +1161,7 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/hive-config.html">Hive Configuration</a></li>
+      <li class=""><a href="http://localhost:4000/docs/hive-config.html">Hive Configuration</a></li>
       
 
 
@@ -1195,8 +1176,6 @@ file that don’t need to be read in this task.</p>
   
 
   
-    
-  
 
   
     
@@ -1222,15 +1201,13 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/mapred.html">Using in MapRed</a></li>
+      <li class=""><a href="http://localhost:4000/docs/mapred.html">Using in MapRed</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1258,7 +1235,7 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/mapreduce.html">Using in MapReduce</a></li>
+      <li class=""><a href="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</a></li>
       
 
 
@@ -1273,8 +1250,6 @@ file that don’t need to be read in this task.</p>
   
 
   
-    
-  
 
   
     
@@ -1286,15 +1261,13 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/core-java.html">Using Core Java</a></li>
+      <li class=""><a href="http://localhost:4000/docs/core-java.html">Using Core Java</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1304,7 +1277,7 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/core-cpp.html">Using Core C++</a></li>
+      <li class=""><a href="http://localhost:4000/docs/core-cpp.html">Using Core C++</a></li>
       
 
 
@@ -1319,8 +1292,6 @@ file that don’t need to be read in this task.</p>
   
 
   
-    
-  
 
   
     
@@ -1334,15 +1305,13 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/cpp-tools.html">C++ Tools</a></li>
+      <li class=""><a href="http://localhost:4000/docs/cpp-tools.html">C++ Tools</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1366,7 +1335,7 @@ file that don’t need to be read in this task.</p>
     
   
     
-      <li class=""><a href="/docs/java-tools.html">Java Tools</a></li>
+      <li class=""><a href="http://localhost:4000/docs/java-tools.html">Java Tools</a></li>
       
 
 

http://git-wip-us.apache.org/repos/asf/orc/blob/e58d3fc4/docs/adopters.html
----------------------------------------------------------------------
diff --git a/docs/adopters.html b/docs/adopters.html
index 7ee402b..c93dfed 100644
--- a/docs/adopters.html
+++ b/docs/adopters.html
@@ -4,7 +4,7 @@
   <meta charset="UTF-8">
   <title>ORC Adopters</title>
   <meta name="viewport" content="width=device-width,initial-scale=1">
-  <meta name="generator" content="Jekyll v2.4.0">
+  <meta name="generator" content="Jekyll v3.7.3">
   <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
   <link rel="stylesheet" href="/css/screen.css">
   <link rel="icon" type="image/x-icon" href="/favicon.ico">
@@ -109,7 +109,7 @@
     
   
     
-      <option value="/docs/index.html">Background</option>
+      <option value="http://localhost:4000/docs/index.html">Background</option>
     
   
     
@@ -131,7 +131,7 @@
     
   
     
-      <option value="/docs/adopters.html">ORC Adopters</option>
+      <option value="http://localhost:4000/docs/adopters.html">ORC Adopters</option>
     
   
     
@@ -193,7 +193,7 @@
     
   
     
-      <option value="/docs/types.html">Types</option>
+      <option value="http://localhost:4000/docs/types.html">Types</option>
     
   
 
@@ -219,7 +219,7 @@
     
   
     
-      <option value="/docs/indexes.html">Indexes</option>
+      <option value="http://localhost:4000/docs/indexes.html">Indexes</option>
     
   
     
@@ -237,7 +237,7 @@
 
   
     
-      <option value="/docs/acid.html">ACID support</option>
+      <option value="http://localhost:4000/docs/acid.html">ACID support</option>
     
   
     
@@ -284,7 +284,7 @@
     
   
     
-      <option value="/docs/building.html">Building ORC</option>
+      <option value="http://localhost:4000/docs/building.html">Building ORC</option>
     
   
     
@@ -342,7 +342,7 @@
     
   
     
-      <option value="/docs/releases.html">Releases</option>
+      <option value="http://localhost:4000/docs/releases.html">Releases</option>
     
   
     
@@ -373,7 +373,7 @@
     
   
     
-      <option value="/docs/hive-ddl.html">Hive DDL</option>
+      <option value="http://localhost:4000/docs/hive-ddl.html">Hive DDL</option>
     
   
     
@@ -407,7 +407,7 @@
     
   
     
-      <option value="/docs/hive-config.html">Hive Configuration</option>
+      <option value="http://localhost:4000/docs/hive-config.html">Hive Configuration</option>
     
   
     
@@ -460,7 +460,7 @@
     
   
     
-      <option value="/docs/mapred.html">Using in MapRed</option>
+      <option value="http://localhost:4000/docs/mapred.html">Using in MapRed</option>
     
   
     
@@ -498,7 +498,7 @@
     
   
     
-      <option value="/docs/mapreduce.html">Using in MapReduce</option>
+      <option value="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</option>
     
   
     
@@ -525,7 +525,7 @@
     
   
     
-      <option value="/docs/core-java.html">Using Core Java</option>
+      <option value="http://localhost:4000/docs/core-java.html">Using Core Java</option>
     
   
     
@@ -559,7 +559,7 @@
     
   
     
-      <option value="/docs/core-cpp.html">Using Core C++</option>
+      <option value="http://localhost:4000/docs/core-cpp.html">Using Core C++</option>
     
   
     
@@ -606,7 +606,7 @@
     
   
     
-      <option value="/docs/cpp-tools.html">C++ Tools</option>
+      <option value="http://localhost:4000/docs/cpp-tools.html">C++ Tools</option>
     
   
     
@@ -652,7 +652,7 @@
     
   
     
-      <option value="/docs/java-tools.html">Java Tools</option>
+      <option value="http://localhost:4000/docs/java-tools.html">Java Tools</option>
     
   
     
@@ -677,14 +677,14 @@
           <p>If your company or tool uses ORC, please let us know so that we can update
 this page.</p>
 
-<h3 id="apache-hadoophttpshadoopapacheorg"><a href="https://hadoop.apache.org/">Apache Hadoop</a></h3>
+<h3 id="apache-hadoop"><a href="https://hadoop.apache.org/">Apache Hadoop</a></h3>
 
 <p>ORC files have always supporting reading and writing from Hadoop’s MapReduce,
 but with the ORC 1.1.0 release it is now easier than ever without pulling in
 Hive’s exec jar and all of its dependencies. OrcStruct now also implements
 WritableComparable and can be serialized through the MapReduce shuffle.</p>
 
-<h3 id="apache-hivehttpshiveapacheorg"><a href="https://hive.apache.org/">Apache Hive</a></h3>
+<h3 id="apache-hive"><a href="https://hive.apache.org/">Apache Hive</a></h3>
 
 <p>Apache Hive was the original use case and home for ORC.  ORC’s strong
 type system, advanced compression, column projection, predicate push
@@ -692,25 +692,25 @@ down, and vectorization support make Hive <a href="https://hortonworks.com/blog/
 better</a>
 than any other format for your data.</p>
 
-<h3 id="apache-nifihttpsnifiapacheorg"><a href="https://nifi.apache.org/">Apache Nifi</a></h3>
+<h3 id="apache-nifi"><a href="https://nifi.apache.org/">Apache Nifi</a></h3>
 
 <p>Apache Nifi is <a href="https://issues.apache.org/jira/browse/NIFI-1663">adding
 support</a> for writing
 ORC files.</p>
 
-<h3 id="apache-pighttpspigapacheorg"><a href="https://pig.apache.org/">Apache Pig</a></h3>
+<h3 id="apache-pig"><a href="https://pig.apache.org/">Apache Pig</a></h3>
 
 <p>Apache Pig added support for reading and writing ORC files in <a href="https://hortonworks.com/blog/announcing-apache-pig-0-14-0/">Pig
 14.0</a>.</p>
 
-<h3 id="apache-sparkhttpssparkapacheorg"><a href="https://spark.apache.org/">Apache Spark</a></h3>
+<h3 id="apache-spark"><a href="https://spark.apache.org/">Apache Spark</a></h3>
 
 <p>Apache Spark has <a href="https://hortonworks.com/blog/bringing-orc-support-into-apache-spark/">added
 support</a>
 for reading and writing ORC files with support for column project and
 predicate push down.</p>
 
-<h3 id="eelhttpsgithubcom51zeroeel-sdk"><a href="https://github.com/51zero/eel-sdk">EEL</a></h3>
+<h3 id="eel"><a href="https://github.com/51zero/eel-sdk">EEL</a></h3>
 
 <p>EEL is a Scala BigData API that supports reading and writing data for
 various file formats and storage systems including to and from ORC. It
@@ -723,23 +723,23 @@ complex types such as maps, lists or nested structs. A typical use
 case would be to extract data from JDBC to ORC files housed in HDFS,
 or directly into Hive tables backed by an ORC file format.</p>
 
-<h3 id="facebookhttpsfacebookcom"><a href="https://facebook.com">Facebook</a></h3>
+<h3 id="facebook"><a href="https://facebook.com">Facebook</a></h3>
 
 <p>With more than 300 PB of data, Facebook was an <a href="https://code.facebook.com/posts/229861827208629/scaling-the-facebook-data-warehouse-to-300-pb/">early adopter of
 ORC</a> and quickly put it into production.</p>
 
-<h3 id="prestohttpsprestodbio"><a href="https://prestodb.io/">Presto</a></h3>
+<h3 id="presto"><a href="https://prestodb.io/">Presto</a></h3>
 
 <p>The Presto team has done a lot of work <a href="https://code.facebook.com/posts/370832626374903/even-faster-data-at-the-speed-of-presto-orc/">integrating
 ORC</a> into their SQL engine.</p>
 
-<h3 id="timberhttpstimberio"><a href="https://timber.io/">Timber</a></h3>
+<h3 id="timber"><a href="https://timber.io/">Timber</a></h3>
 
 <p>Timber adopted ORC for it’s S3 based logging platform that stores
 petabytes of log data. ORC has been key in ensuring a fast,
 cost-effective strategy for persisting and querying that data.</p>
 
-<h3 id="verticahttpwww8hpcomusensoftware-solutionsadvanced-sql-big-data-analytics"><a href="http://www8.hp.com/us/en/software-solutions/advanced-sql-big-data-analytics/">Vertica</a></h3>
+<h3 id="vertica"><a href="http://www8.hp.com/us/en/software-solutions/advanced-sql-big-data-analytics/">Vertica</a></h3>
 
 <p>HPE Vertica has contributed significantly to the ORC C++ library. ORC
 is a significant part of Vertica SQL-on-Hadoop (VSQLoH) which brings
@@ -790,8 +790,6 @@ Analytic Database to the Hadoop ecosystem.</p>
   
 
   
-    
-  
 
   
     
@@ -811,29 +809,25 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/index.html">Background</a></li>
+      <li class=""><a href="http://localhost:4000/docs/index.html">Background</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
   
     
-      <li class="current"><a href="/docs/adopters.html">ORC Adopters</a></li>
+      <li class="current"><a href="http://localhost:4000/docs/adopters.html">ORC Adopters</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -865,15 +859,13 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/types.html">Types</a></li>
+      <li class=""><a href="http://localhost:4000/docs/types.html">Types</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -895,19 +887,17 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/indexes.html">Indexes</a></li>
+      <li class=""><a href="http://localhost:4000/docs/indexes.html">Indexes</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
-      <li class=""><a href="/docs/acid.html">ACID support</a></li>
+      <li class=""><a href="http://localhost:4000/docs/acid.html">ACID support</a></li>
       
 
 
@@ -922,8 +912,6 @@ Analytic Database to the Hadoop ecosystem.</p>
   
 
   
-    
-  
 
   
     
@@ -931,15 +919,13 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/building.html">Building ORC</a></li>
+      <li class=""><a href="http://localhost:4000/docs/building.html">Building ORC</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -969,7 +955,7 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/releases.html">Releases</a></li>
+      <li class=""><a href="http://localhost:4000/docs/releases.html">Releases</a></li>
       
 
 
@@ -984,8 +970,6 @@ Analytic Database to the Hadoop ecosystem.</p>
   
 
   
-    
-  
 
   
     
@@ -1003,15 +987,13 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/hive-ddl.html">Hive DDL</a></li>
+      <li class=""><a href="http://localhost:4000/docs/hive-ddl.html">Hive DDL</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1027,7 +1009,7 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/hive-config.html">Hive Configuration</a></li>
+      <li class=""><a href="http://localhost:4000/docs/hive-config.html">Hive Configuration</a></li>
       
 
 
@@ -1042,8 +1024,6 @@ Analytic Database to the Hadoop ecosystem.</p>
   
 
   
-    
-  
 
   
     
@@ -1069,15 +1049,13 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/mapred.html">Using in MapRed</a></li>
+      <li class=""><a href="http://localhost:4000/docs/mapred.html">Using in MapRed</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1105,7 +1083,7 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/mapreduce.html">Using in MapReduce</a></li>
+      <li class=""><a href="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</a></li>
       
 
 
@@ -1120,8 +1098,6 @@ Analytic Database to the Hadoop ecosystem.</p>
   
 
   
-    
-  
 
   
     
@@ -1133,15 +1109,13 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/core-java.html">Using Core Java</a></li>
+      <li class=""><a href="http://localhost:4000/docs/core-java.html">Using Core Java</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1151,7 +1125,7 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/core-cpp.html">Using Core C++</a></li>
+      <li class=""><a href="http://localhost:4000/docs/core-cpp.html">Using Core C++</a></li>
       
 
 
@@ -1166,8 +1140,6 @@ Analytic Database to the Hadoop ecosystem.</p>
   
 
   
-    
-  
 
   
     
@@ -1181,15 +1153,13 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/cpp-tools.html">C++ Tools</a></li>
+      <li class=""><a href="http://localhost:4000/docs/cpp-tools.html">C++ Tools</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1213,7 +1183,7 @@ Analytic Database to the Hadoop ecosystem.</p>
     
   
     
-      <li class=""><a href="/docs/java-tools.html">Java Tools</a></li>
+      <li class=""><a href="http://localhost:4000/docs/java-tools.html">Java Tools</a></li>
       
 
 

http://git-wip-us.apache.org/repos/asf/orc/blob/e58d3fc4/docs/building.html
----------------------------------------------------------------------
diff --git a/docs/building.html b/docs/building.html
index 378f541..befaa9b 100644
--- a/docs/building.html
+++ b/docs/building.html
@@ -4,7 +4,7 @@
   <meta charset="UTF-8">
   <title>Building ORC</title>
   <meta name="viewport" content="width=device-width,initial-scale=1">
-  <meta name="generator" content="Jekyll v2.4.0">
+  <meta name="generator" content="Jekyll v3.7.3">
   <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
   <link rel="stylesheet" href="/css/screen.css">
   <link rel="icon" type="image/x-icon" href="/favicon.ico">
@@ -109,7 +109,7 @@
     
   
     
-      <option value="/docs/index.html">Background</option>
+      <option value="http://localhost:4000/docs/index.html">Background</option>
     
   
     
@@ -131,7 +131,7 @@
     
   
     
-      <option value="/docs/adopters.html">ORC Adopters</option>
+      <option value="http://localhost:4000/docs/adopters.html">ORC Adopters</option>
     
   
     
@@ -193,7 +193,7 @@
     
   
     
-      <option value="/docs/types.html">Types</option>
+      <option value="http://localhost:4000/docs/types.html">Types</option>
     
   
 
@@ -219,7 +219,7 @@
     
   
     
-      <option value="/docs/indexes.html">Indexes</option>
+      <option value="http://localhost:4000/docs/indexes.html">Indexes</option>
     
   
     
@@ -237,7 +237,7 @@
 
   
     
-      <option value="/docs/acid.html">ACID support</option>
+      <option value="http://localhost:4000/docs/acid.html">ACID support</option>
     
   
     
@@ -284,7 +284,7 @@
     
   
     
-      <option value="/docs/building.html">Building ORC</option>
+      <option value="http://localhost:4000/docs/building.html">Building ORC</option>
     
   
     
@@ -342,7 +342,7 @@
     
   
     
-      <option value="/docs/releases.html">Releases</option>
+      <option value="http://localhost:4000/docs/releases.html">Releases</option>
     
   
     
@@ -373,7 +373,7 @@
     
   
     
-      <option value="/docs/hive-ddl.html">Hive DDL</option>
+      <option value="http://localhost:4000/docs/hive-ddl.html">Hive DDL</option>
     
   
     
@@ -407,7 +407,7 @@
     
   
     
-      <option value="/docs/hive-config.html">Hive Configuration</option>
+      <option value="http://localhost:4000/docs/hive-config.html">Hive Configuration</option>
     
   
     
@@ -460,7 +460,7 @@
     
   
     
-      <option value="/docs/mapred.html">Using in MapRed</option>
+      <option value="http://localhost:4000/docs/mapred.html">Using in MapRed</option>
     
   
     
@@ -498,7 +498,7 @@
     
   
     
-      <option value="/docs/mapreduce.html">Using in MapReduce</option>
+      <option value="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</option>
     
   
     
@@ -525,7 +525,7 @@
     
   
     
-      <option value="/docs/core-java.html">Using Core Java</option>
+      <option value="http://localhost:4000/docs/core-java.html">Using Core Java</option>
     
   
     
@@ -559,7 +559,7 @@
     
   
     
-      <option value="/docs/core-cpp.html">Using Core C++</option>
+      <option value="http://localhost:4000/docs/core-cpp.html">Using Core C++</option>
     
   
     
@@ -606,7 +606,7 @@
     
   
     
-      <option value="/docs/cpp-tools.html">C++ Tools</option>
+      <option value="http://localhost:4000/docs/cpp-tools.html">C++ Tools</option>
     
   
     
@@ -652,7 +652,7 @@
     
   
     
-      <option value="/docs/java-tools.html">Java Tools</option>
+      <option value="http://localhost:4000/docs/java-tools.html">Java Tools</option>
     
   
     
@@ -710,14 +710,14 @@ is in the docker subdirectory, for the list of packages required to build ORC:</
 
 <p>To build a normal release:</p>
 
-<pre><code class="language-shell">% mkdir build
-% cd build
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% mkdir build
+% <span class="nb">cd </span>build
 % cmake ..
 % make package test-out
-</code></pre>
+</code></pre></div></div>
 
 <p>ORC’s C++ build supports three build types, which are controlled by adding
-<code>-DCMAKE_BUILD_TYPE=&lt;type&gt;</code> to the cmake command.</p>
+<code class="highlighter-rouge">-DCMAKE_BUILD_TYPE=&lt;type&gt;</code> to the cmake command.</p>
 
 <ul>
   <li><strong>RELWITHDEBINFO</strong> (default) - Optimized with debug information</li>
@@ -728,8 +728,8 @@ is in the docker subdirectory, for the list of packages required to build ORC:</
 <p>If your make command fails, it is useful to see the actual commands that make
 is invoking:</p>
 
-<pre><code class="language-shell">% make package test-out VERBOSE=1
-</code></pre>
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% make package test-out <span class="nv">VERBOSE</span><span class="o">=</span>1
+</code></pre></div></div>
 
 <h2 id="building-just-java">Building just Java</h2>
 
@@ -742,29 +742,29 @@ is invoking:</p>
 
 <p>To build:</p>
 
-<pre><code class="language-shell">% cd java
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% <span class="nb">cd </span>java
 % mvn package
-</code></pre>
+</code></pre></div></div>
 
 <h2 id="building-just-c">Building just C++</h2>
 
-<pre><code class="language-shell">% mkdir build
-% cd build
-% cmake .. -DBUILD_JAVA=OFF
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% mkdir build
+% <span class="nb">cd </span>build
+% cmake .. <span class="nt">-DBUILD_JAVA</span><span class="o">=</span>OFF
 % make package test-out
-</code></pre>
+</code></pre></div></div>
 
 <h2 id="specify-third-party-libraries-for-c-build">Specify third-party libraries for C++ build</h2>
 
-<pre><code class="language-shell">% mkdir build
-% cd build
-% cmake .. -DSNAPPY_HOME=&lt;PATH&gt; \
-           -DZLIB_HOME=&lt;PATH&gt; \
-           -DLZ4_HOME=&lt;PATH&gt; \
-           -DGTEST_HOME=&lt;PATH&gt; \
-           -DPROTOBUF_HOME=&lt;PATH&gt;
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% mkdir build
+% <span class="nb">cd </span>build
+% cmake .. <span class="nt">-DSNAPPY_HOME</span><span class="o">=</span>&lt;PATH&gt; <span class="se">\</span>
+           <span class="nt">-DZLIB_HOME</span><span class="o">=</span>&lt;PATH&gt; <span class="se">\</span>
+           <span class="nt">-DLZ4_HOME</span><span class="o">=</span>&lt;PATH&gt; <span class="se">\</span>
+           <span class="nt">-DGTEST_HOME</span><span class="o">=</span>&lt;PATH&gt; <span class="se">\</span>
+           <span class="nt">-DPROTOBUF_HOME</span><span class="o">=</span>&lt;PATH&gt;
 % make package test-out
-</code></pre>
+</code></pre></div></div>
 
           
 
@@ -822,8 +822,6 @@ is invoking:</p>
   
 
   
-    
-  
 
   
     
@@ -843,29 +841,25 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/index.html">Background</a></li>
+      <li class=""><a href="http://localhost:4000/docs/index.html">Background</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
   
     
-      <li class=""><a href="/docs/adopters.html">ORC Adopters</a></li>
+      <li class=""><a href="http://localhost:4000/docs/adopters.html">ORC Adopters</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -897,15 +891,13 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/types.html">Types</a></li>
+      <li class=""><a href="http://localhost:4000/docs/types.html">Types</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -927,19 +919,17 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/indexes.html">Indexes</a></li>
+      <li class=""><a href="http://localhost:4000/docs/indexes.html">Indexes</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
-      <li class=""><a href="/docs/acid.html">ACID support</a></li>
+      <li class=""><a href="http://localhost:4000/docs/acid.html">ACID support</a></li>
       
 
 
@@ -954,8 +944,6 @@ is invoking:</p>
   
 
   
-    
-  
 
   
     
@@ -963,15 +951,13 @@ is invoking:</p>
     
   
     
-      <li class="current"><a href="/docs/building.html">Building ORC</a></li>
+      <li class="current"><a href="http://localhost:4000/docs/building.html">Building ORC</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1001,7 +987,7 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/releases.html">Releases</a></li>
+      <li class=""><a href="http://localhost:4000/docs/releases.html">Releases</a></li>
       
 
 
@@ -1016,8 +1002,6 @@ is invoking:</p>
   
 
   
-    
-  
 
   
     
@@ -1035,15 +1019,13 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/hive-ddl.html">Hive DDL</a></li>
+      <li class=""><a href="http://localhost:4000/docs/hive-ddl.html">Hive DDL</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1059,7 +1041,7 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/hive-config.html">Hive Configuration</a></li>
+      <li class=""><a href="http://localhost:4000/docs/hive-config.html">Hive Configuration</a></li>
       
 
 
@@ -1074,8 +1056,6 @@ is invoking:</p>
   
 
   
-    
-  
 
   
     
@@ -1101,15 +1081,13 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/mapred.html">Using in MapRed</a></li>
+      <li class=""><a href="http://localhost:4000/docs/mapred.html">Using in MapRed</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1137,7 +1115,7 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/mapreduce.html">Using in MapReduce</a></li>
+      <li class=""><a href="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</a></li>
       
 
 
@@ -1152,8 +1130,6 @@ is invoking:</p>
   
 
   
-    
-  
 
   
     
@@ -1165,15 +1141,13 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/core-java.html">Using Core Java</a></li>
+      <li class=""><a href="http://localhost:4000/docs/core-java.html">Using Core Java</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1183,7 +1157,7 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/core-cpp.html">Using Core C++</a></li>
+      <li class=""><a href="http://localhost:4000/docs/core-cpp.html">Using Core C++</a></li>
       
 
 
@@ -1198,8 +1172,6 @@ is invoking:</p>
   
 
   
-    
-  
 
   
     
@@ -1213,15 +1185,13 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/cpp-tools.html">C++ Tools</a></li>
+      <li class=""><a href="http://localhost:4000/docs/cpp-tools.html">C++ Tools</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1245,7 +1215,7 @@ is invoking:</p>
     
   
     
-      <li class=""><a href="/docs/java-tools.html">Java Tools</a></li>
+      <li class=""><a href="http://localhost:4000/docs/java-tools.html">Java Tools</a></li>
       
 
 

http://git-wip-us.apache.org/repos/asf/orc/blob/e58d3fc4/docs/core-cpp.html
----------------------------------------------------------------------
diff --git a/docs/core-cpp.html b/docs/core-cpp.html
index ec31d6f..2f00682 100644
--- a/docs/core-cpp.html
+++ b/docs/core-cpp.html
@@ -4,7 +4,7 @@
   <meta charset="UTF-8">
   <title>Using Core C++</title>
   <meta name="viewport" content="width=device-width,initial-scale=1">
-  <meta name="generator" content="Jekyll v2.4.0">
+  <meta name="generator" content="Jekyll v3.7.3">
   <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
   <link rel="stylesheet" href="/css/screen.css">
   <link rel="icon" type="image/x-icon" href="/favicon.ico">
@@ -109,7 +109,7 @@
     
   
     
-      <option value="/docs/index.html">Background</option>
+      <option value="http://localhost:4000/docs/index.html">Background</option>
     
   
     
@@ -131,7 +131,7 @@
     
   
     
-      <option value="/docs/adopters.html">ORC Adopters</option>
+      <option value="http://localhost:4000/docs/adopters.html">ORC Adopters</option>
     
   
     
@@ -193,7 +193,7 @@
     
   
     
-      <option value="/docs/types.html">Types</option>
+      <option value="http://localhost:4000/docs/types.html">Types</option>
     
   
 
@@ -219,7 +219,7 @@
     
   
     
-      <option value="/docs/indexes.html">Indexes</option>
+      <option value="http://localhost:4000/docs/indexes.html">Indexes</option>
     
   
     
@@ -237,7 +237,7 @@
 
   
     
-      <option value="/docs/acid.html">ACID support</option>
+      <option value="http://localhost:4000/docs/acid.html">ACID support</option>
     
   
     
@@ -284,7 +284,7 @@
     
   
     
-      <option value="/docs/building.html">Building ORC</option>
+      <option value="http://localhost:4000/docs/building.html">Building ORC</option>
     
   
     
@@ -342,7 +342,7 @@
     
   
     
-      <option value="/docs/releases.html">Releases</option>
+      <option value="http://localhost:4000/docs/releases.html">Releases</option>
     
   
     
@@ -373,7 +373,7 @@
     
   
     
-      <option value="/docs/hive-ddl.html">Hive DDL</option>
+      <option value="http://localhost:4000/docs/hive-ddl.html">Hive DDL</option>
     
   
     
@@ -407,7 +407,7 @@
     
   
     
-      <option value="/docs/hive-config.html">Hive Configuration</option>
+      <option value="http://localhost:4000/docs/hive-config.html">Hive Configuration</option>
     
   
     
@@ -460,7 +460,7 @@
     
   
     
-      <option value="/docs/mapred.html">Using in MapRed</option>
+      <option value="http://localhost:4000/docs/mapred.html">Using in MapRed</option>
     
   
     
@@ -498,7 +498,7 @@
     
   
     
-      <option value="/docs/mapreduce.html">Using in MapReduce</option>
+      <option value="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</option>
     
   
     
@@ -525,7 +525,7 @@
     
   
     
-      <option value="/docs/core-java.html">Using Core Java</option>
+      <option value="http://localhost:4000/docs/core-java.html">Using Core Java</option>
     
   
     
@@ -559,7 +559,7 @@
     
   
     
-      <option value="/docs/core-cpp.html">Using Core C++</option>
+      <option value="http://localhost:4000/docs/core-cpp.html">Using Core C++</option>
     
   
     
@@ -606,7 +606,7 @@
     
   
     
-      <option value="/docs/cpp-tools.html">C++ Tools</option>
+      <option value="http://localhost:4000/docs/cpp-tools.html">C++ Tools</option>
     
   
     
@@ -652,7 +652,7 @@
     
   
     
-      <option value="/docs/java-tools.html">Java Tools</option>
+      <option value="http://localhost:4000/docs/java-tools.html">Java Tools</option>
     
   
     
@@ -681,23 +681,23 @@ orc::ColumnVectorBatch vectorized classes.</p>
 
 <p>Data is passed to ORC as instances of orc::ColumnVectorBatch
 that contain the data a batch of rows. The focus is on speed and
-accessing the data fields directly. <code>numElements</code> is the number
+accessing the data fields directly. <code class="highlighter-rouge">numElements</code> is the number
 of rows. ColumnVectorBatch is the parent type of the different
 kinds of columns and has some fields that are shared across
-all of the column types. In particular, the <code>hasNulls</code> flag
+all of the column types. In particular, the <code class="highlighter-rouge">hasNulls</code> flag
 if there is any null in this column for this batch. For columns
-where <code>hasNulls == true</code> the <code>notNull</code> buffer is false if that
+where <code class="highlighter-rouge">hasNulls == true</code> the <code class="highlighter-rouge">notNull</code> buffer is false if that
 value is null.</p>
 
-<pre><code class="language-cpp">namespace orc {
-  struct ColumnVectorBatch {
-    uint64_t numElements;
-    DataBuffer&lt;char&gt; notNull;
-    bool hasNulls;
-    ...
-  }
-}
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">namespace</span> <span class="n">orc</span> <span class="p">{</span>
+  <span class="k">struct</span> <span class="n">ColumnVectorBatch</span> <span class="p">{</span>
+    <span class="kt">uint64_t</span> <span class="n">numElements</span><span class="p">;</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">&gt;</span> <span class="n">notNull</span><span class="p">;</span>
+    <span class="kt">bool</span> <span class="n">hasNulls</span><span class="p">;</span>
+    <span class="p">...</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</code></pre></div></div>
 
 <p>The subtypes of ColumnVectorBatch are:</p>
 
@@ -788,11 +788,11 @@ value is null.</p>
 date, int, smallint, and tinyint). The data is represented as a
 buffer of int64_t where each value is sign-extended as necessary.</p>
 
-<pre><code class="language-cpp">  struct LongVectorBatch: public ColumnVectorBatch {
-    DataBuffer&lt;int64_t&gt; data;
-    ...
-  };
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="k">struct</span> <span class="n">LongVectorBatch</span><span class="o">:</span> <span class="k">public</span> <span class="n">ColumnVectorBatch</span> <span class="p">{</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">int64_t</span><span class="o">&gt;</span> <span class="n">data</span><span class="p">;</span>
+    <span class="p">...</span>
+  <span class="p">};</span>
+</code></pre></div></div>
 
 <p>TimestampVectorBatch handles timestamp values. The data is
 represented as two buffers of int64_t for seconds and nanoseconds
@@ -800,187 +800,187 @@ respectively. Note that we always assume data is in GMT timezone;
 therefore it is user’s responsibility to convert wall clock time
 from local timezone to GMT.</p>
 
-<pre><code class="language-cpp">  struct TimestampVectorBatch: public ColumnVectorBatch {
-    DataBuffer&lt;int64_t&gt; data;
-    DataBuffer&lt;int64_t&gt; nanoseconds;
-    ...
-  };
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="k">struct</span> <span class="n">TimestampVectorBatch</span><span class="o">:</span> <span class="k">public</span> <span class="n">ColumnVectorBatch</span> <span class="p">{</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">int64_t</span><span class="o">&gt;</span> <span class="n">data</span><span class="p">;</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">int64_t</span><span class="o">&gt;</span> <span class="n">nanoseconds</span><span class="p">;</span>
+    <span class="p">...</span>
+  <span class="p">};</span>
+</code></pre></div></div>
 
 <p>DoubleVectorBatch handles all of the floating point types
 (double, and float). The data is represented as a buffer of doubles.</p>
 
-<pre><code class="language-cpp">  struct DoubleVectorBatch: public ColumnVectorBatch {
-    DataBuffer&lt;double&gt; data;
-    ...
-  };
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="k">struct</span> <span class="n">DoubleVectorBatch</span><span class="o">:</span> <span class="k">public</span> <span class="n">ColumnVectorBatch</span> <span class="p">{</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">double</span><span class="o">&gt;</span> <span class="n">data</span><span class="p">;</span>
+    <span class="p">...</span>
+  <span class="p">};</span>
+</code></pre></div></div>
 
 <p>Decimal64VectorBatch handles decimal columns with precision no
 greater than 18. Decimal128VectorBatch handles the others. The data
 is represented as a buffer of int64_t and orc::Int128 respectively.</p>
 
-<pre><code class="language-cpp">  struct Decimal64VectorBatch: public ColumnVectorBatch {
-    DataBuffer&lt;int64_t&gt; values;
-    ...
-  };
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="k">struct</span> <span class="n">Decimal64VectorBatch</span><span class="o">:</span> <span class="k">public</span> <span class="n">ColumnVectorBatch</span> <span class="p">{</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">int64_t</span><span class="o">&gt;</span> <span class="n">values</span><span class="p">;</span>
+    <span class="p">...</span>
+  <span class="p">};</span>
 
-  struct Decimal128VectorBatch: public ColumnVectorBatch {
-    DataBuffer&lt;Int128&gt; values;
-    ...
-  };
-</code></pre>
+  <span class="k">struct</span> <span class="n">Decimal128VectorBatch</span><span class="o">:</span> <span class="k">public</span> <span class="n">ColumnVectorBatch</span> <span class="p">{</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="n">Int128</span><span class="o">&gt;</span> <span class="n">values</span><span class="p">;</span>
+    <span class="p">...</span>
+  <span class="p">};</span>
+</code></pre></div></div>
 
 <p>StringVectorBatch handles all of the binary types (binary,
 char, string, and varchar). The data is represented as a char* buffer,
 and a length buffer.</p>
 
-<pre><code class="language-cpp">  struct StringVectorBatch: public ColumnVectorBatch {
-    DataBuffer&lt;char*&gt; data;
-    DataBuffer&lt;int64_t&gt; length;
-    ...
-  };
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="k">struct</span> <span class="n">StringVectorBatch</span><span class="o">:</span> <span class="k">public</span> <span class="n">ColumnVectorBatch</span> <span class="p">{</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span> <span class="n">data</span><span class="p">;</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">int64_t</span><span class="o">&gt;</span> <span class="n">length</span><span class="p">;</span>
+    <span class="p">...</span>
+  <span class="p">};</span>
+</code></pre></div></div>
 
 <p>StructVectorBatch handles the struct columns and represents
-the data as a buffer of <code>ColumnVectorBatch</code>.</p>
+the data as a buffer of <code class="highlighter-rouge">ColumnVectorBatch</code>.</p>
 
-<pre><code class="language-cpp">  struct StructVectorBatch: public ColumnVectorBatch {
-    std::vector&lt;ColumnVectorBatch*&gt; fields;
-    ...
-  };
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="k">struct</span> <span class="n">StructVectorBatch</span><span class="o">:</span> <span class="k">public</span> <span class="n">ColumnVectorBatch</span> <span class="p">{</span>
+    <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="n">ColumnVectorBatch</span><span class="o">*&gt;</span> <span class="n">fields</span><span class="p">;</span>
+    <span class="p">...</span>
+  <span class="p">};</span>
+</code></pre></div></div>
 
-<p>UnionVectorBatch handles the union columns. It uses <code>tags</code>
-to indicate which subtype has the value and <code>offsets</code> indicates
+<p>UnionVectorBatch handles the union columns. It uses <code class="highlighter-rouge">tags</code>
+to indicate which subtype has the value and <code class="highlighter-rouge">offsets</code> indicates
 the offset in child batch of that subtype. A individual
-<code>ColumnVectorBatch</code> is used for each subtype.</p>
+<code class="highlighter-rouge">ColumnVectorBatch</code> is used for each subtype.</p>
 
-<pre><code class="language-cpp">  struct UnionVectorBatch: public ColumnVectorBatch {
-    DataBuffer&lt;unsigned char&gt; tags;
-    DataBuffer&lt;uint64_t&gt; offsets;
-    std::vector&lt;ColumnVectorBatch*&gt; children;
-    ...
-  };
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="k">struct</span> <span class="n">UnionVectorBatch</span><span class="o">:</span> <span class="k">public</span> <span class="n">ColumnVectorBatch</span> <span class="p">{</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">unsigned</span> <span class="kt">char</span><span class="o">&gt;</span> <span class="n">tags</span><span class="p">;</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">uint64_t</span><span class="o">&gt;</span> <span class="n">offsets</span><span class="p">;</span>
+    <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="n">ColumnVectorBatch</span><span class="o">*&gt;</span> <span class="n">children</span><span class="p">;</span>
+    <span class="p">...</span>
+  <span class="p">};</span>
+</code></pre></div></div>
 
 <p>ListVectorBatch handles the array columns and represents
 the data as a buffer of integers for the offsets and a
-<code>ColumnVectorBatch</code> for the children values.</p>
+<code class="highlighter-rouge">ColumnVectorBatch</code> for the children values.</p>
 
-<pre><code class="language-cpp">  struct ListVectorBatch: public ColumnVectorBatch {
-    DataBuffer&lt;int64_t&gt; offsets;
-    ORC_UNIQUE_PTR&lt;ColumnVectorBatch&gt; elements;
-    ...
-  };
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="k">struct</span> <span class="n">ListVectorBatch</span><span class="o">:</span> <span class="k">public</span> <span class="n">ColumnVectorBatch</span> <span class="p">{</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">int64_t</span><span class="o">&gt;</span> <span class="n">offsets</span><span class="p">;</span>
+    <span class="n">ORC_UNIQUE_PTR</span><span class="o">&lt;</span><span class="n">ColumnVectorBatch</span><span class="o">&gt;</span> <span class="n">elements</span><span class="p">;</span>
+    <span class="p">...</span>
+  <span class="p">};</span>
+</code></pre></div></div>
 
 <p>MapVectorBatch handles the map columns and represents the data
-as two arrays of integers for the offsets and two <code>ColumnVectorBatch</code>s
+as two arrays of integers for the offsets and two <code class="highlighter-rouge">ColumnVectorBatch</code>s
 for the keys and values.</p>
 
-<pre><code class="language-cpp">  struct MapVectorBatch: public ColumnVectorBatch {
-    DataBuffer&lt;int64_t&gt; offsets;
-    ORC_UNIQUE_PTR&lt;ColumnVectorBatch&gt; keys;
-    ORC_UNIQUE_PTR&lt;ColumnVectorBatch&gt; elements;
-    ...
-  };
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="k">struct</span> <span class="n">MapVectorBatch</span><span class="o">:</span> <span class="k">public</span> <span class="n">ColumnVectorBatch</span> <span class="p">{</span>
+    <span class="n">DataBuffer</span><span class="o">&lt;</span><span class="kt">int64_t</span><span class="o">&gt;</span> <span class="n">offsets</span><span class="p">;</span>
+    <span class="n">ORC_UNIQUE_PTR</span><span class="o">&lt;</span><span class="n">ColumnVectorBatch</span><span class="o">&gt;</span> <span class="n">keys</span><span class="p">;</span>
+    <span class="n">ORC_UNIQUE_PTR</span><span class="o">&lt;</span><span class="n">ColumnVectorBatch</span><span class="o">&gt;</span> <span class="n">elements</span><span class="p">;</span>
+    <span class="p">...</span>
+  <span class="p">};</span>
+</code></pre></div></div>
 
 <h2 id="writing-orc-files">Writing ORC Files</h2>
 
-<p>To write an ORC file, you need to include <code>OrcFile.hh</code> and define
-the schema; then use <code>orc::OutputStream</code> and <code>orc::WriterOptions</code>
-to create a <code>orc::Writer</code> with the desired filename. This example
+<p>To write an ORC file, you need to include <code class="highlighter-rouge">OrcFile.hh</code> and define
+the schema; then use <code class="highlighter-rouge">orc::OutputStream</code> and <code class="highlighter-rouge">orc::WriterOptions</code>
+to create a <code class="highlighter-rouge">orc::Writer</code> with the desired filename. This example
 sets the required schema parameter, but there are many other
 options to control the ORC writer.</p>
 
-<pre><code class="language-cpp">ORC_UNIQUE_PTR&lt;OutputStream&gt; outStream =
-  writeLocalFile("my-file.orc");
-ORC_UNIQUE_PTR&lt;Type&gt; schema(
-  Type::buildTypeFromString("struct&lt;x:int,y:int&gt;"));
-WriterOptions options;
-ORC_UNIQUE_PTR&lt;Writer&gt; writer =
-  createWriter(*schema, outStream.get(), options);
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">ORC_UNIQUE_PTR</span><span class="o">&lt;</span><span class="n">OutputStream</span><span class="o">&gt;</span> <span class="n">outStream</span> <span class="o">=</span>
+  <span class="n">writeLocalFile</span><span class="p">(</span><span class="s">"my-file.orc"</span><span class="p">);</span>
+<span class="n">ORC_UNIQUE_PTR</span><span class="o">&lt;</span><span class="n">Type</span><span class="o">&gt;</span> <span class="n">schema</span><span class="p">(</span>
+  <span class="n">Type</span><span class="o">::</span><span class="n">buildTypeFromString</span><span class="p">(</span><span class="s">"struct&lt;x:int,y:int&gt;"</span><span class="p">));</span>
+<span class="n">WriterOptions</span> <span class="n">options</span><span class="p">;</span>
+<span class="n">ORC_UNIQUE_PTR</span><span class="o">&lt;</span><span class="n">Writer</span><span class="o">&gt;</span> <span class="n">writer</span> <span class="o">=</span>
+  <span class="n">createWriter</span><span class="p">(</span><span class="o">*</span><span class="n">schema</span><span class="p">,</span> <span class="n">outStream</span><span class="p">.</span><span class="n">get</span><span class="p">(),</span> <span class="n">options</span><span class="p">);</span>
+</code></pre></div></div>
 
 <p>Now you need to create a row batch, set the data, and write it to the file
-as the batch fills up. When the file is done, close the <code>Writer</code>.</p>
-
-<pre><code class="language-cpp">uint64_t batchSize = 1024, rowCount = 10000;
-ORC_UNIQUE_PTR&lt;ColumnVectorBatch&gt; batch =
-  writer-&gt;createRowBatch(batchSize);
-StructVectorBatch *root =
-  dynamic_cast&lt;StructVectorBatch *&gt;(batch.get());
-LongVectorBatch *x =
-  dynamic_cast&lt;LongVectorBatch *&gt;(root-&gt;fields[0]);
-LongVectorBatch *y =
-  dynamic_cast&lt;LongVectorBatch *&gt;(root-&gt;fields[1]);
-
-uint64_t rows = 0;
-for (uint64_t i = 0; i &lt; rowCount; ++i) {
-  x-&gt;data[rows] = i;
-  y-&gt;data[rows] = i * 3;
-  rows++;
-
-  if (rows == batchSize) {
-    root-&gt;numElements = rows;
-    x-&gt;numElements = rows;
-    y-&gt;numElements = rows;
-
-    writer-&gt;add(*batch);
-    rows = 0;
-  }
-}
-
-if (rows != 0) {
-  root-&gt;numElements = rows;
-  x-&gt;numElements = rows;
-  y-&gt;numElements = rows;
-
-  writer-&gt;add(*batch);
-  rows = 0;
-}
-
-writer-&gt;close();
-</code></pre>
+as the batch fills up. When the file is done, close the <code class="highlighter-rouge">Writer</code>.</p>
+
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">uint64_t</span> <span class="n">batchSize</span> <span class="o">=</span> <span class="mi">1024</span><span class="p">,</span> <span class="n">rowCount</span> <span class="o">=</span> <span class="mi">10000</span><span class="p">;</span>
+<span class="n">ORC_UNIQUE_PTR</span><span class="o">&lt;</span><span class="n">ColumnVectorBatch</span><span class="o">&gt;</span> <span class="n">batch</span> <span class="o">=</span>
+  <span class="n">writer</span><span class="o">-&gt;</span><span class="n">createRowBatch</span><span class="p">(</span><span class="n">batchSize</span><span class="p">);</span>
+<span class="n">StructVectorBatch</span> <span class="o">*</span><span class="n">root</span> <span class="o">=</span>
+  <span class="k">dynamic_cast</span><span class="o">&lt;</span><span class="n">StructVectorBatch</span> <span class="o">*&gt;</span><span class="p">(</span><span class="n">batch</span><span class="p">.</span><span class="n">get</span><span class="p">());</span>
+<span class="n">LongVectorBatch</span> <span class="o">*</span><span class="n">x</span> <span class="o">=</span>
+  <span class="k">dynamic_cast</span><span class="o">&lt;</span><span class="n">LongVectorBatch</span> <span class="o">*&gt;</span><span class="p">(</span><span class="n">root</span><span class="o">-&gt;</span><span class="n">fields</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span>
+<span class="n">LongVectorBatch</span> <span class="o">*</span><span class="n">y</span> <span class="o">=</span>
+  <span class="k">dynamic_cast</span><span class="o">&lt;</span><span class="n">LongVectorBatch</span> <span class="o">*&gt;</span><span class="p">(</span><span class="n">root</span><span class="o">-&gt;</span><span class="n">fields</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
+
+<span class="kt">uint64_t</span> <span class="n">rows</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<span class="k">for</span> <span class="p">(</span><span class="kt">uint64_t</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">rowCount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">x</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">[</span><span class="n">rows</span><span class="p">]</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+  <span class="n">y</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">[</span><span class="n">rows</span><span class="p">]</span> <span class="o">=</span> <span class="n">i</span> <span class="o">*</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="n">rows</span><span class="o">++</span><span class="p">;</span>
+
+  <span class="k">if</span> <span class="p">(</span><span class="n">rows</span> <span class="o">==</span> <span class="n">batchSize</span><span class="p">)</span> <span class="p">{</span>
+    <span class="n">root</span><span class="o">-&gt;</span><span class="n">numElements</span> <span class="o">=</span> <span class="n">rows</span><span class="p">;</span>
+    <span class="n">x</span><span class="o">-&gt;</span><span class="n">numElements</span> <span class="o">=</span> <span class="n">rows</span><span class="p">;</span>
+    <span class="n">y</span><span class="o">-&gt;</span><span class="n">numElements</span> <span class="o">=</span> <span class="n">rows</span><span class="p">;</span>
+
+    <span class="n">writer</span><span class="o">-&gt;</span><span class="n">add</span><span class="p">(</span><span class="o">*</span><span class="n">batch</span><span class="p">);</span>
+    <span class="n">rows</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+
+<span class="k">if</span> <span class="p">(</span><span class="n">rows</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">root</span><span class="o">-&gt;</span><span class="n">numElements</span> <span class="o">=</span> <span class="n">rows</span><span class="p">;</span>
+  <span class="n">x</span><span class="o">-&gt;</span><span class="n">numElements</span> <span class="o">=</span> <span class="n">rows</span><span class="p">;</span>
+  <span class="n">y</span><span class="o">-&gt;</span><span class="n">numElements</span> <span class="o">=</span> <span class="n">rows</span><span class="p">;</span>
+
+  <span class="n">writer</span><span class="o">-&gt;</span><span class="n">add</span><span class="p">(</span><span class="o">*</span><span class="n">batch</span><span class="p">);</span>
+  <span class="n">rows</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<span class="p">}</span>
+
+<span class="n">writer</span><span class="o">-&gt;</span><span class="n">close</span><span class="p">();</span>
+</code></pre></div></div>
 
 <h2 id="reading-orc-files">Reading ORC Files</h2>
 
-<p>To read ORC files, include <code>OrcFile.hh</code> file to create a <code>orc::Reader</code>
+<p>To read ORC files, include <code class="highlighter-rouge">OrcFile.hh</code> file to create a <code class="highlighter-rouge">orc::Reader</code>
 that contains the metadata about the file. There are a few options to
-the <code>orc::Reader</code>, but far fewer than the writer and none of them are
+the <code class="highlighter-rouge">orc::Reader</code>, but far fewer than the writer and none of them are
 required. The reader has methods for getting the number of rows,
 schema, compression, etc. from the file.</p>
 
-<pre><code class="language-cpp">ORC_UNIQUE_PTR&lt;InputStream&gt; inStream =
-  readLocalFile("my-file.orc");
-ReaderOptions options;
-ORC_UNIQUE_PTR&lt;Reader&gt; reader =
-  createReader(inStream, options);
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">ORC_UNIQUE_PTR</span><span class="o">&lt;</span><span class="n">InputStream</span><span class="o">&gt;</span> <span class="n">inStream</span> <span class="o">=</span>
+  <span class="n">readLocalFile</span><span class="p">(</span><span class="s">"my-file.orc"</span><span class="p">);</span>
+<span class="n">ReaderOptions</span> <span class="n">options</span><span class="p">;</span>
+<span class="n">ORC_UNIQUE_PTR</span><span class="o">&lt;</span><span class="n">Reader</span><span class="o">&gt;</span> <span class="n">reader</span> <span class="o">=</span>
+  <span class="n">createReader</span><span class="p">(</span><span class="n">inStream</span><span class="p">,</span> <span class="n">options</span><span class="p">);</span>
+</code></pre></div></div>
 
-<p>To get the data, create a <code>orc::RowReader</code> object. By default,
+<p>To get the data, create a <code class="highlighter-rouge">orc::RowReader</code> object. By default,
 the RowReader reads all rows and all columns, but there are
 options to control the data that is read.</p>
 
-<pre><code class="language-cpp">RowReaderOptions rowReaderOptions;
-ORC_UNIQUE_PTR&lt;RowReader&gt; rowReader =
-  reader-&gt;createRowReader(rowReaderOptions);
-ORC_UNIQUE_PTR&lt;ColumnVectorBatch&gt; batch =
-  rowReader-&gt;createRowBatch(1024);
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">RowReaderOptions</span> <span class="n">rowReaderOptions</span><span class="p">;</span>
+<span class="n">ORC_UNIQUE_PTR</span><span class="o">&lt;</span><span class="n">RowReader</span><span class="o">&gt;</span> <span class="n">rowReader</span> <span class="o">=</span>
+  <span class="n">reader</span><span class="o">-&gt;</span><span class="n">createRowReader</span><span class="p">(</span><span class="n">rowReaderOptions</span><span class="p">);</span>
+<span class="n">ORC_UNIQUE_PTR</span><span class="o">&lt;</span><span class="n">ColumnVectorBatch</span><span class="o">&gt;</span> <span class="n">batch</span> <span class="o">=</span>
+  <span class="n">rowReader</span><span class="o">-&gt;</span><span class="n">createRowBatch</span><span class="p">(</span><span class="mi">1024</span><span class="p">);</span>
+</code></pre></div></div>
 
-<p>With a <code>orc::RowReader</code> the user can ask for the next batch until there
+<p>With a <code class="highlighter-rouge">orc::RowReader</code> the user can ask for the next batch until there
 are no more left. The reader will stop the batch at certain boundaries,
 so the returned batch may not be full, but it will always contain some rows.</p>
 
-<pre><code class="language-cpp">while (rowReader-&gt;next(*batch)) {
-  for (uint64_t r = 0; r &lt; batch-&gt;numElements; ++r) {
-    ... process row r from batch
-  }
-}
-</code></pre>
+<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">while</span> <span class="p">(</span><span class="n">rowReader</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">(</span><span class="o">*</span><span class="n">batch</span><span class="p">))</span> <span class="p">{</span>
+  <span class="k">for</span> <span class="p">(</span><span class="kt">uint64_t</span> <span class="n">r</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">r</span> <span class="o">&lt;</span> <span class="n">batch</span><span class="o">-&gt;</span><span class="n">numElements</span><span class="p">;</span> <span class="o">++</span><span class="n">r</span><span class="p">)</span> <span class="p">{</span>
+    <span class="p">...</span> <span class="n">process</span> <span class="n">row</span> <span class="n">r</span> <span class="n">from</span> <span class="n">batch</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</code></pre></div></div>
 
           
 
@@ -1059,8 +1059,6 @@ so the returned batch may not be full, but it will always contain some rows.</p>
   
 
   
-    
-  
 
   
     
@@ -1080,29 +1078,25 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/index.html">Background</a></li>
+      <li class=""><a href="http://localhost:4000/docs/index.html">Background</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
   
     
-      <li class=""><a href="/docs/adopters.html">ORC Adopters</a></li>
+      <li class=""><a href="http://localhost:4000/docs/adopters.html">ORC Adopters</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1134,15 +1128,13 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/types.html">Types</a></li>
+      <li class=""><a href="http://localhost:4000/docs/types.html">Types</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1164,19 +1156,17 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/indexes.html">Indexes</a></li>
+      <li class=""><a href="http://localhost:4000/docs/indexes.html">Indexes</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
-      <li class=""><a href="/docs/acid.html">ACID support</a></li>
+      <li class=""><a href="http://localhost:4000/docs/acid.html">ACID support</a></li>
       
 
 
@@ -1191,8 +1181,6 @@ so the returned batch may not be full, but it will always contain some rows.</p>
   
 
   
-    
-  
 
   
     
@@ -1200,15 +1188,13 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/building.html">Building ORC</a></li>
+      <li class=""><a href="http://localhost:4000/docs/building.html">Building ORC</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1238,7 +1224,7 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/releases.html">Releases</a></li>
+      <li class=""><a href="http://localhost:4000/docs/releases.html">Releases</a></li>
       
 
 
@@ -1253,8 +1239,6 @@ so the returned batch may not be full, but it will always contain some rows.</p>
   
 
   
-    
-  
 
   
     
@@ -1272,15 +1256,13 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/hive-ddl.html">Hive DDL</a></li>
+      <li class=""><a href="http://localhost:4000/docs/hive-ddl.html">Hive DDL</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1296,7 +1278,7 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/hive-config.html">Hive Configuration</a></li>
+      <li class=""><a href="http://localhost:4000/docs/hive-config.html">Hive Configuration</a></li>
       
 
 
@@ -1311,8 +1293,6 @@ so the returned batch may not be full, but it will always contain some rows.</p>
   
 
   
-    
-  
 
   
     
@@ -1338,15 +1318,13 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/mapred.html">Using in MapRed</a></li>
+      <li class=""><a href="http://localhost:4000/docs/mapred.html">Using in MapRed</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1374,7 +1352,7 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/mapreduce.html">Using in MapReduce</a></li>
+      <li class=""><a href="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</a></li>
       
 
 
@@ -1389,8 +1367,6 @@ so the returned batch may not be full, but it will always contain some rows.</p>
   
 
   
-    
-  
 
   
     
@@ -1402,15 +1378,13 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/core-java.html">Using Core Java</a></li>
+      <li class=""><a href="http://localhost:4000/docs/core-java.html">Using Core Java</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1420,7 +1394,7 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class="current"><a href="/docs/core-cpp.html">Using Core C++</a></li>
+      <li class="current"><a href="http://localhost:4000/docs/core-cpp.html">Using Core C++</a></li>
       
 
 
@@ -1435,8 +1409,6 @@ so the returned batch may not be full, but it will always contain some rows.</p>
   
 
   
-    
-  
 
   
     
@@ -1450,15 +1422,13 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/cpp-tools.html">C++ Tools</a></li>
+      <li class=""><a href="http://localhost:4000/docs/cpp-tools.html">C++ Tools</a></li>
       
 
 
   
 
   
-    
-  
 
   
     
@@ -1482,7 +1452,7 @@ so the returned batch may not be full, but it will always contain some rows.</p>
     
   
     
-      <li class=""><a href="/docs/java-tools.html">Java Tools</a></li>
+      <li class=""><a href="http://localhost:4000/docs/java-tools.html">Java Tools</a></li>