<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->

<appendix xml:id="cubrid.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 &reftitle.constants;
 &extension.constants;
  <para>
  The following constants can be used when executing SQL statement. They can
  be passed to <function>cubrid_prepare</function> and
  <function>cubrid_execute</function>.
  <table>
   <title>CUBRID SQL execution flags</title>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>Constant</entry>
       <entry>Description</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>CUBRID_INCLUDE_OID</entry>
       <entry>Determine whether to get OID during query execution.</entry>
      </row>
      <row>
       <entry>CUBRID_ASYNC</entry>
       <entry>Execute the query in asynchronous mode.</entry>
      </row>
      <row>
       <entry>CUBRID_EXEC_QUERY_ALL</entry>
       <entry>Execute the query in synchronous mode. This flag must be set
        when executing multiple SQL statements.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
  </para>

  <para>
  The following constants can be used when fetching the results to specify
  fetch behaviour. They can be passed to <function>cubrid_fetch</function> and
  <function>cubrid_fetch_array</function>.
  <table>
   <title>CUBRID fetch flags</title>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>Constant</entry>
       <entry>Description</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>CUBRID_NUM</entry>
       <entry>Get query result as a numeric array (0-default).</entry>
      </row>
      <row>
       <entry>CUBRID_ASSOC</entry>
       <entry>Get query result as an associative array.</entry>
      </row>
      <row>
       <entry>CUBRID_BOTH</entry>
       <entry>Get query result as both numeric and associative arrays (default value).</entry>
      </row>
      <row>
       <entry>CUBRID_OBJECT</entry>
       <entry>Get query result an object.</entry>
      </row>
      <row>
       <entry>CUBRID_LOB</entry>
       <entry>The constant CUBRID_LOB can be used when you want to operate the
        lob object. It can be passed to <function>cubrid_fetch</function>,
        <function>cubrid_fetch_row</function>,
        <function>cubrid_fetch_array</function>,
        <function>cubrid_fetch_assoc</function> and
        <function>cubrid_fetch_object</function>.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
  </para>

  <para>
   The following constants can be used when positioning the cursor in query
   results. They can be passed to or returned by 
   <function>cubrid_move_cursor</function>.
  <table>
   <title>CUBRID cursor position flags</title>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>Constant</entry>
       <entry>Description</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>CUBRID_CURSOR_FIRST</entry>
       <entry>Move current cursor to the first position in the result.</entry>
      </row>
      <row>
       <entry>CUBRID_CURSOR_CURRENT</entry>
       <entry>Move current cursor as a default value if the origin is not specified.</entry>
      </row>
      <row>
       <entry>CUBRID_CURSOR_LAST</entry>
       <entry>Move current cursor to the last position in the result.</entry>
      </row>
      <row>
       <entry>CUBRID_CURSOR_SUCCESS</entry>
       <entry>Returned value of <function>cubrid_move_cursor</function>
        function in case of success. This flag has been removed from 8.4.1.</entry>
      </row>
      <row>
       <entry>CUBRID_NO_MORE_DATA</entry>
       <entry>Returned value of <function>cubrid_move_cursor</function>
        function in case of failure. This flag has been removed from 8.4.1.</entry>
      </row>
      <row>
       <entry>CUBRID_CURSOR_ERROR</entry>
       <entry>Returned value of <function>cubrid_move_cursor</function>
        function in case of failure. This flag has been removed from 8.4.1.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
  </para>

  <para>
   The following constants can be used when setting the auto-commit mode for
   the database connection. They can be passed to
   <function>cubrid_set_autocommit</function> or returned by
   <function>cubrid_get_autocommit</function>.
  <table>
   <title>CUBRID auto-commit mode flags</title>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>Constant</entry>
       <entry>Description</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>CUBRID_AUTOCOMMIT_TRUE</entry>
       <entry>Enable the auto-commit mode.</entry>
      </row>
      <row>
       <entry>CUBRID_AUTOCOMMIT_FALSE</entry>
       <entry>Disable the auto-commit mode.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
  </para>

  <para>
   The following constants can be used when setting the database parameter.
   They can be passed to <function>cubrid_set_db_parameter</function>.
  <table>
   <title>CUBRID parameter flags</title>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>Constant</entry>
       <entry>Description</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>CUBRID_PARAM_ISOLATION_LEVEL</entry>
       <entry>Transaction isolation level for the database connection.</entry>
      </row>
      <row>
       <entry>CUBRID_PARAM_LOCK_TIMEOUT</entry>
       <entry>Transaction timeout in seconds.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
  </para>

  <para>
   The following constants can be used when setting the transaction isolation
   level. They can be passed to <function>cubrid_set_db_parameter</function>
   or returned by <function>cubrid_get_db_parameter</function>.
  <table>
   <title>CUBRID isolation level flags</title>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>Constant</entry>
       <entry>Description</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE</entry>
       <entry>The lowest isolation level (1). A dirty, non-repeatable or
        phantom read may occur for the tuple and a non-repeatable read may
        occur for the table as well.</entry>
      </row>
      <row>
       <entry>TRAN_COMMIT_CLASS_COMMIT_INSTANCE</entry>
       <entry>A relatively low isolation level (2). A dirty read does not
        occur, but non-repeatable or phantom read may occur.</entry>
      </row>
      <row>
       <entry>TRAN_REP_CLASS_UNCOMMIT_INSTANCE</entry>
       <entry>The default isolation of CUBRID (3). A dirty, non-repeatable or
        phantom read may occur for the tuple, but repeatable read is ensured
        for the table.</entry>
      </row>
      <row>
       <entry>TRAN_REP_CLASS_COMMIT_INSTANCE</entry>
       <entry>A relatively low isolation level (4). A dirty read does not
        occur, but non-repeatable or phantom read may.</entry>
      </row>
      <row>
       <entry>TRAN_REP_CLASS_REP_INSTANCE</entry>
       <entry>A relatively high isolation level (5). A dirty or non-repeatable
       read does not occur, but a phantom read may.</entry>
      </row>
      <row>
       <entry>TRAN_SERIALIZABLE</entry>
       <entry>The highest isolation level (6). Problems concerning concurrency
       (e.g. dirty read, non-repeatable read, phantom read, etc.) do not
       occur.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
  </para>

  <para>
   The following constants can be used when getting schema information. They
   can be passed to <function>cubrid_schema</function>.
  <table>
   <title>CUBRID schema flags</title>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>Constant</entry>
       <entry>Description</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>CUBRID_SCH_CLASS</entry>
       <entry>Get name and type of table in CUBRID.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_VCLASS</entry>
       <entry>Get name and type of view in CUBRID.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_QUERY_SPEC</entry>
       <entry>Get the query definition of view.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_ATTRIBUTE</entry>
       <entry>Get the attributes of table column.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_CLASS_ATTRIBUTE</entry>
       <entry>Get the attributes of table.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_METHOD</entry>
       <entry>Get the instance method. The instance method is a method called
       by a class instance. It is used more often than the class method
       because most operations are executed in the instance.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_CLASS_METHOD</entry>
       <entry>Get the class method. The class method is a method called by a
        class object. It is usually used to create a new class instance or to
        initialize it. It is also used to access or update class
        attributes.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_METHOD_FILE</entry>
       <entry>Get the information of the file where the method of the table is
        defined.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_SUPERCLASS</entry>
       <entry>Get the name and type of table which table inherites attributes
        from.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_SUBCLASS</entry>
       <entry>Get the name and type of table which inherites attributes from
        this table.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_CONSTRAINT</entry>
       <entry>Get the table constraints.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_TRIGGER</entry>
       <entry>Get the table triggers.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_CLASS_PRIVILEGE</entry>
       <entry>Get the privilege information of table.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_ATTR_PRIVILEGE</entry>
       <entry>Get the privilege information of column.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_DIRECT_SUPER_CLASS</entry>
       <entry>Get the direct super table of table.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_PRIMARY_KEY</entry>
       <entry>Get the table primary key.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_IMPORTED_KEYS</entry>
       <entry>Get imported keys of table.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_EXPORTED_KEYS</entry>
       <entry>Get exported keys of table.</entry>
      </row>
      <row>
       <entry>CUBRID_SCH_CROSS_REFERENCE</entry>
       <entry>Get reference relationship of tow tables.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
  </para>

  <para>
  The following constants can be used when reporting errors. They can be
  returned from <function>cubrid_error_code_facility</function>.
  <table>
   <title>CUBRID error facility code</title>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>Constant</entry>
       <entry>Description</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>CUBRID_FACILITY_DBMS</entry>
       <entry>The error occurred in CUBRID dbms.</entry>
      </row>
      <row>
       <entry>CUBRID_FACILITY_CAS</entry>
       <entry>The error occurred in CUBRID broker cas.</entry>
      </row>
      <row>
       <entry>CUBRID_FACILITY_CCI</entry>
       <entry>The error occurred in CUBRID cci.</entry>
      </row>
      <row>
       <entry>CUBRID_FACILITY_CLIENT</entry>
       <entry>The error occurred in CUBRID PHP client.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
  </para>
</appendix>

<!-- 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
-->
