<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="impala_vars">
  <title>Impala Variables</title>
  <prolog id="prolog_slg_nmv_km">
    <metadata id="metadata_ecq_qmv_km">
      <prodinfo audience="PDF" id="prodinfo_for_html">
        <prodname>Impala</prodname>
        <vrmlist>
          <vrm version="Impala 3.4.x"/>
        </vrmlist>
      </prodinfo>
      <prodinfo audience="HTML" id="prodinfo_for_pdf">
        <prodname></prodname>
        <vrmlist>
          <vrm version="Impala 3.4.x"/>
        </vrmlist>
      </prodinfo>
    </metadata>
  </prolog>
  <conbody>
    <p>Substitution variables for denoting features available in release X or higher.
       The upstream docs can refer to the Impala release number.
       The docs included with a distro can refer to the distro release number by
       editing the values here.
       <ul>
        <li><ph id="impala34">Impala 3.4</ph></li>
        <li><ph id="impala33">Impala 3.3</ph></li>
        <li><ph id="impala32">Impala 3.2</ph></li>
        <li><ph id="impala31">Impala 3.1</ph></li>
        <li><ph id="impala30">Impala 3.0</ph></li>
        <li><ph id="impala28">Impala 2.8</ph></li>
        <li><ph id="impala27">Impala 2.7</ph></li>
        <li><ph id="impala26">Impala 2.6</ph></li>
        <li><ph id="impala25">Impala 2.5</ph></li>
        <li><ph id="impala24">Impala 2.4</ph></li>
        <li><ph id="impala23">Impala 2.3</ph></li>
        <li><ph id="impala22">Impala 2.2</ph></li>
        <li><ph id="impala21">Impala 2.1</ph></li>
        <li><ph id="impala20">Impala 2.0</ph></li>
        <li><ph id="impala14">Impala 1.4</ph></li>
        <li><ph id="impala13">Impala 1.3</ph></li>
      </ul>
    </p>
    <p>Release Version Variable - <ph id="ReleaseVersion">Impala 3.4.x</ph></p>
    <p>Banner for examples showing shell version -<ph id="ShellBanner">(Shell
      build version: Impala Shell v3.4.x (<varname>hash</varname>) built on
      <varname>date</varname>)</ph></p>
    <p>Banner for examples showing impalad version -<ph id="ImpaladBanner">Server version: impalad version 3.4.x (build
      x.y.z)</ph></p>
    <data name="version-message" id="version-message">
      <foreign>
        <lines xml:space="preserve">This is the documentation for <data name="version"/>.</lines>
      </foreign>
    </data>
  </conbody>
</concept>
