List:Internals« Previous MessageNext Message »
From:eherman Date:October 20 2005 2:28am
Subject:svn commit - mysqldoc@docsrva: r113 - branches/MikePluggable/trunk/refman-5.1
View as plain text  
Author: eherman
Date: 2005-10-20 02:28:04 +0200 (Thu, 20 Oct 2005)
New Revision: 113

Log:
stubbing in the api docs for the handler class. 

Modified:
   branches/MikePluggable/trunk/refman-5.1/custom-engine.xml

Modified: branches/MikePluggable/trunk/refman-5.1/custom-engine.xml
===================================================================
--- branches/MikePluggable/trunk/refman-5.1/custom-engine.xml	2005-10-20 00:07:41 UTC (rev
112)
+++ branches/MikePluggable/trunk/refman-5.1/custom-engine.xml	2005-10-20 00:28:04 UTC (rev
113)
@@ -21,124 +21,10389 @@
   
   <section id="custom-engine-api-reference">
     <title>API Reference</title>
-    
+
+    <refentry id="custom-engine-api-reference-add_index">
+      <refmeta>
+        <refentrytitle>add_index</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>add_index</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>add_index</function></funcdef>
+            <paramdef>TABLE
*<parameter>table_arg</parameter></paramdef>
+            <paramdef>KEY
*<parameter>key_info</parameter></paramdef>
+           
<paramdef>uint<parameter>num_of_keys</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>add_index    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>table_arg</literal></para></listitem>
+         
<listitem><para><literal>key_info</literal></para></listitem>
+         
<listitem><para><literal>num_of_keys</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return (HA_ERR_WRONG_COMMAND); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-alter_table_flags">
+      <refmeta>
+        <refentrytitle>alter_table_flags</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>alter_table_flags</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual ulong
<function>alter_table_flags</function></funcdef>
+            <paramdef><parameter>void</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>alter_table_flags    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>void</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-analyze">
+      <refmeta>
+        <refentrytitle>analyze</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>analyze</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>analyze</function></funcdef>
+            <paramdef>THD*<parameter>thd</parameter></paramdef>
+           
<paramdef>HA_CHECK_OPT*<parameter>check_opt</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>analyze    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>check_opt</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ADMIN_NOT_IMPLEMENTED; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-append_create_info">
+      <refmeta>
+        <refentrytitle>append_create_info</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>append_create_info</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual void
<function>append_create_info</function></funcdef>
+            <paramdef>String
*<parameter>packet</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>append_create_info    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>packet</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-assign_to_keycache">
+      <refmeta>
+        <refentrytitle>assign_to_keycache</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>assign_to_keycache</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>assign_to_keycache</function></funcdef>
+            <paramdef>THD*<parameter>thd</parameter></paramdef>
+           
<paramdef>HA_CHECK_OPT*<parameter>check_opt</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>assign_to_keycache    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>check_opt</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ADMIN_NOT_IMPLEMENTED; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-auto_repair">
+      <refmeta>
+        <refentrytitle>auto_repair</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>auto_repair</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual bool
<function>auto_repair</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>auto_repair    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-backup">
+      <refmeta>
+        <refentrytitle>backup</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>backup</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>backup</function></funcdef>
+            <paramdef>THD*<parameter>thd</parameter></paramdef>
+           
<paramdef>HA_CHECK_OPT*<parameter>check_opt</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>backup    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>check_opt</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ADMIN_NOT_IMPLEMENTED; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-bas_ext">
+      <refmeta>
+        <refentrytitle>bas_ext</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>bas_ext</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual const char **
<function>bas_ext</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>bas_ext    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const =0;
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-bulk_update_row">
+      <refmeta>
+        <refentrytitle>bulk_update_row</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>bulk_update_row</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>bulk_update_row</function></funcdef>
+            <paramdef>const byte
*<parameter>old_data</parameter></paramdef>
+            <paramdef>byte
*<parameter>new_data</parameter></paramdef>
+            <paramdef>uint
*<parameter>dup_key_found</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>bulk_update_row    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>old_data</literal></para></listitem>
+         
<listitem><para><literal>new_data</literal></para></listitem>
+         
<listitem><para><literal>dup_key_found</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { DBUG_ASSERT(FALSE); return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-can_switch_engines">
+      <refmeta>
+        <refentrytitle>can_switch_engines</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>can_switch_engines</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual bool
<function>can_switch_engines</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>can_switch_engines    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return 1; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-change_table_ptr">
+      <refmeta>
+        <refentrytitle>change_table_ptr</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>change_table_ptr</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void
<function>change_table_ptr</function></funcdef>
+            <paramdef>TABLE
*<parameter>table_arg</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>change_table_ptr    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>table_arg</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { table=table_arg; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-check">
+      <refmeta>
+        <refentrytitle>check</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>check</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>check</function></funcdef>
+            <paramdef>THD*<parameter>thd</parameter></paramdef>
+           
<paramdef>HA_CHECK_OPT*<parameter>check_opt</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>check    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>check_opt</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ADMIN_NOT_IMPLEMENTED; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-check_and_repair">
+      <refmeta>
+        <refentrytitle>check_and_repair</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>check_and_repair</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual bool
<function>check_and_repair</function></funcdef>
+            <paramdef>THD *<parameter>thd</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>check_and_repair    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-check_if_incompatible_data">
+      <refmeta>
+        <refentrytitle>check_if_incompatible_data</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>check_if_incompatible_data</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual bool
<function>check_if_incompatible_data</function></funcdef>
+            <paramdef>HA_CREATE_INFO
*<parameter>create_info</parameter></paramdef>
+           
<paramdef>uint<parameter>table_changes</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>check_if_incompatible_data   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>create_info</literal></para></listitem>
+         
<listitem><para><literal>table_changes</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return COMPATIBLE_DATA_NO; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-checksum">
+      <refmeta>
+        <refentrytitle>checksum</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>checksum</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual uint
<function>checksum</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>checksum    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
     <refentry id="custom-engine-api-reference-close">
       <refmeta>
         <refentrytitle>close</refentrytitle>
       </refmeta>
-      
+
       <refnamediv>
         <refname>close</refname>
-        <refpurpose>Open the table</refpurpose>
+        <refpurpose></refpurpose>
       </refnamediv>
-      
+
       <refsynopsisdiv>
         <funcsynopsis>
           <funcprototype>
             <funcdef>virtual int
<function>close</function></funcdef>
-            <void/>
+            <paramdef><parameter>void</parameter></paramdef>
           </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>close    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>void</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
           
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-cmp_ref">
+      <refmeta>
+        <refentrytitle>cmp_ref</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>cmp_ref</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>cmp_ref</function></funcdef>
+            <paramdef>const byte
*<parameter>ref1</parameter></paramdef>
+            <paramdef>const byte
*<parameter>ref2</parameter></paramdef>
+          </funcprototype>
+
         </funcsynopsis>
       </refsynopsisdiv>
-      
+
       <refsection>
-        <title>Description</title>
-        
-        <para>This is the <function>close</function>
method.</para>
+       <title>Description</title>
+
+    <para>This is the <function>cmp_ref    </function>
method.</para>
       </refsection>
-      
+
       <refsection>
         <title>Parameters</title>
-        
-        <para>This function has no parameters.</para>       
+
+        <itemizedlist>
+         
<listitem><para><literal>ref1</literal></para></listitem>
+         
<listitem><para><literal>ref2</literal></para></listitem>
+        </itemizedlist>
+
       </refsection>
-      
+
       <refsection>
         <title>Return Values</title>
-        
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return memcmp(ref1, ref2, ref_length); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-compare_key">
+      <refmeta>
+        <refentrytitle>compare_key</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>compare_key</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>int
<function>compare_key</function></funcdef>
+            <paramdef>key_range
*<parameter>range</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>compare_key    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
         <itemizedlist>
+         
<listitem><para><literal>range</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
           <listitem>
-            <para>
-              <literal>0</literal> - Table successfully closed.
-            </para>
-          </listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-cond_pop">
+      <refmeta>
+        <refentrytitle>cond_pop</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>cond_pop</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual void
<function>cond_pop</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>cond_pop    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
         </itemizedlist>
-        
+
       </refsection>
-        
+
       <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
         <title>Usage</title>
-        
+
         <programlisting>
-          Put an example here.
+          
         </programlisting>
-      </refsection> 
-      
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return; };
+        </programlisting>
+      </refsection>
+
     </refentry>
-    
-    
+
+
+    <refentry id="custom-engine-api-reference-cond_push">
+      <refmeta>
+        <refentrytitle>cond_push</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>cond_push</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual const COND *
<function>cond_push</function></funcdef>
+            <paramdef>const COND
*<parameter>cond</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>cond_push    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>cond</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return cond; };
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-create">
+      <refmeta>
+        <refentrytitle>create</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>create</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>create</function></funcdef>
+            <paramdef>const char
*<parameter>name</parameter></paramdef>
+            <paramdef>TABLE
*<parameter>form</parameter></paramdef>
+            <paramdef>HA_CREATE_INFO
*<parameter>info</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>create    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>name</literal></para></listitem>
+         
<listitem><para><literal>form</literal></para></listitem>
+         
<listitem><para><literal>info</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-create_handler_files">
+      <refmeta>
+        <refentrytitle>create_handler_files</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>create_handler_files</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>create_handler_files</function></funcdef>
+            <paramdef>const char
*<parameter>name</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>create_handler_files    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>name</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return FALSE;}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-delete_all_rows">
+      <refmeta>
+        <refentrytitle>delete_all_rows</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>delete_all_rows</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>delete_all_rows</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>delete_all_rows    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return (my_errno=HA_ERR_WRONG_COMMAND); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-delete_row">
+      <refmeta>
+        <refentrytitle>delete_row</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>delete_row</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>delete_row</function></funcdef>
+            <paramdef>const byte
*<parameter>buf</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>delete_row    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return  HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-delete_table">
+      <refmeta>
+        <refentrytitle>delete_table</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>delete_table</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>delete_table</function></funcdef>
+            <paramdef>const char
*<parameter>name</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>delete_table    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>name</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-disable_indexes">
+      <refmeta>
+        <refentrytitle>disable_indexes</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>disable_indexes</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>disable_indexes</function></funcdef>
+            <paramdef>uint<parameter>mode</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>disable_indexes    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>mode</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-discard_or_import_tablespace">
+      <refmeta>
+        <refentrytitle>discard_or_import_tablespace</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>discard_or_import_tablespace</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>discard_or_import_tablespace</function></funcdef>
+           
<paramdef>my_bool<parameter>discard</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>discard_or_import_tablespace   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>discard</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           {return HA_ERR_WRONG_COMMAND;}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-drop_index">
+      <refmeta>
+        <refentrytitle>drop_index</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>drop_index</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>drop_index</function></funcdef>
+            <paramdef>TABLE
*<parameter>table_arg</parameter></paramdef>
+            <paramdef>uint
*<parameter>key_num</parameter></paramdef>
+           
<paramdef>uint<parameter>num_of_keys</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>drop_index    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>table_arg</literal></para></listitem>
+         
<listitem><para><literal>key_num</literal></para></listitem>
+         
<listitem><para><literal>num_of_keys</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return (HA_ERR_WRONG_COMMAND); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-drop_partitions">
+      <refmeta>
+        <refentrytitle>drop_partitions</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>drop_partitions</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>drop_partitions</function></funcdef>
+            <paramdef>const char
*<parameter>path</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>drop_partitions    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>path</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-dump">
+      <refmeta>
+        <refentrytitle>dump</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>dump</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>dump</function></funcdef>
+            <paramdef>THD*<parameter>thd</parameter></paramdef>
+            <paramdef>int fd
=<parameter>-1</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>dump    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>-1</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-enable_indexes">
+      <refmeta>
+        <refentrytitle>enable_indexes</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>enable_indexes</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>enable_indexes</function></funcdef>
+            <paramdef>uint<parameter>mode</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>enable_indexes    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>mode</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-end_bulk_delete">
+      <refmeta>
+        <refentrytitle>end_bulk_delete</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>end_bulk_delete</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>end_bulk_delete</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>end_bulk_delete    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { DBUG_ASSERT(FALSE); return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-end_bulk_insert">
+      <refmeta>
+        <refentrytitle>end_bulk_insert</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>end_bulk_insert</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>end_bulk_insert</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>end_bulk_insert    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           {return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-end_bulk_update">
+      <refmeta>
+        <refentrytitle>end_bulk_update</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>end_bulk_update</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual void
<function>end_bulk_update</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>end_bulk_update    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-estimate_rows_upper_bound">
+      <refmeta>
+        <refentrytitle>estimate_rows_upper_bound</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>estimate_rows_upper_bound</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual ha_rows
<function>estimate_rows_upper_bound</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>estimate_rows_upper_bound   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return records+EXTRA_RECORDS; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-exec_bulk_update">
+      <refmeta>
+        <refentrytitle>exec_bulk_update</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>exec_bulk_update</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>exec_bulk_update</function></funcdef>
+            <paramdef>uint
*<parameter>dup_key_found</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>exec_bulk_update    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>dup_key_found</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { DBUG_ASSERT(FALSE); return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-external_lock">
+      <refmeta>
+        <refentrytitle>external_lock</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>external_lock</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>external_lock</function></funcdef>
+            <paramdef>THD *<parameter>thd</parameter></paramdef>
+           
<paramdef>int<parameter>lock_type</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>external_lock    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>lock_type</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-extra">
+      <refmeta>
+        <refentrytitle>extra</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>extra</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>extra</function></funcdef>
+            <paramdef>enum
ha_extra_function<parameter>operation</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>extra    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>operation</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-extra_opt">
+      <refmeta>
+        <refentrytitle>extra_opt</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>extra_opt</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>extra_opt</function></funcdef>
+            <paramdef>enum
ha_extra_function<parameter>operation</parameter></paramdef>
+           
<paramdef>ulong<parameter>cache_size</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>extra_opt    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>operation</literal></para></listitem>
+         
<listitem><para><literal>cache_size</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return extra(operation); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-extra_rec_buf_length">
+      <refmeta>
+        <refentrytitle>extra_rec_buf_length</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>extra_rec_buf_length</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual uint
<function>extra_rec_buf_length</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>extra_rec_buf_length    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-free_foreign_key_create_info">
+      <refmeta>
+        <refentrytitle>free_foreign_key_create_info</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>free_foreign_key_create_info</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual void
<function>free_foreign_key_create_info</function></funcdef>
+            <paramdef>char*<parameter>str</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>free_foreign_key_create_info   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>str</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ft_end">
+      <refmeta>
+        <refentrytitle>ft_end</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ft_end</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void <function>ft_end</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ft_end    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { ft_handler=NULL; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ft_init">
+      <refmeta>
+        <refentrytitle>ft_init</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ft_init</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>ft_init</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ft_init    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ft_init_ext">
+      <refmeta>
+        <refentrytitle>ft_init_ext</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ft_init_ext</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual FT_INFO *
<function>ft_init_ext</function></funcdef>
+            <paramdef>uint<parameter>flags</parameter></paramdef>
+            <paramdef>uint<parameter>inx</parameter></paramdef>
+            <paramdef>String
*<parameter>key</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ft_init_ext    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>flags</literal></para></listitem>
+         
<listitem><para><literal>inx</literal></para></listitem>
+         
<listitem><para><literal>key</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+            { return NULL; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ft_read">
+      <refmeta>
+        <refentrytitle>ft_read</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ft_read</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>ft_read</function></funcdef>
+            <paramdef>byte *<parameter>buf</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ft_read    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-get_auto_increment">
+      <refmeta>
+        <refentrytitle>get_auto_increment</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>get_auto_increment</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual ulonglong
<function>get_auto_increment</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>get_auto_increment    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-get_default_no_partitions">
+      <refmeta>
+        <refentrytitle>get_default_no_partitions</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>get_default_no_partitions</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>get_default_no_partitions</function></funcdef>
+           
<paramdef>ulonglong<parameter>max_rows</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>get_default_no_partitions   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>max_rows</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return 1;}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-get_dup_key">
+      <refmeta>
+        <refentrytitle>get_dup_key</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>get_dup_key</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>uint
<function>get_dup_key</function></funcdef>
+            <paramdef>int<parameter>error</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>get_dup_key    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>error</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-get_error_message">
+      <refmeta>
+        <refentrytitle>get_error_message</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>get_error_message</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual bool
<function>get_error_message</function></funcdef>
+            <paramdef>int<parameter>error</parameter></paramdef>
+            <paramdef>String
*<parameter>buf</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>get_error_message    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>error</literal></para></listitem>
+         
<listitem><para><literal>buf</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-get_foreign_key_create_info">
+      <refmeta>
+        <refentrytitle>get_foreign_key_create_info</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>get_foreign_key_create_info</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual char*
<function>get_foreign_key_create_info</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>get_foreign_key_create_info   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return(NULL);}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-get_foreign_key_list">
+      <refmeta>
+        <refentrytitle>get_foreign_key_list</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>get_foreign_key_list</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>get_foreign_key_list</function></funcdef>
+            <paramdef>THD *<parameter>thd</parameter></paramdef>
+            <paramdef>List&gt;FOREIGN_KEY_INFO&lt;
*<parameter>f_key_list</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>get_foreign_key_list    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>f_key_list</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-get_index">
+      <refmeta>
+        <refentrytitle>get_index</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>get_index</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>uint
<function>get_index</function></funcdef>
+            <paramdef><parameter>void</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>get_index    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>void</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           const { return active_index; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-get_row_type">
+      <refmeta>
+        <refentrytitle>get_row_type</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>get_row_type</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual enum row_type
<function>get_row_type</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>get_row_type    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return ROW_TYPE_NOT_USED; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_allocate_read_write_set">
+      <refmeta>
+        <refentrytitle>ha_allocate_read_write_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_allocate_read_write_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>int
<function>ha_allocate_read_write_set</function></funcdef>
+           
<paramdef>ulong<parameter>no_fields</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_allocate_read_write_set   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>no_fields</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_clear_all_set">
+      <refmeta>
+        <refentrytitle>ha_clear_all_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_clear_all_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void
<function>ha_clear_all_set</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_clear_all_set    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_clear_bit_in_read_set">
+      <refmeta>
+        <refentrytitle>ha_clear_bit_in_read_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_clear_bit_in_read_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void
<function>ha_clear_bit_in_read_set</function></funcdef>
+           
<paramdef>uint<parameter>fieldnr</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_clear_bit_in_read_set    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>fieldnr</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { DBUG_ENTER("ha_clear_bit_in_read_set"); DBUG_PRINT("info", ("fieldnr = %d",
fieldnr)); bitmap_clear_bit(read_set, fieldnr); DBUG_VOID_RETURN; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_clear_bit_in_write_set">
+      <refmeta>
+        <refentrytitle>ha_clear_bit_in_write_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_clear_bit_in_write_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void
<function>ha_clear_bit_in_write_set</function></funcdef>
+           
<paramdef>uint<parameter>fieldnr</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_clear_bit_in_write_set   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>fieldnr</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { DBUG_ENTER("ha_clear_bit_in_write_set"); DBUG_PRINT("info", ("fieldnr = %d",
fieldnr)); bitmap_clear_bit(write_set, fieldnr); DBUG_VOID_RETURN; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_deallocate_read_write_set">
+      <refmeta>
+        <refentrytitle>ha_deallocate_read_write_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_deallocate_read_write_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void
<function>ha_deallocate_read_write_set</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_deallocate_read_write_set   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_get_all_bit_in_read_clear">
+      <refmeta>
+        <refentrytitle>ha_get_all_bit_in_read_clear</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_get_all_bit_in_read_clear</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>bool
<function>ha_get_all_bit_in_read_clear</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_get_all_bit_in_read_clear   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { bool all_bits_set= bitmap_is_clear_all(read_set);
DBUG_ENTER("ha_get_all_bit_in_read_clear"); DBUG_PRINT("info", ("all bits clear = %u",
all_bits_set)); DBUG_RETURN(all_bits_set); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_get_all_bit_in_read_set">
+      <refmeta>
+        <refentrytitle>ha_get_all_bit_in_read_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_get_all_bit_in_read_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>bool
<function>ha_get_all_bit_in_read_set</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_get_all_bit_in_read_set   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { bool all_bits_set= bitmap_is_set_all(read_set);
DBUG_ENTER("ha_get_all_bit_in_read_set"); DBUG_PRINT("info", ("all bits set = %u",
all_bits_set)); DBUG_RETURN(all_bits_set); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_get_all_bit_in_write_clear">
+      <refmeta>
+        <refentrytitle>ha_get_all_bit_in_write_clear</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_get_all_bit_in_write_clear</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>bool
<function>ha_get_all_bit_in_write_clear</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_get_all_bit_in_write_clear   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { bool all_bits_set= bitmap_is_clear_all(write_set);
DBUG_ENTER("ha_get_all_bit_in_write_clear"); DBUG_PRINT("info", ("all bits clear = %u",
all_bits_set)); DBUG_RETURN(all_bits_set); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_get_all_bit_in_write_set">
+      <refmeta>
+        <refentrytitle>ha_get_all_bit_in_write_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_get_all_bit_in_write_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>bool
<function>ha_get_all_bit_in_write_set</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_get_all_bit_in_write_set   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { bool all_bits_set= bitmap_is_set_all(write_set);
DBUG_ENTER("ha_get_all_bit_in_write_set"); DBUG_PRINT("info", ("all bits set = %u",
all_bits_set)); DBUG_RETURN(all_bits_set); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_get_bit_in_read_set">
+      <refmeta>
+        <refentrytitle>ha_get_bit_in_read_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_get_bit_in_read_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>bool
<function>ha_get_bit_in_read_set</function></funcdef>
+           
<paramdef>uint<parameter>fieldnr</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_get_bit_in_read_set    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>fieldnr</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+          {bool
bit_set=bitmap_is_set(read_set,fieldnr);DBUG_ENTER("ha_get_bit_in_read_set");DBUG_PRINT("info",
("bit %u = %u", fieldnr, bit_set));DBUG_RETURN(bit_set);}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_get_bit_in_write_set">
+      <refmeta>
+        <refentrytitle>ha_get_bit_in_write_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_get_bit_in_write_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>bool
<function>ha_get_bit_in_write_set</function></funcdef>
+           
<paramdef>uint<parameter>fieldnr</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_get_bit_in_write_set    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>fieldnr</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+          {bool
bit_set=bitmap_is_set(write_set,fieldnr);DBUG_ENTER("ha_get_bit_in_write_set");DBUG_PRINT("info",
("bit %u = %u", fieldnr, bit_set));DBUG_RETURN(bit_set);}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_index_end">
+      <refmeta>
+        <refentrytitle>ha_index_end</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_index_end</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>int
<function>ha_index_end</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_index_end    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { DBUG_ENTER("ha_index_end"); DBUG_ASSERT(inited==INDEX); inited=NONE;
DBUG_RETURN(index_end()); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_index_init">
+      <refmeta>
+        <refentrytitle>ha_index_init</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_index_init</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>int
<function>ha_index_init</function></funcdef>
+            <paramdef>uint<parameter>idx</parameter></paramdef>
+           
<paramdef>bool<parameter>sorted</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_index_init    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>idx</literal></para></listitem>
+         
<listitem><para><literal>sorted</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { DBUG_ENTER("ha_index_init"); DBUG_ASSERT(inited==NONE); inited=INDEX;
DBUG_RETURN(index_init(idx, sorted)); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_index_or_rnd_end">
+      <refmeta>
+        <refentrytitle>ha_index_or_rnd_end</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_index_or_rnd_end</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>int
<function>ha_index_or_rnd_end</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_index_or_rnd_end    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { return inited == INDEX ? ha_index_end() : inited == RND ? ha_rnd_end() : 0;
}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_initialise">
+      <refmeta>
+        <refentrytitle>ha_initialise</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_initialise</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>ha_initialise</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_initialise    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_open">
+      <refmeta>
+        <refentrytitle>ha_open</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_open</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>int <function>ha_open</function></funcdef>
+            <paramdef>const char
*<parameter>name</parameter></paramdef>
+            <paramdef>int<parameter>mode</parameter></paramdef>
+           
<paramdef>int<parameter>test_if_locked</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_open    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>name</literal></para></listitem>
+         
<listitem><para><literal>mode</literal></para></listitem>
+         
<listitem><para><literal>test_if_locked</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_reset">
+      <refmeta>
+        <refentrytitle>ha_reset</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_reset</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>int <function>ha_reset</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_reset    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { DBUG_ENTER("ha_reset"); ha_clear_all_set(); DBUG_RETURN(reset());  }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_retrieve_all_cols">
+      <refmeta>
+        <refentrytitle>ha_retrieve_all_cols</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_retrieve_all_cols</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>ha_retrieve_all_cols</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_retrieve_all_cols    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_retrieve_all_pk">
+      <refmeta>
+        <refentrytitle>ha_retrieve_all_pk</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_retrieve_all_pk</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>ha_retrieve_all_pk</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_retrieve_all_pk    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_rnd_end">
+      <refmeta>
+        <refentrytitle>ha_rnd_end</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_rnd_end</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>int
<function>ha_rnd_end</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_rnd_end    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { DBUG_ENTER("ha_rnd_end"); DBUG_ASSERT(inited==RND); inited=NONE;
DBUG_RETURN(rnd_end()); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_rnd_init">
+      <refmeta>
+        <refentrytitle>ha_rnd_init</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_rnd_init</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>int
<function>ha_rnd_init</function></funcdef>
+            <paramdef>bool<parameter>scan</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_rnd_init    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>scan</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { 
+             DBUG_ENTER("ha_rnd_init"); 
+             DBUG_ASSERT(inited==NONE || (inited==RND &amp;&amp; scan)); 
+             inited=RND;
+             DBUG_RETURN(rnd_init(scan));
+           }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_set_all_bits_in_read_set">
+      <refmeta>
+        <refentrytitle>ha_set_all_bits_in_read_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_set_all_bits_in_read_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void
<function>ha_set_all_bits_in_read_set</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_set_all_bits_in_read_set   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { DBUG_ENTER("ha_set_all_bits_in_read_set"); bitmap_set_all(read_set);
DBUG_VOID_RETURN;}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_set_all_bits_in_write_set">
+      <refmeta>
+        <refentrytitle>ha_set_all_bits_in_write_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_set_all_bits_in_write_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void
<function>ha_set_all_bits_in_write_set</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_set_all_bits_in_write_set   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { DBUG_ENTER("ha_set_all_bits_in_write_set"); bitmap_set_all(write_set);
DBUG_VOID_RETURN; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_set_bit_in_read_set">
+      <refmeta>
+        <refentrytitle>ha_set_bit_in_read_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_set_bit_in_read_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void
<function>ha_set_bit_in_read_set</function></funcdef>
+           
<paramdef>uint<parameter>fieldnr</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_set_bit_in_read_set    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>fieldnr</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+          { 
+            DBUG_ENTER("ha_set_bit_in_read_set");
+            DBUG_PRINT("info", ("fieldnr = %d", fieldnr));
+            bitmap_set_bit(read_set, fieldnr);
+            DBUG_VOID_RETURN;
+          }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_set_bit_in_rw_set">
+      <refmeta>
+        <refentrytitle>ha_set_bit_in_rw_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_set_bit_in_rw_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void
<function>ha_set_bit_in_rw_set</function></funcdef>
+           
<paramdef>uint<parameter>fieldnr</parameter></paramdef>
+           
<paramdef>bool<parameter>write_op</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_set_bit_in_rw_set    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>fieldnr</literal></para></listitem>
+         
<listitem><para><literal>write_op</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           {
+             DBUG_ENTER("ha_set_bit_in_rw_set");
+             DBUG_PRINT("info", ("Set bit %u in read set", fieldnr));
+             bitmap_set_bit(read_set, fieldnr);
+             if (!write_op)
+             {
+               DBUG_VOID_RETURN;
+             } else { 
+               DBUG_PRINT("info", ("Set bit %u in read and write set", fieldnr));
+               bitmap_set_bit(write_set, fieldnr);
+             }
+             DBUG_VOID_RETURN;
+           }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_set_bit_in_write_set">
+      <refmeta>
+        <refentrytitle>ha_set_bit_in_write_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_set_bit_in_write_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void
<function>ha_set_bit_in_write_set</function></funcdef>
+           
<paramdef>uint<parameter>fieldnr</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_set_bit_in_write_set    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>fieldnr</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           { 
+             DBUG_ENTER("ha_set_bit_in_write_set");
+             DBUG_PRINT("info", ("fieldnr = %d", fieldnr));
+             bitmap_set_bit(write_set, fieldnr);
+             DBUG_VOID_RETURN;
+           }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-ha_set_primary_key_in_read_set">
+      <refmeta>
+        <refentrytitle>ha_set_primary_key_in_read_set</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>ha_set_primary_key_in_read_set</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>void
<function>ha_set_primary_key_in_read_set</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>ha_set_primary_key_in_read_set   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-has_transactions">
+      <refmeta>
+        <refentrytitle>has_transactions</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>has_transactions</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual bool
<function>has_transactions</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>has_transactions    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+          { return 0;}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_ddl_flags">
+      <refmeta>
+        <refentrytitle>index_ddl_flags</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_ddl_flags</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual ulong
<function>index_ddl_flags</function></funcdef>
+            <paramdef>KEY
*<parameter>wanted_index</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_ddl_flags    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>wanted_index</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return (HA_DDL_SUPPORT); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_end">
+      <refmeta>
+        <refentrytitle>index_end</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_end</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>index_end</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_end    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { active_index=MAX_KEY; return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_first">
+      <refmeta>
+        <refentrytitle>index_first</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_first</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>index_first</function></funcdef>
+            <paramdef>byte *<parameter>buf</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_first    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return  HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_flags">
+      <refmeta>
+        <refentrytitle>index_flags</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_flags</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual ulong
<function>index_flags</function></funcdef>
+            <paramdef>uint<parameter>idx</parameter></paramdef>
+            <paramdef>uint<parameter>part</parameter></paramdef>
+           
<paramdef>bool<parameter>all_parts</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_flags    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>idx</literal></para></listitem>
+         
<listitem><para><literal>part</literal></para></listitem>
+         
<listitem><para><literal>all_parts</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const =0;
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_init">
+      <refmeta>
+        <refentrytitle>index_init</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_init</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>index_init</function></funcdef>
+            <paramdef>uint<parameter>idx</parameter></paramdef>
+           
<paramdef>bool<parameter>sorted</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_init    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>idx</literal></para></listitem>
+         
<listitem><para><literal>sorted</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { active_index=idx; return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_last">
+      <refmeta>
+        <refentrytitle>index_last</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_last</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>index_last</function></funcdef>
+            <paramdef>byte *<parameter>buf</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_last    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return  HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_next">
+      <refmeta>
+        <refentrytitle>index_next</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_next</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>index_next</function></funcdef>
+            <paramdef>byte *<parameter>buf</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_next    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return  HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_next_same">
+      <refmeta>
+        <refentrytitle>index_next_same</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_next_same</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>index_next_same</function></funcdef>
+            <paramdef>byte *<parameter>buf</parameter></paramdef>
+            <paramdef>const byte
*<parameter>key</parameter></paramdef>
+           
<paramdef>uint<parameter>keylen</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_next_same    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+         
<listitem><para><literal>key</literal></para></listitem>
+         
<listitem><para><literal>keylen</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_prev">
+      <refmeta>
+        <refentrytitle>index_prev</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_prev</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>index_prev</function></funcdef>
+            <paramdef>byte *<parameter>buf</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_prev    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return  HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_read">
+      <refmeta>
+        <refentrytitle>index_read</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_read</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>index_read</function></funcdef>
+            <paramdef>byte *<parameter>buf</parameter></paramdef>
+            <paramdef>const byte
*<parameter>key</parameter></paramdef>
+           
<paramdef>uint<parameter>key_len</parameter></paramdef>
+            <paramdef>enum
ha_rkey_function<parameter>find_flag</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_read    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+         
<listitem><para><literal>key</literal></para></listitem>
+         
<listitem><para><literal>key_len</literal></para></listitem>
+         
<listitem><para><literal>find_flag</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return  HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_read_idx">
+      <refmeta>
+        <refentrytitle>index_read_idx</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_read_idx</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>index_read_idx</function></funcdef>
+            <paramdef>byte *<parameter>buf</parameter></paramdef>
+            <paramdef>uint<parameter>index</parameter></paramdef>
+            <paramdef>const byte
*<parameter>key</parameter></paramdef>
+           
<paramdef>uint<parameter>key_len</parameter></paramdef>
+            <paramdef>enum
ha_rkey_function<parameter>find_flag</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_read_idx    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+         
<listitem><para><literal>index</literal></para></listitem>
+         
<listitem><para><literal>key</literal></para></listitem>
+         
<listitem><para><literal>key_len</literal></para></listitem>
+         
<listitem><para><literal>find_flag</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_read_last">
+      <refmeta>
+        <refentrytitle>index_read_last</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_read_last</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>index_read_last</function></funcdef>
+            <paramdef>byte *<parameter>buf</parameter></paramdef>
+            <paramdef>const byte
*<parameter>key</parameter></paramdef>
+           
<paramdef>uint<parameter>key_len</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_read_last    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+         
<listitem><para><literal>key</literal></para></listitem>
+         
<listitem><para><literal>key_len</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return (my_errno=HA_ERR_WRONG_COMMAND); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-index_type">
+      <refmeta>
+        <refentrytitle>index_type</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>index_type</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual const char *
<function>index_type</function></funcdef>
+           
<paramdef>uint<parameter>key_number</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>index_type    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>key_number</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { DBUG_ASSERT(0); return "";}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-indexes_are_disabled">
+      <refmeta>
+        <refentrytitle>indexes_are_disabled</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>indexes_are_disabled</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>indexes_are_disabled</function></funcdef>
+            <paramdef><parameter>void</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>indexes_are_disabled    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>void</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           {return 0;}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-info">
+      <refmeta>
+        <refentrytitle>info</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>info</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual void
<function>info</function></funcdef>
+            <paramdef><parameter>uint</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>info    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>uint</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-init_table_handle_for_HANDLER">
+      <refmeta>
+        <refentrytitle>init_table_handle_for_HANDLER</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>init_table_handle_for_HANDLER</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual void
<function>init_table_handle_for_HANDLER</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>init_table_handle_for_HANDLER   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-is_crashed">
+      <refmeta>
+        <refentrytitle>is_crashed</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>is_crashed</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual bool
<function>is_crashed</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>is_crashed    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const  { return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-is_fk_defined_on_table_or_index">
+      <refmeta>
+        <refentrytitle>is_fk_defined_on_table_or_index</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>is_fk_defined_on_table_or_index</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual bool
<function>is_fk_defined_on_table_or_index</function></funcdef>
+            <paramdef>uint<parameter>index</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>is_fk_defined_on_table_or_index   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>index</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return FALSE; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-keys_to_use_for_scanning">
+      <refmeta>
+        <refentrytitle>keys_to_use_for_scanning</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>keys_to_use_for_scanning</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual const key_map *
<function>keys_to_use_for_scanning</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>keys_to_use_for_scanning    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return &amp;key_map_empty; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-lock_count">
+      <refmeta>
+        <refentrytitle>lock_count</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>lock_count</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual uint
<function>lock_count</function></funcdef>
+            <paramdef><parameter>void</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>lock_count    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>void</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return 1; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-low_byte_first">
+      <refmeta>
+        <refentrytitle>low_byte_first</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>low_byte_first</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual bool
<function>low_byte_first</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>low_byte_first    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return 1; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-max_key_length">
+      <refmeta>
+        <refentrytitle>max_key_length</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>max_key_length</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>uint
<function>max_key_length</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>max_key_length    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           const { return min(MAX_KEY_LENGTH, max_supported_key_length()); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-max_key_part_length">
+      <refmeta>
+        <refentrytitle>max_key_part_length</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>max_key_part_length</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>uint
<function>max_key_part_length</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>max_key_part_length    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           const { return min(MAX_KEY_LENGTH, max_supported_key_part_length()); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-max_key_parts">
+      <refmeta>
+        <refentrytitle>max_key_parts</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>max_key_parts</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>uint
<function>max_key_parts</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>max_key_parts    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           const { return min(MAX_REF_PARTS, max_supported_key_parts()); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-max_keys">
+      <refmeta>
+        <refentrytitle>max_keys</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>max_keys</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>uint <function>max_keys</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>max_keys    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           const { return min(MAX_KEY, max_supported_keys()); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-max_record_length">
+      <refmeta>
+        <refentrytitle>max_record_length</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>max_record_length</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>uint
<function>max_record_length</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>max_record_length    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Implementation</title>
+
+        <programlisting>
+           const { return min(HA_MAX_REC_LENGTH, max_supported_record_length()); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-max_supported_key_length">
+      <refmeta>
+        <refentrytitle>max_supported_key_length</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>max_supported_key_length</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual uint
<function>max_supported_key_length</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>max_supported_key_length    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return MAX_KEY_LENGTH; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-max_supported_key_part_length">
+      <refmeta>
+        <refentrytitle>max_supported_key_part_length</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>max_supported_key_part_length</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual uint
<function>max_supported_key_part_length</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>max_supported_key_part_length   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return 255; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-max_supported_key_parts">
+      <refmeta>
+        <refentrytitle>max_supported_key_parts</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>max_supported_key_parts</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual uint
<function>max_supported_key_parts</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>max_supported_key_parts    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return MAX_REF_PARTS; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-max_supported_keys">
+      <refmeta>
+        <refentrytitle>max_supported_keys</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>max_supported_keys</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual uint
<function>max_supported_keys</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>max_supported_keys    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return 0; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-max_supported_record_length">
+      <refmeta>
+        <refentrytitle>max_supported_record_length</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>max_supported_record_length</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual uint
<function>max_supported_record_length</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>max_supported_record_length   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return HA_MAX_REC_LENGTH; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-min_record_length">
+      <refmeta>
+        <refentrytitle>min_record_length</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>min_record_length</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual uint
<function>min_record_length</function></funcdef>
+           
<paramdef>uint<parameter>options</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>min_record_length    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>options</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return 1; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-net_read_dump">
+      <refmeta>
+        <refentrytitle>net_read_dump</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>net_read_dump</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>net_read_dump</function></funcdef>
+            <paramdef>NET*<parameter>net</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>net_read_dump    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>net</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
     <refentry id="custom-engine-api-reference-open">
       <refmeta>
         <refentrytitle>open</refentrytitle>
       </refmeta>
-      
+
       <refnamediv>
         <refname>open</refname>
-        <refpurpose>Open the table</refpurpose>
+        <refpurpose></refpurpose>
       </refnamediv>
-      
+
       <refsynopsisdiv>
         <funcsynopsis>
           <funcprototype>
             <funcdef>virtual int
<function>open</function></funcdef>
-            <paramdef>const char
<parameter>*name</parameter></paramdef>
-            <paramdef>int <parameter>mode</parameter></paramdef>
-            <paramdef>uint
<parameter>test_if_locked</parameter></paramdef>
+            <paramdef>const char
*<parameter>name</parameter></paramdef>
+            <paramdef>int<parameter>mode</parameter></paramdef>
+           
<paramdef>uint<parameter>test_if_locked</parameter></paramdef>
           </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>open    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>name</literal></para></listitem>
+         
<listitem><para><literal>mode</literal></para></listitem>
+         
<listitem><para><literal>test_if_locked</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
           
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-optimize">
+      <refmeta>
+        <refentrytitle>optimize</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>optimize</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>optimize</function></funcdef>
+            <paramdef>THD*<parameter>thd</parameter></paramdef>
+           
<paramdef>HA_CHECK_OPT*<parameter>check_opt</parameter></paramdef>
+          </funcprototype>
+
         </funcsynopsis>
       </refsynopsisdiv>
-      
+
       <refsection>
-        <title>Description</title>
-        
-        <para>This is the <function>open</function>
method.</para>
+       <title>Description</title>
+
+    <para>This is the <function>optimize    </function>
method.</para>
       </refsection>
-      
+
       <refsection>
         <title>Parameters</title>
-        
+
         <itemizedlist>
-          <listitem><para><literal>name</literal> - The name of
the
-            table to open.</para></listitem>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>check_opt</literal></para></listitem>
         </itemizedlist>
-        
+
       </refsection>
-      
+
       <refsection>
         <title>Return Values</title>
-        
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ADMIN_NOT_IMPLEMENTED; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-partition_flags">
+      <refmeta>
+        <refentrytitle>partition_flags</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>partition_flags</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual ulong
<function>partition_flags</function></funcdef>
+            <paramdef><parameter>void</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>partition_flags    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
         <itemizedlist>
-        <listitem>
-          <para>
-            <literal>0</literal> - Table successfully opened.
-          </para>
-        </listitem>
+         
<listitem><para><literal>void</literal></para></listitem>
         </itemizedlist>
-        
+
       </refsection>
-      
+
       <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
         <title>Usage</title>
-        
+
         <programlisting>
-          Put an example here.
+          
         </programlisting>
       </refsection>
-      
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           const { return 0;}
+        </programlisting>
+      </refsection>
+
     </refentry>
+
+
+    <refentry id="custom-engine-api-reference-position">
+      <refmeta>
+        <refentrytitle>position</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>position</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual void
<function>position</function></funcdef>
+            <paramdef>const byte
*<parameter>record</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>position    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>record</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-preload_keys">
+      <refmeta>
+        <refentrytitle>preload_keys</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>preload_keys</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>preload_keys</function></funcdef>
+            <paramdef>THD*<parameter>thd</parameter></paramdef>
+           
<paramdef>HA_CHECK_OPT*<parameter>check_opt</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>preload_keys    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>check_opt</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+            { return HA_ADMIN_NOT_IMPLEMENTED; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-primary_key_is_clustered">
+      <refmeta>
+        <refentrytitle>primary_key_is_clustered</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>primary_key_is_clustered</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual bool
<function>primary_key_is_clustered</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>primary_key_is_clustered    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return FALSE; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-print_error">
+      <refmeta>
+        <refentrytitle>print_error</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>print_error</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual void
<function>print_error</function></funcdef>
+            <paramdef>int<parameter>error</parameter></paramdef>
+           
<paramdef>myf<parameter>errflag</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>print_error    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>error</literal></para></listitem>
+         
<listitem><para><literal>errflag</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-read_first_row">
+      <refmeta>
+        <refentrytitle>read_first_row</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>read_first_row</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>read_first_row</function></funcdef>
+            <paramdef>byte *<parameter>buf</parameter></paramdef>
+           
<paramdef>uint<parameter>primary_key</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>read_first_row    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+         
<listitem><para><literal>primary_key</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-read_multi_range_first">
+      <refmeta>
+        <refentrytitle>read_multi_range_first</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>read_multi_range_first</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>read_multi_range_first</function></funcdef>
+            <paramdef>KEY_MULTI_RANGE
**<parameter>found_range_p</parameter></paramdef>
+            <paramdef>KEY_MULTI_RANGE
*<parameter>ranges</parameter></paramdef>
+           
<paramdef>uint<parameter>range_count</parameter></paramdef>
+           
<paramdef>bool<parameter>sorted</parameter></paramdef>
+            <paramdef>HANDLER_BUFFER
*<parameter>buffer</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>read_multi_range_first    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>found_range_p</literal></para></listitem>
+         
<listitem><para><literal>ranges</literal></para></listitem>
+         
<listitem><para><literal>range_count</literal></para></listitem>
+         
<listitem><para><literal>sorted</literal></para></listitem>
+         
<listitem><para><literal>buffer</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-read_multi_range_next">
+      <refmeta>
+        <refentrytitle>read_multi_range_next</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>read_multi_range_next</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>read_multi_range_next</function></funcdef>
+            <paramdef>KEY_MULTI_RANGE
**<parameter>found_range_p</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>read_multi_range_next    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>found_range_p</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-read_range_first">
+      <refmeta>
+        <refentrytitle>read_range_first</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>read_range_first</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>read_range_first</function></funcdef>
+            <paramdef>const key_range
*<parameter>start_key</parameter></paramdef>
+            <paramdef>const key_range
*<parameter>end_key</parameter></paramdef>
+           
<paramdef>bool<parameter>eq_range</parameter></paramdef>
+           
<paramdef>bool<parameter>sorted</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>read_range_first    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>start_key</literal></para></listitem>
+         
<listitem><para><literal>end_key</literal></para></listitem>
+         
<listitem><para><literal>eq_range</literal></para></listitem>
+         
<listitem><para><literal>sorted</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-read_range_next">
+      <refmeta>
+        <refentrytitle>read_range_next</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>read_range_next</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>read_range_next</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>read_range_next    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-read_time">
+      <refmeta>
+        <refentrytitle>read_time</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>read_time</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual double
<function>read_time</function></funcdef>
+            <paramdef>uint<parameter>index</parameter></paramdef>
+           
<paramdef>uint<parameter>ranges</parameter></paramdef>
+           
<paramdef>ha_rows<parameter>rows</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>read_time    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>index</literal></para></listitem>
+         
<listitem><para><literal>ranges</literal></para></listitem>
+         
<listitem><para><literal>rows</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return rows2double(ranges+rows); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-records_in_range">
+      <refmeta>
+        <refentrytitle>records_in_range</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>records_in_range</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual ha_rows
<function>records_in_range</function></funcdef>
+            <paramdef>uint<parameter>inx</parameter></paramdef>
+            <paramdef>key_range
*<parameter>min_key</parameter></paramdef>
+            <paramdef>key_range
*<parameter>max_key</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>records_in_range    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>inx</literal></para></listitem>
+         
<listitem><para><literal>min_key</literal></para></listitem>
+         
<listitem><para><literal>max_key</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+            { return (ha_rows) 10; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-referenced_by_foreign_key">
+      <refmeta>
+        <refentrytitle>referenced_by_foreign_key</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>referenced_by_foreign_key</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual uint
<function>referenced_by_foreign_key</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>referenced_by_foreign_key   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return 0;}
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-register_query_cache_table">
+      <refmeta>
+        <refentrytitle>register_query_cache_table</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>register_query_cache_table</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual my_bool
<function>register_query_cache_table</function></funcdef>
+            <paramdef>THD *<parameter>thd</parameter></paramdef>
+            <paramdef>char
*<parameter>table_key</parameter></paramdef>
+           
<paramdef>uint<parameter>key_length</parameter></paramdef>
+            <paramdef>qc_engine_callback
*<parameter>engine_callback</parameter></paramdef>
+            <paramdef>ulonglong
*<parameter>engine_data</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>register_query_cache_table   
</function> method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>table_key</literal></para></listitem>
+         
<listitem><para><literal>key_length</literal></para></listitem>
+         
<listitem><para><literal>engine_callback</literal></para></listitem>
+         
<listitem><para><literal>engine_data</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { *engine_callback= 0; return 1; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-rename_table">
+      <refmeta>
+        <refentrytitle>rename_table</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>rename_table</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>rename_table</function></funcdef>
+            <paramdef>const char
*<parameter>from</parameter></paramdef>
+            <paramdef>const char
*<parameter>to</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>rename_table    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>from</literal></para></listitem>
+         
<listitem><para><literal>to</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-repair">
+      <refmeta>
+        <refentrytitle>repair</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>repair</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>repair</function></funcdef>
+            <paramdef>THD*<parameter>thd</parameter></paramdef>
+           
<paramdef>HA_CHECK_OPT*<parameter>check_opt</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>repair    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>check_opt</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return HA_ADMIN_NOT_IMPLEMENTED; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-reset">
+      <refmeta>
+        <refentrytitle>reset</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>reset</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>reset</function></funcdef>
+            <paramdef><parameter></parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>reset    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal></literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+           { return extra(HA_EXTRA_RESET); }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-reset_auto_increment">
+      <refmeta>
+        <refentrytitle>reset_auto_increment</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>reset_auto_increment</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>reset_auto_increment</function></funcdef>
+           
<paramdef>ulonglong<parameter>value</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>reset_auto_increment    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>value</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+            { return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-restart_rnd_next">
+      <refmeta>
+        <refentrytitle>restart_rnd_next</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>restart_rnd_next</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>restart_rnd_next</function></funcdef>
+            <paramdef>byte *<parameter>buf</parameter></paramdef>
+            <paramdef>byte *<parameter>pos</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>restart_rnd_next    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>buf</literal></para></listitem>
+         
<listitem><para><literal>pos</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>
+        <title>Default Implementation</title>
+
+        <programlisting>
+            { return HA_ERR_WRONG_COMMAND; }
+        </programlisting>
+      </refsection>
+
+    </refentry>
+
+
+    <refentry id="custom-engine-api-reference-restore">
+      <refmeta>
+        <refentrytitle>restore</refentrytitle>
+      </refmeta>
+
+      <refnamediv>
+        <refname>restore</refname>
+        <refpurpose></refpurpose>
+      </refnamediv>
+
+      <refsynopsisdiv>
+        <funcsynopsis>
+          <funcprototype>
+            <funcdef>virtual int
<function>restore</function></funcdef>
+            <paramdef>THD*<parameter>thd</parameter></paramdef>
+           
<paramdef>HA_CHECK_OPT*<parameter>check_opt</parameter></paramdef>
+          </funcprototype>
+
+        </funcsynopsis>
+      </refsynopsisdiv>
+
+      <refsection>
+       <title>Description</title>
+
+    <para>This is the <function>restore    </function>
method.</para>
+      </refsection>
+
+      <refsection>
+        <title>Parameters</title>
+
+        <itemizedlist>
+         
<listitem><para><literal>thd</literal></para></listitem>
+         
<listitem><para><literal>check_opt</literal></para></listitem>
+        </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Return Values</title>
+
+       <itemizedlist>
+          <listitem>
+           <para>
+             <literal></literal>
+           </para>
+         </listitem>
+       </itemizedlist>
+
+      </refsection>
+
+      <refsection>
+        <title>Usage</title>
+
+        <programlisting>
+          
+        </programlisting>
+      </refsection>
+
+      <refsection>