<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.db2-statistics" xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>db2_statistics</refname>
  <refpurpose>
   Returns a result set listing the index and statistics for a table
  </refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>resource</type><methodname>db2_statistics</methodname>
   <methodparam><type>resource</type><parameter>connection</parameter></methodparam>
   <methodparam><type class="union"><type>string</type><type>null</type></type><parameter>qualifier</parameter></methodparam>
   <methodparam><type class="union"><type>string</type><type>null</type></type><parameter>schema</parameter></methodparam>
   <methodparam><type>string</type><parameter>table_name</parameter></methodparam>
   <methodparam><type>bool</type><parameter>unique</parameter></methodparam>
  </methodsynopsis>

  <para>
   Returns a result set listing the index and statistics for a table.
  </para>

 </refsect1>
 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>connection</parameter></term>
     <listitem>
      <para>
       A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
      </para>
     </listitem>
     </varlistentry>
    <varlistentry>
     <term><parameter>qualifier</parameter></term>
     <listitem>
      <para>
       A qualifier for DB2 databases running on OS/390 or z/OS servers. For
       other databases, pass &null; or an empty string.
      </para>
     </listitem>
     </varlistentry>
    <varlistentry>
     <term><parameter>schema</parameter></term>
     <listitem>
      <para>
       The schema that contains the targeted table. If this parameter is
       &null;, the statistics and indexes are returned for the schema of the
       current user.
      </para>
     </listitem>
     </varlistentry>
    <varlistentry>
     <term><parameter>table_name</parameter></term>
     <listitem>
      <para>
       The name of the table.
      </para>
     </listitem>
     </varlistentry>
    <varlistentry>
     <term><parameter>unique</parameter></term>
     <listitem>
      <para>
       When <parameter>unique</parameter> is &true;, the information for all
       indexes in the table are returned.
       Otherwise, only the information for unique indexes in the table are
       returned.
      </para>
     </listitem>
     </varlistentry>
   </variablelist>
  </para>
 </refsect1>
 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   Returns a statement resource with a result set containing rows describing
   the statistics and indexes for the base tables matching the specified
   parameters. The rows are composed of the following columns:
   <informaltable>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>Column name</entry>
       <entry>Description</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>TABLE_CAT</entry>
       <entry>The catalog that contains the table. The value is &null; if
       this table does not have catalogs.</entry>
      </row>
      <row>
       <entry>TABLE_SCHEM</entry>
       <entry>Name of the schema that contains the table.</entry>
      </row>
      <row>
       <entry>TABLE_NAME</entry>
       <entry>Name of the table.</entry>
      </row>
      <row>
       <entry>NON_UNIQUE</entry>
       <entry>
        <para>
         An integer value representing whether the index prohibits unique
         values, or whether the row represents statistics on the table itself:
         <informaltable>
          <tgroup cols="2">
           <thead>
            <row>
             <entry>Return value</entry>
             <entry>Parameter type</entry>
            </row>
           </thead>
           <tbody>
            <row>
             <entry>0 (SQL_FALSE)</entry>
             <entry>The index allows duplicate values.</entry>
            </row>
            <row>
             <entry>1 (SQL_TRUE)</entry>
             <entry>The index values must be unique.</entry>
            </row>
            <row>
             <entry>&null;</entry>
             <entry>This row is statistics information for the table itself.</entry>
            </row>
           </tbody>
          </tgroup>
         </informaltable>
        </para>
       </entry>
      </row>
      <row>
       <entry>INDEX_QUALIFIER</entry>
       <entry>A string value representing the qualifier that would have to be
       prepended to INDEX_NAME to fully qualify the index.</entry>
      </row>
      <row>
       <entry>INDEX_NAME</entry>
       <entry>A string representing the name of the index.</entry>
      </row>
      <row>
       <entry>TYPE</entry>
       <entry>
        <para>
         An integer value representing the type of information contained in
         this row of the result set:
         <informaltable>
          <tgroup cols="2">
           <thead>
            <row>
             <entry>Return value</entry>
             <entry>Parameter type</entry>
            </row>
           </thead>
           <tbody>
            <row>
             <entry>0 (SQL_TABLE_STAT)</entry>
             <entry>The row contains statistics about the table itself.</entry>
            </row>
            <row>
             <entry>1 (SQL_INDEX_CLUSTERED)</entry>
             <entry>The row contains information about a clustered index.</entry>
            </row>
            <row>
             <entry>2 (SQL_INDEX_HASH)</entry>
             <entry>The row contains information about a hashed index.</entry>
            </row>
            <row>
             <entry>3 (SQL_INDEX_OTHER)</entry>
             <entry>The row contains information about a type of index that
             is neither clustered nor hashed.</entry>
            </row>
           </tbody>
          </tgroup>
         </informaltable>
        </para>
       </entry>
      </row>
      <row>
       <entry>ORDINAL_POSITION</entry>
       <entry>The 1-indexed position of the column in the index. &null; if
        the row contains statistics information about the table itself.</entry>
      </row>
      <row>
       <entry>COLUMN_NAME</entry>
       <entry>The name of the column in the index. &null; if the row
        contains statistics information about the table itself.</entry>
      </row>
      <row>
       <entry>ASC_OR_DESC</entry>
       <entry>
        <literal>A</literal> if the column is sorted in ascending order,
        <literal>D</literal> if the column is sorted in descending order,
        &null; if the row contains statistics information about the table
        itself.
       </entry>
      </row>
      <row>
       <entry>CARDINALITY</entry>
       <entry>
        <para>
         If the row contains information about an index, this column contains
         an integer value representing the number of unique values in the
         index.
        </para>
        <para>
         If the row contains information about the table itself, this column
         contains an integer value representing the number of rows in the
         table.
        </para>
       </entry>
      </row>
      <row>
       <entry>PAGES</entry>
       <entry>
        <para>
         If the row contains information about an index, this column contains
         an integer value representing the number of pages used to store the
         index.
        </para>
        <para>
         If the row contains information about the table itself, this column
         contains an integer value representing the number of pages used to
         store the table.
        </para>
       </entry>
      </row>
      <row>
       <entry>FILTER_CONDITION</entry>
       <entry>Always returns &null;.</entry>
      </row>
     </tbody>
    </tgroup>
   </informaltable>
  </para>
 </refsect1>

 <!-- Use when examples exist
 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title>A <function>db2_statistics</function> example</title>
    <para>
     Any text that describes the purpose of the example, or
     what goes on in the example should go here (inside the
     <example> tag, not out
    </para>
    <programlisting role="php">
<![CDATA[
<?php
if ($anexample === true) {
    echo 'Use the PEAR Coding Standards';
}
?>
]]>
    </programlisting>
    &example.outputs;
    <screen>
<![CDATA[
Use the PEAR Coding Standards
]]>
    </screen>
   </example>
  </para>
 </refsect1>
 -->

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>db2_column_privileges</function></member>
    <member><function>db2_columns</function></member>
    <member><function>db2_foreign_keys</function></member>
    <member><function>db2_primary_keys</function></member>
    <member><function>db2_procedure_columns</function></member>
    <member><function>db2_procedures</function></member>
    <member><function>db2_special_columns</function></member>
    <member><function>db2_table_privileges</function></member>
    <member><function>db2_tables</function></member>
   </simplelist>
  </para>
 </refsect1>

</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
