[PHP-DOC] cvs: phpdoc /it/functions uodbc.xml From: Luca Perugini (l.perugini <email protected>)
Date: 07/11/00

perugini Tue Jul 11 16:55:36 2000 EDT

  Modified files:
    /phpdoc/it/functions uodbc.xml
  Log:
  Update from english tree
  
  
Index: phpdoc/it/functions/uodbc.xml
diff -u phpdoc/it/functions/uodbc.xml:1.4 phpdoc/it/functions/uodbc.xml:1.5
--- phpdoc/it/functions/uodbc.xml:1.4 Thu Jun 29 00:18:10 2000
+++ phpdoc/it/functions/uodbc.xml Tue Jul 11 16:55:36 2000
@@ -20,19 +20,23 @@
      Without the <parameter>OnOff</parameter> parameter, this function
      returns auto-commit status for
      <parameter>connection_id</parameter>. True is returned if
- auto-commit is on, false if it is off or an error occurs.</para>
+ auto-commit is on, false if it is off or an error occurs.
+ </para>
     <para>
      If <parameter>OnOff</parameter> is true, auto-commit is enabled,
      if it is false auto-commit is disabled. Returns
      <literal>true</literal> on success, <literal>false</literal> on
- failure.</para>
+ failure.
+ </para>
     <para>
      By default, auto-commit is on for a connection. Disabling
- auto-commit is equivalent with starting a transaction.</para>
+ auto-commit is equivalent with starting a transaction.
+ </para>
     <simpara>
      See also
      <function>odbc_commit</function> and
- <function>odbc_rollback</function>.</simpara>
+ <function>odbc_rollback</function>.
+ </simpara>
    </refsect1>
   </refentry>
 
@@ -50,27 +54,33 @@
       <paramdef>int <parameter>mode</parameter></paramdef>
      </funcprototype>
     </funcsynopsis>
- <para>(ODBC SQL types affected: BINARY, VARBINARY, LONGVARBINARY)
+ <para>
+ (ODBC SQL types affected: BINARY, VARBINARY, LONGVARBINARY)
     </para>
     <itemizedlist>
- <listitem><simpara>
- ODBC_BINMODE_PASSTHRU: Passthru BINARY data
- </simpara></listitem>
- <listitem><simpara>
- ODBC_BINMODE_RETURN: Return as is
- </simpara></listitem>
- <listitem><simpara>
- ODBC_BINMODE_CONVERT: Convert to char and return
- </simpara></listitem>
+ <listitem>
+ <simpara>
+ ODBC_BINMODE_PASSTHRU: Passthru BINARY data
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ ODBC_BINMODE_RETURN: Return as is
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ ODBC_BINMODE_CONVERT: Convert to char and return
+ </simpara>
+ </listitem>
     </itemizedlist>
     <para>
- When binary SQL data is converted to character C data, each byte
- (8 bits) of source data is represented as two ASCII characters.
- These characters are the ASCII character representation of the
- number in its hexadecimal form. For example, a binary 00000001 is
- converted to <literal>"01"</literal> and a binary 11111111 is
- converted to <literal>"FF"</literal>.
-
+ When binary SQL data is converted to character C data, each byte
+ (8 bits) of source data is represented as two ASCII characters.
+ These characters are the ASCII character representation of the
+ number in its hexadecimal form. For example, a binary 00000001 is
+ converted to <literal>"01"</literal> and a binary 11111111 is
+ converted to <literal>"FF"</literal>.
      <table>
       <title>LONGVARBINARY handling</title>
       <tgroup cols="3">
@@ -119,26 +129,27 @@
         </row>
        </tbody>
       </tgroup>
- </table></para>
-
+ </table>
+ </para>
     <para>
      If <function>odbc_fetch_into</function> is used, passthru means
- that an empty string is returned for these columns.</para>
-
+ that an empty string is returned for these columns.
+ </para>
     <para>
      If <parameter>result_id</parameter> is <literal>0</literal>, the
      settings apply as default for new results.
-
- <note><simpara> Default for longreadlen is
- <literal>4096</literal> and binmode defaults to
- <literal>ODBC_BINMODE_RETURN</literal>. Handling of binary
- long columns is also affected by
+ <note>
+ <simpara>
+ Default for longreadlen is <literal>4096</literal> and binmode
+ defaults to <literal>ODBC_BINMODE_RETURN</literal>. Handling
+ of binary long columns is also affected by
        <function>odbc_longreadlen</function>
- </simpara>
- </note></para>
+ </simpara>
+ </note>
+ </para>
    </refsect1>
   </refentry>
-
+
   <refentry id="function.odbc-close">
    <refnamediv>
     <refname>odbc_close</refname>
@@ -152,18 +163,17 @@
       <paramdef>int <parameter>connection_id</parameter></paramdef>
      </funcprototype>
     </funcsynopsis>
-
     <para>
      <function>odbc_close</function> will close down the connection to
      the database server associated with the given connection
      identifier.
-
- <note><simpara>
- This function will fail if there are open
- transactions on this connection. The connection will remain open
- in this case.
- </simpara></note></para>
-
+ <note>
+ <simpara>
+ This function will fail if there are open transactions on this
+ connection. The connection will remain open in this case.
+ </simpara>
+ </note>
+ </para>
    </refsect1>
   </refentry>
 
@@ -180,17 +190,16 @@
       <void/>
      </funcprototype>
     </funcsynopsis>
-
     <para>
      <function>odbc_close_all</function> will close down all
      connections to database server(s).
-
- <note><simpara>
- This function will fail if there are open
- transactions on a connection. This connection will remain open
- in this case.
- </simpara></note></para>
-
+ <note>
+ <simpara>
+ This function will fail if there are open transactions on a
+ connection. This connection will remain open in this case.
+ </simpara>
+ </note>
+ </para>
    </refsect1>
   </refentry>
 
@@ -207,14 +216,14 @@
       <paramdef>int <parameter>connection_id</parameter></paramdef>
      </funcprototype>
     </funcsynopsis>
-<para>Returns: <literal>true</literal> on success, <literal>false</literal> on failure.
-
- All pending transactions on <parameter>connection_id</parameter>
- are committed.</para>
+ <para>
+ Returns: <literal>true</literal> on success,
+ <literal>false</literal> on failure. All pending transactions on
+ <parameter>connection_id</parameter> are committed.
+ </para>
    </refsect1>
   </refentry>
 
-
   <refentry id="function.odbc-connect">
    <refnamediv>
     <refname>odbc_connect</refname>
@@ -232,13 +241,16 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- Returns an ODBC connection id or 0 (<literal>false</literal>) on error.</para>
+ Returns an ODBC connection id or 0 (<literal>false</literal>) on
+ error.
+ </para>
     <simpara>
      The connection id returned by this functions is needed by other
      ODBC functions. You can have multiple connections open at once.
      The optional fourth parameter sets the type of cursor to be used
      for this connection. This parameter is not normally needed, but
- can be useful for working around problems with some ODBC drivers.</simpara>
+ can be useful for working around problems with some ODBC drivers.
+ </simpara>
     <simpara>
      With some ODBC drivers, executing a complex stored procedure may
      fail with an error similar to: "Cannot open a cursor on a stored
@@ -246,26 +258,38 @@
      in it". Using SQL_CUR_USE_ODBC may avoid that error. Also, some
      drivers don't support the optional row_number parameter in
      <function>odbc_fetch_row</function>. SQL_CUR_USE_ODBC might help
- in that case, too.</simpara>
+ in that case, too.
+ </simpara>
     <simpara>
- The following constants are defined for cursortype:</simpara>
+ The following constants are defined for cursortype:
+ </simpara>
     <para>
      <itemizedlist>
- <listitem><simpara>
- SQL_CUR_USE_IF_NEEDED
- </simpara></listitem>
- <listitem><simpara>
- SQL_CUR_USE_ODBC
- </simpara></listitem>
- <listitem><simpara>
- SQL_CUR_USE_DRIVER
- </simpara></listitem>
- <listitem><simpara>
- SQL_CUR_DEFAULT
- </simpara></listitem>
- </itemizedlist></para>
- <simpara>
- For persistent connections see <function>odbc_pconnect</function>.</simpara>
+ <listitem>
+ <simpara>
+ SQL_CUR_USE_IF_NEEDED
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ SQL_CUR_USE_ODBC
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ SQL_CUR_USE_DRIVER
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ SQL_CUR_DEFAULT
+ </simpara></listitem>
+ </itemizedlist>
+ </para>
+ <simpara>
+ For persistent connections see
+ <function>odbc_pconnect</function>.
+ </simpara>
    </refsect1>
   </refentry>
 
@@ -283,14 +307,15 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- odbc_cursor will return a cursorname for the given result_id.</para>
+ odbc_cursor will return a cursorname for the given result_id.
+ </para>
    </refsect1>
   </refentry>
 
   <refentry id="function.odbc-do">
    <refnamediv>
     <refname>odbc_do</refname>
- <refpurpose>synonym for <function>odbc_exec</function></refpurpose>
+ <refpurpose>Synonym for <function>odbc_exec</function></refpurpose>
    </refnamediv>
    <refsect1>
     <title>Description</title>
@@ -302,11 +327,12 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- odbc_do will execute a query on the given connection</para>
+ <function>Odbc_do</function> will execute a query on the given
+ connection.
+ </para>
    </refsect1>
   </refentry>
 
-
   <refentry id="function.odbc-exec">
    <refnamediv>
     <refname>odbc_exec</refname>
@@ -323,45 +349,48 @@
     </funcsynopsis>
     <para>
      Returns <literal>false</literal> on error. Returns an ODBC
- result identifier if the SQL command was executed successfully.</para>
+ result identifier if the SQL command was executed successfully.
+ </para>
     <para>
      <function>odbc_exec</function> will send an SQL statement to the
      database server specified by
      <parameter>connection_id</parameter>. This parameter must be a
      valid identifier returned by <function>odbc_connect</function> or
- <function>odbc_pconnect</function>.</para>
+ <function>odbc_pconnect</function>.
+ </para>
     <simpara>
      See also: <function>odbc_prepare</function> and
      <function>odbc_execute</function> for multiple execution of SQL
- statements.</simpara>
+ statements.
+ </simpara>
    </refsect1>
   </refentry>
 
-<refentry id="function.odbc-execute">
- <refnamediv>
- <refname>odbc_execute</refname>
- <refpurpose>execute a prepared statement</refpurpose>
- </refnamediv>
- <refsect1>
- <title>Description</title>
- <funcsynopsis>
+ <refentry id="function.odbc-execute">
+ <refnamediv>
+ <refname>odbc_execute</refname>
+ <refpurpose>Execute a prepared statement</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
      <funcprototype>
- <funcdef>int <function>odbc_execute</function></funcdef>
- <paramdef>int <parameter>result_id</parameter></paramdef>
- <paramdef>array
+ <funcdef>int <function>odbc_execute</function></funcdef>
+ <paramdef>int <parameter>result_id</parameter></paramdef>
+ <paramdef>array
        <parameter><optional>parameters_array</optional></parameter></paramdef>
      </funcprototype>
- </funcsynopsis>
- <para>
+ </funcsynopsis>
+ <para>
      Executes a statement prepared with
      <function>odbc_prepare</function>. Returns
      <literal>true</literal> on successful execution,
      <literal>false</literal> otherwise. The array
      <parameter>arameters_array</parameter> only needs to
- be given if you really have parameters in your statement.</para>
- </refsect1>
-</refentry>
-
+ be given if you really have parameters in your statement.
+ </para>
+ </refsect1>
+ </refentry>
 
   <refentry id="function.odbc-fetch-into">
    <refnamediv>
@@ -384,11 +413,11 @@
      <parameter>result_array</parameter> must be passed by reference,
      but it can be of any type since it will be converted to type
      array. The array will contain the column values starting at array
- index 0.</para>
+ index 0.
+ </para>
    </refsect1>
   </refentry>
 
-
   <refentry id="function.odbc-fetch-row">
    <refnamediv>
     <refname>odbc_fetch_row</refname>
@@ -406,22 +435,22 @@
     <para>
      If <function>odbc_fetch_row</function> was succesful (there was a
      row), <literal>true</literal> is returned. If there are no more
- rows, <literal>false</literal> is returned.</para>
-
+ rows, <literal>false</literal> is returned.
+ </para>
     <para>
      <function>odbc_fetch_row</function> fetches a row of the data
      that was returned by <function>odbc_do</function> /
      <function>odbc_exec</function>. After
      <function>odbc_fetch_row</function> is called, the fields of that
- row can be accessed with <function>odbc_result</function>.</para>
-
+ row can be accessed with <function>odbc_result</function>.
+ </para>
     <para>
      If <parameter>row_number</parameter> is not specified,
      <function>odbc_fetch_row</function> will try to fetch the next
      row in the result set. Calls to
      <function>odbc_fetch_row</function> with and without
- <parameter>row_number</parameter> can be mixed.</para>
-
+ <parameter>row_number</parameter> can be mixed.
+ </para>
     <para>
      To step through the result more than once, you can call
      <function>odbc_fetch_row</function> with
@@ -429,12 +458,11 @@
      <function>odbc_fetch_row</function> without
      <parameter>row_number</parameter> to review the result. If a
      driver doesn't support fetching rows by number, the
- <parameter>row_number</parameter> parameter is ignored.</para>
-
+ <parameter>row_number</parameter> parameter is ignored.
+ </para>
    </refsect1>
   </refentry>
 
-
   <refentry id="function.odbc-field-name">
    <refnamediv>
     <refname>odbc_field_name</refname>
@@ -453,16 +481,15 @@
      <function>odbc_field_name</function> will return the name of the
      field occupying the given column number in the given ODBC result
      identifier. Field numbering starts at 1.
- <literal>false</literal> is returned on error.</para>
-
+ <literal>false</literal> is returned on error.
+ </para>
    </refsect1>
   </refentry>
 
-<!--
   <refentry id="function.odbc-field-num">
    <refnamediv>
     <refname>odbc_field_num</refname>
- <refpurpose>return column number</refpurpose>
+ <refpurpose>Return column number</refpurpose>
    </refnamediv>
    <refsect1>
     <title>Description</title>
@@ -473,20 +500,19 @@
       <paramdef>string <parameter>field_name</parameter></paramdef>
      </funcprototype>
     </funcsynopsis>
- <para>
+ <para>
      <function>odbc_field_num</function> will return the number of the
      column slot that corresponds to the named field in the given ODBC
      result identifier. Field numbering starts at 1.
      <literal>false</literal> is returned on error.
-
+ </para>
    </refsect1>
   </refentry>
--->
 
   <refentry id="function.odbc-field-type">
    <refnamediv>
     <refname>odbc_field_type</refname>
- <refpurpose>datatype of a field</refpurpose>
+ <refpurpose>Datatype of a field</refpurpose>
    </refnamediv>
    <refsect1>
     <title>Description</title>
@@ -500,15 +526,15 @@
     <para>
      <function>odbc_field_type</function> will return the SQL type of
      the field referecend by number in the given ODBC result
- identifier. Field numbering starts at 1.</para>
-
+ identifier. Field numbering starts at 1.
+ </para>
    </refsect1>
   </refentry>
 
   <refentry id="function.odbc-field-len">
    <refnamediv>
     <refname>odbc_field_len</refname>
- <refpurpose>get the Length of a field</refpurpose>
+ <refpurpose>Get the length (precision) of a field</refpurpose>
    </refnamediv>
    <refsect1>
     <title>Description</title>
@@ -522,16 +548,67 @@
     <para>
      <function>odbc_field_len</function> will return the length of
      the field referecend by number in the given ODBC result
- identifier. Field numbering starts at 1.</para>
-
+ identifier. Field numbering starts at 1.
+ </para>
+ <simpara>
+ See also: <function>odbc_field_scale</function> to get the scale of a
+ floating point number.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-field-precision">
+ <refnamediv>
+ <refname>odbc_field_precision</refname>
+ <refpurpose>Synonym for <function>odbc_field_len</function></refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>odbc_field_precision</function></funcdef>
+ <paramdef>int <parameter>result_id</parameter></paramdef>
+ <paramdef>int <parameter>field_number</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>odbc_field_precision</function> will return the precision
+ of the field referecend by number in the given ODBC result
+ identifier.
+ </para>
+ <para>
+ See also: <function>odbc_field_scale</function> to get the scale of a
+ floating point number.
+ </para>
    </refsect1>
   </refentry>
 
+ <refentry id="function.odbc-field-scale">
+ <refnamediv>
+ <refname>odbc_field_scale</refname>
+ <refpurpose>Get the scale of a field</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>odbc_field_scale</function></funcdef>
+ <paramdef>int <parameter>result_id</parameter></paramdef>
+ <paramdef>int <parameter>field_number</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>odbc_field_precision</function> will return the scale
+ of the field referecend by number in the given ODBC result
+ identifier.
+ </para>
+ </refsect1>
+ </refentry>
 
   <refentry id="function.odbc-free-result">
    <refnamediv>
     <refname>odbc_free_result</refname>
- <refpurpose>free resources associated with a result</refpurpose>
+ <refpurpose>Free resources associated with a result</refpurpose>
    </refnamediv>
    <refsect1>
     <title>Description</title>
@@ -542,7 +619,8 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- Always returns <literal>true</literal>.</para>
+ Always returns <literal>true</literal>.
+ </para>
     <para>
      <function>odbc_free_result</function> only needs to be called if
      you are worried about using too much memory while your script is
@@ -550,22 +628,25 @@
      script is finished. But, if you are sure you are not going to
      need the result data anymore in a script, you may call
      <function>odbc_free_result</function>, and the memory associated
- with <parameter>result_id</parameter> will be freed.</para>
+ with <parameter>result_id</parameter> will be freed.
+ </para>
     <para>
- <note><simpara>
+ <note>
+ <simpara>
        If auto-commit is disabled (see
        <function>odbc_autocommit</function>) and you call
        <function>odbc_free_result</function> before commiting, all
        pending transactions are rolled back.
- </simpara></note></para>
+ </simpara>
+ </note>
+ </para>
    </refsect1>
   </refentry>
 
-
   <refentry id="function.odbc-longreadlen">
    <refnamediv>
     <refname>odbc_longreadlen</refname>
- <refpurpose>handling of LONG columns</refpurpose>
+ <refpurpose>Handling of LONG columns</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
@@ -576,23 +657,25 @@
       <paramdef>int <parameter>length</parameter></paramdef>
      </funcprototype>
     </funcsynopsis>
- <para>(ODBC SQL types affected: LONG, LONGVARBINARY)
- The number of bytes returned to PHP is controled by the
- parameter length. If it is set to 0, Long column data is passed
- thru to the client.</para>
- <note><simpara>
- Handling of LONGVARBINARY columns is also affected by
- <function>odbc_binmode</function>
- </simpara>
+ <para>
+ (ODBC SQL types affected: LONG, LONGVARBINARY) The number of
+ bytes returned to PHP is controled by the parameter length. If it
+ is set to 0, Long column data is passed thru to the
+ client.
+ </para>
+ <note>
+ <simpara>
+ Handling of LONGVARBINARY columns is also affected by
+ <function>odbc_binmode</function>.
+ </simpara>
     </note>
    </refsect1>
   </refentry>
 
-
   <refentry id="function.odbc-num-fields">
    <refnamediv>
     <refname>odbc_num_fields</refname>
- <refpurpose>number of columns in a result</refpurpose>
+ <refpurpose>Number of columns in a result</refpurpose>
    </refnamediv>
    <refsect1>
     <title>Description</title>
@@ -603,10 +686,11 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- <function>odbc_num_fields</function> will return the number of
+ <function>Odbc_num_fields</function> will return the number of
      fields (columns) in an ODBC result. This function will return -1
      on error. The argument is a valid result identifier returned by
- <function>odbc_exec</function>.</para>
+ <function>odbc_exec</function>.
+ </para>
    </refsect1>
   </refentry>
 
@@ -627,49 +711,56 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- Returns an ODBC connection id or 0 (<literal>false</literal>) on error. This
- function is much like <function>odbc_connect</function>, except
- that the connection is not really closed when the script has
- finished. Future requests for a connection with the same
- <parameter>dsn</parameter>, <parameter>user</parameter>,
- <parameter>password</parameter> combination (via
- <function>odbc_connect</function> and
+ Returns an ODBC connection id or 0 (<literal>false</literal>) on
+ error. This function is much like
+ <function>odbc_connect</function>, except that the connection is
+ not really closed when the script has finished. Future requests
+ for a connection with the same <parameter>dsn</parameter>,
+ <parameter>user</parameter>, <parameter>password</parameter>
+ combination (via <function>odbc_connect</function> and
      <function>odbc_pconnect</function>) can reuse the persistent
- connection.</para>
+ connection.
+ </para>
     <para>
- <note><simpara>
+ <note>
+ <simpara>
        Persistent connections have no effect if PHP is used as a CGI
        program.
- </simpara></note></para>
+ </simpara>
+ </note>
+ </para>
     <para>
      For information about the optional cursor_type parameter see the
      <function>odbc_connect</function> function. For more information
- on persistent connections, refer to the PHP FAQ.</para>
+ on persistent connections, refer to the PHP FAQ.
+ </para>
    </refsect1>
-</refentry>
+ </refentry>
 
-<refentry id="function.odbc-prepare">
- <refnamediv>
- <refname>odbc_prepare</refname>
- <refpurpose>Prepares a statement for execution</refpurpose>
- </refnamediv>
- <refsect1>
- <title>Description</title>
- <funcsynopsis>
+ <refentry id="function.odbc-prepare">
+ <refnamediv>
+ <refname>odbc_prepare</refname>
+ <refpurpose>Prepares a statement for execution</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
      <funcprototype>
- <funcdef>int <function>odbc_prepare</function></funcdef>
- <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <funcdef>int <function>odbc_prepare</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
       <paramdef>string <parameter>query_string</parameter></paramdef>
      </funcprototype>
     </funcsynopsis>
     <para>
- Returns <literal>false</literal> on error.</para>
+ Returns <literal>false</literal> on error.
+ </para>
     <para>
      Returns an ODBC result identifier if the SQL command was prepared
      successfully. The result identifier can be used later to execute
- the statement with <function>odbc_execute</function>.</para>
- </refsect1>
-</refentry>
+ the statement with <function>odbc_execute</function>.
+ </para>
+ </refsect1>
+ </refentry>
 
   <refentry id="function.odbc-num-rows">
    <refnamediv>
@@ -690,18 +781,20 @@
      INSERT, UPDATE and DELETE statements
      <function>odbc_num_rows</function> returns the number of rows
      affected. For a SELECT clause this <literal>can</literal> be
- the number of rows available.</para>
+ the number of rows available.
+ </para>
     <para>
      Note: Using <function>odbc_num_rows</function> to determine the
      number of rows available after a SELECT will return -1 with many
- drivers.</para>
+ drivers.
+ </para>
    </refsect1>
   </refentry>
 
   <refentry id="function.odbc-result">
    <refnamediv>
     <refname>odbc_result</refname>
- <refpurpose>get result data</refpurpose>
+ <refpurpose>Get result data</refpurpose>
    </refnamediv>
    <refsect1>
     <title>Description</title>
@@ -713,15 +806,18 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- Returns the contents of the field.</para>
+ Returns the contents of the field.
+ </para>
     <para>
      <parameter>field</parameter> can either be an integer containing
      the column number of the field you want; or it can be a string
      containing the name of the field. For example:
      <informalexample><programlisting>
- $item_3 = odbc_result($Query_ID, 3 );
- $item_val = odbc_result($Query_ID, "val");
-</programlisting></informalexample></para>
+$item_3 = odbc_result ($Query_ID, 3);
+$item_val = odbc_result ($Query_ID, "val");
+ </programlisting>
+ </informalexample>
+ </para>
     <para>
      The first call to <function>odbc_result</function> returns the
      value of the third field in the current record of the query
@@ -732,8 +828,8 @@
      is less than one or exceeds the number of columns (or fields) in
      the current record. Similarly, an error occurs if a field with a
      name that is not one of the fieldnames of the table(s) that
- is(are) being queried.</para>
-
+ is(are) being queried.
+ </para>
     <para>
      Field indices start from 1. Regarding the way binary or
      long column data is returned refer to <function>odbc_binmode
@@ -748,7 +844,9 @@
      need to have binary data returned, use the SQL function HEX() to
      retrieve the field in hexadecimal notation. E.g. "SELECT
      HEX(binary_col) FROM mytable"
---></para>
+-->
+
+ </para>
    </refsect1>
   </refentry>
 
@@ -767,18 +865,19 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- Returns the number of rows in the result or <literal>false</literal> on error.</para>
-
+ Returns the number of rows in the result or
+ <literal>false</literal> on error.
+ </para>
     <para>
- <function>odbc_result_all</function> will print all rows from a
+ <function>Odbc_result_all</function> will print all rows from a
      result identifier produced by <function>odbc_exec</function>. The
      result is printed in HTML table format. With the optional string
      argument <parameter>format</parameter>, additional overall table
- formatting can be done.</para>
+ formatting can be done.
+ </para>
    </refsect1>
   </refentry>
 
-
   <refentry id="function.odbc-rollback">
    <refnamediv>
     <refname>odbc_rollback</refname>
@@ -796,7 +895,8 @@
      Rolls back all pending statements on
      <parameter>connection_id</parameter>. Returns
      <literal>true</literal> on success, <literal>false</literal> on
- failure.</para>
+ failure.
+ </para>
    </refsect1>
   </refentry>
 
@@ -808,48 +908,53 @@
      true.
     </refpurpose>
    </refnamediv>
- <refsect1>
- <title>Description</title>
- <funcsynopsis>
- <funcprototype>
- <funcdef>int <function>odbc_setoption</function></funcdef>
- <paramdef>int <parameter>id</parameter></paramdef>
- <paramdef>int <parameter>function</parameter></paramdef>
- <paramdef>int <parameter>option</parameter></paramdef>
- <paramdef>int <parameter>param</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
- <para>
- This function allows fiddling with the ODBC options for a
- particular connection or query result. It was written to help
- find work arounds to problems in quirky ODBC drivers. You
- should probably only use this function if you are an ODBC
- programmer and understand the effects the various options will
- have. You will certainly need a good ODBC reference to explain
- all the different options and values that can be used.
- Different driver versions support different options.</para>
- <para>
- Because the effects may vary depending on the ODBC driver, use
- of this function in scripts to be made publicly available is
- strongly discouraged. Also, some ODBC options are not available
- to this function because they must be set before the connection
- is established or the query is prepared. However, if on a
- particular job it can make PHP work so your boss doesn't tell
- you to use a commercial product, that's all that really matters.</para>
- <para>
- <parameter>Id</parameter> is a connection id or result id on
- which to change the settings.For SQLSetConnectOption(), this is
- a connection id. For SQLSetStmtOption(), this is a result id.</para>
- <para>
- <parameter>function</parameter> is the ODBC function to use. The
- value should be 1 for SQLSetConnectOption() and 2 for
- SQLSetStmtOption().</para>
- <para>
- Parmeter <parameter>option</parameter> is the option to set.</para>
- <para>
- Parameter <parameter>param</parameter> is the value for the
- given <parameter>option</parameter>.
-
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_setoption</function></funcdef>
+ <paramdef>int <parameter>id</parameter></paramdef>
+ <paramdef>int <parameter>function</parameter></paramdef>
+ <paramdef>int <parameter>option</parameter></paramdef>
+ <paramdef>int <parameter>param</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ This function allows fiddling with the ODBC options for a
+ particular connection or query result. It was written to help
+ find work arounds to problems in quirky ODBC drivers. You should
+ probably only use this function if you are an ODBC programmer and
+ understand the effects the various options will have. You will
+ certainly need a good ODBC reference to explain all the different
+ options and values that can be used. Different driver versions
+ support different options.
+ </para>
+ <para>
+ Because the effects may vary depending on the ODBC driver, use of
+ this function in scripts to be made publicly available is
+ strongly discouraged. Also, some ODBC options are not available
+ to this function because they must be set before the connection
+ is established or the query is prepared. However, if on a
+ particular job it can make PHP work so your boss doesn't tell you
+ to use a commercial product, that's all that really
+ matters.
+ </para>
+ <para>
+ <parameter>ID</parameter> is a connection id or result id on
+ which to change the settings.For SQLSetConnectOption(), this is a
+ connection id. For SQLSetStmtOption(), this is a result
+ id.
+ </para>
+ <para>
+ <parameter>Function</parameter> is the ODBC function to use. The
+ value should be 1 for SQLSetConnectOption() and 2 for
+ SQLSetStmtOption().
+ </para>
+ <para>
+ Parameter <parameter>option</parameter> is the option to set.</para>
+ <para>
+ Parameter <parameter>param</parameter> is the value for the
+ given <parameter>option</parameter>.
      <example>
       <title>ODBC Setoption Examples</title>
       <programlisting role="php">
@@ -866,10 +971,624 @@
 $result = odbc_prepare ($conn, $sql);
 odbc_setoption ($result, 2, 0, 30);
 odbc_execute ($result);
- </programlisting>
- </example></para>
- </refsect1>
- </refentry>
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-tables">
+ <refnamediv>
+ <refname>odbc_tables</refname>
+ <refpurpose>
+ Get the list of table names stored in a specific data source.
+ Returns a result identifier containing the
+ information.
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_tables</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <paramdef>string <parameter><optional>qualifier</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>owner</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>name</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>types</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Lists all tables in the requested range. Returns an ODBC result
+ identifier or <literal>false</literal> on failure.
+ </para>
+ <para>
+ The result set has the following columns:
+ <itemizedlist>
+ <listitem><simpara>TABLE_QUALIFIER</simpara></listitem>
+ <listitem><simpara>TABLE_OWNER</simpara></listitem>
+ <listitem><simpara>TABLE_NAME</simpara></listitem>
+ <listitem><simpara>TABLE_TYPE</simpara></listitem>
+ <listitem><simpara>REMARKS</simpara></listitem>
+ </itemizedlist>
+ </para>
+ <simpara>
+ The result set is ordered by TABLE_TYPE, TABLE_QUALIFIER,
+ TABLE_OWNER and TABLE_NAME.
+ </simpara>
+ <para>
+ The <parameter>owner</parameter> and <parameter>name</parameter>
+ arguments accept search patterns ('%' to match zero or more
+ characters and '_' to match a single character).
+ </para>
+ <para>
+ To support enumeration of qualifiers, owners, and table types,
+ the following special semantics for the
+ <parameter>qualifier</parameter>, <parameter>owner</parameter>,
+ <parameter>name</parameter>, and
+ <parameter>table_type</parameter> are available:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ If <parameter>qualifier</parameter> is a single percent
+ character (%) and <parameter>owner</parameter> and
+ <parameter>name</parameter> are empty strings, then the result
+ set contains a list of valid qualifiers for the data
+ source. (All columns except the TABLE_QUALIFIER column contain
+ NULLs.)
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ If <parameter>owner</parameter> is a single percent character
+ (%) and <parameter>qualifier</parameter> and
+ <parameter>name</parameter> are empty strings, then the result
+ set contains a list of valid owners for the data source. (All
+ columns except the TABLE_OWNER column contain
+ NULLs.)
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ If <parameter>table_type</parameter> is a single percent
+ character (%) and <parameter>qualifier</parameter>,
+ <parameter>owner</parameter> and <parameter>name</parameter>
+ are empty strings, then the result set contains a list of
+ valid table types for the data source. (All columns except the
+ TABLE_TYPE column contain NULLs.)
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ If <parameter>table_type</parameter> is not an empty string, it
+ must contain a list of comma-separated values for the types of
+ interest; each value may be enclosed in single quotes (') or
+ unquoted. For example, "'TABLE','VIEW'" or "TABLE, VIEW". If the
+ data source does not support a specified table type,
+ <function>odbc_tables</function> does not return any results for
+ that type.
+ </para>
+ <simpara>
+ See also <function>odbc_tableprivileges</function> to retrieve
+ associated privileges.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-tableprivileges">
+ <refnamediv>
+ <refname>odbc_tableprivileges</refname>
+ <refpurpose>
+ Lists tables and the privileges associated with each table
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_tableprivileges</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <paramdef>string <parameter><optional>qualifier</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>owner</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>name</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Lists tables in the requested range and the privileges associated
+ with each table. Returns an ODBC result identifier or
+ <literal>false</literal> on failure.
+ </para>
+ <para>
+ The result set has the following columns:
+ <itemizedlist>
+ <listitem><simpara>TABLE_QUALIFIER</simpara></listitem>
+ <listitem><simpara>TABLE_OWNER</simpara></listitem>
+ <listitem><simpara>TABLE_NAME</simpara></listitem>
+ <listitem><simpara>GRANTOR</simpara></listitem>
+ <listitem><simpara>GRANTEE</simpara></listitem>
+ <listitem><simpara>PRIVILEGE</simpara></listitem>
+ <listitem><simpara>IS_GRANTABLE</simpara></listitem>
+ </itemizedlist>
+ </para>
+ <simpara>
+ The result set is ordered by TABLE_QUALIFIER, TABLE_OWNER and
+ TABLE_NAME.
+ </simpara>
+ <para>
+ The <parameter>owner</parameter> and <parameter>name</parameter>
+ arguments accept search patterns ('%' to match zero or more
+ characters and '_' to match a single character).
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-columns">
+ <refnamediv>
+ <refname>odbc_columns</refname>
+ <refpurpose>
+ Lists the column names in specified tables. Returns a result
+ identifier containing the information.
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_columns</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <paramdef>string <parameter><optional>qualifier</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>owner</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>table_name</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>column_name</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Lists all columns in the requested range. Returns an ODBC result
+ identifier or <literal>false</literal> on failure.
+ </para>
+ <para>
+ The result set has the following columns:
+ <itemizedlist>
+ <listitem><simpara>TABLE_QUALIFIER</simpara></listitem>
+ <listitem><simpara>TABLE_OWNER</simpara></listitem>
+ <listitem><simpara>TABLE_NAME</simpara></listitem>
+ <listitem><simpara>COLUMN_NAME</simpara></listitem>
+ <listitem><simpara>DATA_TYPE</simpara></listitem>
+ <listitem><simpara>TYPE_NAME</simpara></listitem>
+ <listitem><simpara>PRECISION</simpara></listitem>
+ <listitem><simpara>LENGTH</simpara></listitem>
+ <listitem><simpara>SCALE</simpara></listitem>
+ <listitem><simpara>RADIX</simpara></listitem>
+ <listitem><simpara>NULLABLE</simpara></listitem>
+ <listitem><simpara>REMARKS</simpara></listitem>
+ </itemizedlist>
+ </para>
+ <simpara>
+ The result set is ordered by TABLE_QUALIFIER, TABLE_OWNER and
+ TABLE_NAME.
+ </simpara>
+ <para>
+ The <parameter>owner</parameter>,
+ <parameter>table_name</parameter> and
+ <parameter>column_name</parameter> arguments accept search
+ patterns ('%' to match zero or more characters and '_' to match a
+ single character).
+ </para>
+ <simpara>
+ See also <function>odbc_columnprivileges</function> to retrieve
+ associated privileges.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-columnprivileges">
+ <refnamediv>
+ <refname>odbc_columnprivileges</refname>
+ <refpurpose>
+ Returns a result identifier that can be used to fetch a list of
+ columns and associated privileges
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_columnprivileges</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <paramdef>string <parameter><optional>qualifier</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>owner</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>table_name</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>column_name</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Lists columns and associated privileges for the given table.
+ Returns an ODBC result identifier or <literal>false</literal> on
+ failure.
+ </para>
+ <para>
+ The result set has the following columns:
+ <itemizedlist>
+ <listitem><simpara>TABLE_QUALIFIER</simpara></listitem>
+ <listitem><simpara>TABLE_OWNER</simpara></listitem>
+ <listitem><simpara>TABLE_NAME</simpara></listitem>
+ <listitem><simpara>GRANTOR</simpara></listitem>
+ <listitem><simpara>GRANTEE</simpara></listitem>
+ <listitem><simpara>PRIVILEGE</simpara></listitem>
+ <listitem><simpara>IS_GRANTABLE</simpara></listitem>
+ </itemizedlist>
+ </para>
+ <simpara>
+ The result set is ordered by TABLE_QUALIFIER, TABLE_OWNER and
+ TABLE_NAME.
+ </simpara>
+ <para>
+ The <parameter>column_name</parameter> argument accepts search
+ patterns ('%' to match zero or more characters and '_' to match a
+ single character).
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-gettypeinfo">
+ <refnamediv>
+ <refname>odbc_gettypeinfo</refname>
+ <refpurpose>
+ Returns a result identifier containing information about data
+ types supported by the data source.
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_gettypeinfo</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <paramdef>int <parameter><optional>data_type</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Retrieves information about data types supported by the data
+ source. Returns an ODBC result identifier or
+ <literal>false</literal> on failure. The optional argument
+ <parameter>data_type</parameter> can be used to restrict the
+ information to a single data type.
+ </para>
+ <para>
+ The result set has the following columns:
+ <itemizedlist>
+ <listitem><simpara>TYPE_NAME</simpara></listitem>
+ <listitem><simpara>DATA_TYPE</simpara></listitem>
+ <listitem><simpara>PRECISION</simpara></listitem>
+ <listitem><simpara>LITERAL_PREFIX</simpara></listitem>
+ <listitem><simpara>LITERAL_SUFFIX</simpara></listitem>
+ <listitem><simpara>CREATE_PARAMS</simpara></listitem>
+ <listitem><simpara>NULLABLE</simpara></listitem>
+ <listitem><simpara>CASE_SENSITIVE</simpara></listitem>
+ <listitem><simpara>SEARCHABLE</simpara></listitem>
+ <listitem><simpara>UNSIGNED_ATTRIBUTE</simpara></listitem>
+ <listitem><simpara>MONEY</simpara></listitem>
+ <listitem><simpara>AUTO_INCREMENT</simpara></listitem>
+ <listitem><simpara>LOCAL_TYPE_NAME</simpara></listitem>
+ <listitem><simpara>MINIMUM_SCALE</simpara></listitem>
+ <listitem><simpara>MAXIMUM_SCALE</simpara></listitem>
+ </itemizedlist>
+ </para>
+ <simpara>The result set is ordered by DATA_TYPE and TYPE_NAME.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-primarykeys">
+ <refnamediv>
+ <refname>odbc_primarykeys</refname>
+ <refpurpose>
+ Returns a result identifier that can be used to fetch the column
+ names that comprise the primary key for a table
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_primarykeys</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <paramdef>string <parameter>qualifier</parameter></paramdef>
+ <paramdef>string <parameter>owner</parameter></paramdef>
+ <paramdef>string <parameter>table</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Returns the column names that comprise the primary key for a
+ table. Returns an ODBC result identifier or
+ <literal>false</literal> on failure.
+ </para>
+ <para>
+ The result set has the following columns:
+ <itemizedlist>
+ <listitem><simpara>TABLE_QUALIFIER</simpara></listitem>
+ <listitem><simpara>TABLE_OWNER</simpara></listitem>
+ <listitem><simpara>TABLE_NAME</simpara></listitem>
+ <listitem><simpara>COLUMN_NAME</simpara></listitem>
+ <listitem><simpara>KEY_SEQ</simpara></listitem>
+ <listitem><simpara>PK_NAME</simpara></listitem>
+ </itemizedlist>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-foreignkeys">
+ <refnamediv>
+ <refname>odbc_foreignkeys</refname>
+ <refpurpose>
+ Returns a list of foreign keys in the specified table or a list
+ of foreign keys in other tables that refer to the primary key in
+ the specified table
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_foreignkeys</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <paramdef>string <parameter>pk_qualifier</parameter></paramdef>
+ <paramdef>string <parameter>pk_owner</parameter></paramdef>
+ <paramdef>string <parameter>pk_table</parameter></paramdef>
+ <paramdef>string <parameter>fk_qualifier</parameter></paramdef>
+ <paramdef>string <parameter>fk_owner</parameter></paramdef>
+ <paramdef>string <parameter>fk_table</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>Odbc_foreignkeys</function> retrieves information about
+ foreign keys. Returns an ODBC result identifier or
+ <literal>false</literal> on failure.
+ </para>
+ <para>
+ The result set has the following columns:
+ <itemizedlist>
+ <listitem><simpara>PKTABLE_QUALIFIER</simpara></listitem>
+ <listitem><simpara>PKTABLE_OWNER</simpara></listitem>
+ <listitem><simpara>PKTABLE_NAME</simpara></listitem>
+ <listitem><simpara>PKCOLUMN_NAME</simpara></listitem>
+ <listitem><simpara>FKTABLE_QUALIFIER</simpara></listitem>
+ <listitem><simpara>FKTABLE_OWNER</simpara></listitem>
+ <listitem><simpara>FKTABLE_NAME</simpara></listitem>
+ <listitem><simpara>FKCOLUMN_NAME</simpara></listitem>
+ <listitem><simpara>KEY_SEQ</simpara></listitem>
+ <listitem><simpara>UPDATE_RULE</simpara></listitem>
+ <listitem><simpara>DELETE_RULE</simpara></listitem>
+ <listitem><simpara>FK_NAME</simpara></listitem>
+ <listitem><simpara>PK_NAME</simpara></listitem>
+ </itemizedlist>
+ </para>
+ <simpara>
+ If <parameter>pk_table</parameter> contains a table name,
+ <function>odbc_foreignkeys</function> returns a result set
+ containing the primary key of the specified table and all of the
+ foreign keys that refer to it.
+ </simpara>
+ <simpara>
+ If <parameter>fk_table</parameter> contains a table name,
+ <function>odbc_foreignkeys</function> returns a result set
+ containing all of the foreign keys in the specified table and the
+ primary keys (in other tables) to which they refer.
+ </simpara>
+ <simpara>
+ If both <parameter>pk_table</parameter> and
+ <parameter>fk_table</parameter> contain table names,
+ <function>odbc_foreignkeys</function> returns the foreign keys in
+ the table specified in <parameter>fk_table</parameter> that refer
+ to the primary key of the table specified in
+ <parameter>pk_table</parameter>. This should be one key at most.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-procedures">
+ <refnamediv>
+ <refname>odbc_procedures</refname>
+ <refpurpose>
+ Get the list of procedures stored in a specific data source.
+ Returns a result identifier containing the information.
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_procedures</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <paramdef>string <parameter><optional>qualifier</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>owner</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>name</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Lists all procedures in the requested range. Returns an ODBC
+ result identifier or <literal>false</literal> on failure.
+ </para>
+ <para>
+ The result set has the following columns:
+ <itemizedlist>
+ <listitem><simpara>PROCEDURE_QUALIFIER</simpara></listitem>
+ <listitem><simpara>PROCEDURE_OWNER</simpara></listitem>
+ <listitem><simpara>PROCEDURE_NAME</simpara></listitem>
+ <listitem><simpara>NUM_INPUT_PARAMS</simpara></listitem>
+ <listitem><simpara>NUM_OUTPUT_PARAMS</simpara></listitem>
+ <listitem><simpara>NUM_RESULT_SETS</simpara></listitem>
+ <listitem><simpara>REMARKS</simpara></listitem>
+ <listitem><simpara>PROCEDURE_TYPE</simpara></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ The <parameter>owner</parameter> and <parameter>name</parameter>
+ arguments accept search patterns ('%' to match zero or more
+ characters and '_' to match a single character).
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-procedurecolumns">
+ <refnamediv>
+ <refname>odbc_procedurecolumns</refname>
+ <refpurpose>
+ Retrieve information about parameters to procedures
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_procedurecolumns</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <paramdef>string <parameter><optional>qualifier</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>owner</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>proc</optional></parameter></paramdef>
+ <paramdef>string <parameter><optional>column</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Returns the list of input and output parameters, as well as the
+ columns that make up the result set for the specified procedures. Returns
+ an ODBC result identifier or <literal>false</literal> on failure.
+ </para>
+ <para>
+ The result set has the following columns:
+ <itemizedlist>
+ <listitem><simpara>PROCEDURE_QUALIFIER</simpara></listitem>
+ <listitem><simpara>PROCEDURE_OWNER</simpara></listitem>
+ <listitem><simpara>PROCEDURE_NAME</simpara></listitem>
+ <listitem><simpara>COLUMN_NAME</simpara></listitem>
+ <listitem><simpara>COLUMN_TYPE</simpara></listitem>
+ <listitem><simpara>DATA_TYPE</simpara></listitem>
+ <listitem><simpara>TYPE_NAME</simpara></listitem>
+ <listitem><simpara>PRECISION</simpara></listitem>
+ <listitem><simpara>LENGTH</simpara></listitem>
+ <listitem><simpara>SCALE</simpara></listitem>
+ <listitem><simpara>RADIX</simpara></listitem>
+ <listitem><simpara>NULLABLE</simpara></listitem>
+ <listitem><simpara>REMARKS</simpara></listitem>
+ </itemizedlist>
+ </para>
+ <simpara>The result set is ordered by PROCEDURE_QUALIFIER, PROCEDURE_OWNER,
+ PROCEDURE_NAME and COLUMN_TYPE.
+ </simpara>
+ <para>
+ The <parameter>owner</parameter>, <parameter>proc</parameter> and
+ <parameter>column</parameter> arguments accept search patterns
+ ('%' to match zero or more characters and '_' to match a single
+ character).
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-specialcolumns">
+ <refnamediv>
+ <refname>odbc_specialcolumns</refname>
+ <refpurpose>
+ Returns either the optimal set of columns that uniquely
+ identifies a row in the table or columns that are automatically
+ updated when any value in the row is updated by a transaction
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_specialcolumns</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <paramdef>int <parameter>type</parameter></paramdef>
+ <paramdef>string <parameter>qualifier</parameter></paramdef>
+ <paramdef>string <parameter>owner</parameter></paramdef>
+ <paramdef>string <parameter>table</parameter></paramdef>
+ <paramdef>int <parameter>scope</parameter></paramdef>
+ <paramdef>int <parameter>nullable</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ When the type argument is SQL_BEST_ROWID,
+ <function>odbc_specialcolumns</function> returns the
+ column or columns that uniquely identify each row in the table.
+ </simpara>
+ <simpara>
+ When the type argument is SQL_ROWVER,
+ <function>odbc_specialcolumns</function> returns the
+ optimal column or set of columns that, by retrieving values from
+ the column or columns, allows any row in the specified table to be
+ uniquely identified.
+ </simpara>
+ <simpara>
+ Returns an ODBC result identifier or <literal>false</literal> on
+ failure.
+ </simpara>
+ <para>
+ The result set has the following columns:
+ <itemizedlist>
+ <listitem><simpara>SCOPE</simpara></listitem>
+ <listitem><simpara>COLUMN_NAME</simpara></listitem>
+ <listitem><simpara>DATA_TYPE</simpara></listitem>
+ <listitem><simpara>TYPE_NAME</simpara></listitem>
+ <listitem><simpara>PRECISION</simpara></listitem>
+ <listitem><simpara>LENGTH</simpara></listitem>
+ <listitem><simpara>SCALE</simpara></listitem>
+ <listitem><simpara>PSEUDO_COLUMN</simpara></listitem>
+ </itemizedlist>
+ </para>
+ <simpara>
+ The result set is ordered by SCOPE.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.odbc-statistics">
+ <refnamediv>
+ <refname>odbc_statistics</refname>
+ <refpurpose>Retrieve statistics about a table</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>odbc_statistics</function></funcdef>
+ <paramdef>int <parameter>connection_id</parameter></paramdef>
+ <paramdef>string <parameter>qualifier</parameter></paramdef>
+ <paramdef>string <parameter>owner</parameter></paramdef>
+ <paramdef>string <parameter>table_name</parameter></paramdef>
+ <paramdef>int <parameter>unique</parameter></paramdef>
+ <paramdef>int <parameter>accuracy</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Get statistics about a table and it's indexes. Returns an ODBC
+ result identifier or <literal>false</literal> on failure.
+ </para>
+ <para>
+ The result set has the following columns:
+ <itemizedlist>
+ <listitem><simpara>TABLE_QUALIFIER</simpara></listitem>
+ <listitem><simpara>TABLE_OWNER</simpara></listitem>
+ <listitem><simpara>TABLE_NAME</simpara></listitem>
+ <listitem><simpara>NON_UNIQUE</simpara></listitem>
+ <listitem><simpara>INDEX_QUALIFIER</simpara></listitem>
+ <listitem><simpara>INDEX_NAME</simpara></listitem>
+ <listitem><simpara>TYPE</simpara></listitem>
+ <listitem><simpara>SEQ_IN_INDEX</simpara></listitem>
+ <listitem><simpara>COLUMN_NAME</simpara></listitem>
+ <listitem><simpara>COLLATION</simpara></listitem>
+ <listitem><simpara>CARDINALITY</simpara></listitem>
+ <listitem><simpara>PAGES</simpara></listitem>
+ <listitem><simpara>FILTER_CONDITION</simpara></listitem>
+ </itemizedlist>
+ </para>
+ <simpara>
+ The result set is ordered by NON_UNIQUE, TYPE, INDEX_QUALIFIER,
+ INDEX_NAME and SEQ_IN_INDEX.
+ </simpara>
+ </refsect1>
+ </refentry>
 
  </reference>
 
@@ -883,7 +1602,7 @@
 sgml-indent-step:1
 sgml-indent-data:t
 sgml-parent-document:nil
-sgml-default-dtd-file:"../manual.ced"
+sgml-default-dtd-file:"../../manual.ced"
 sgml-exposed-tags:nil
 sgml-local-catalogs:nil
 sgml-local-ecat-files:nil