List:Commits« Previous MessageNext Message »
From:mcbrown Date:July 21 2008 8:01am
Subject:svn commit - mysqldoc@docsrva: r11292 - trunk/refman-6.0
View as plain text  
Author: mcbrown
Date: 2008-07-21 10:01:30 +0200 (Mon, 21 Jul 2008)
New Revision: 11292

Log:
Adding Maria 



Added:
   trunk/refman-6.0/se-maria.xml


Added: trunk/refman-6.0/se-maria.xml
===================================================================
--- trunk/refman-6.0/se-maria.xml	                        (rev 0)
+++ trunk/refman-6.0/se-maria.xml	2008-07-21 08:01:30 UTC (rev 11292)
Changed blocks: 1, Lines Added: 1634, Lines Deleted: 0; 55108 bytes

@@ -0,0 +1,1634 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+  <!ENTITY % all.entities SYSTEM "all-entities.ent">
+  %all.entities;
+]>
+<section id="se-maria">
+
+  <title>The <literal>Maria</literal> Storage Engine</title>
+
+  <note><para>The <literal>Maria</literal> storage engine was introduced in MySQL 6.0.6.</para></note>
+
+  <para>
+    <literal>Maria</literal> is a crash safe version of
+    <literal>MyISAM</literal>. The <literal>Maria</literal> storage
+    engine supports all of the main functionality of the
+    <literal>MyISAM</literal> engine, but includes recovery support (in
+    the event of a system crash), full logging (including
+    <literal>CREATE</literal>, <literal>DROP</literal>,
+    <literal>RENAME</literal> and <literal>TRUNCATE</literal>
+    operations), all <literal>MyISAM</literal> row formats and a new
+    <literal>Maria</literal> specific row format.
+  </para>
+
+  <para>
+    For more information on known bugs and limitations in
+    <literal>Maria</literal>, see <xref linkend="se-maria-openbugs"/>
+  </para>
+
+  <para>
+    To create a <literal>Maria</literal> table you must specify the
+    engine when using the <literal>CREATE TABLE</literal> statement:
+  </para>
+
+<programlisting>mysql&gt; CREATE TABLE maria_table (id int) ENGINE=Maria;</programlisting>
+
+  <para>
+    You can also use <literal>ALTER TABLE</literal> to convert an
+    existing table to the <literal>Maria</literal> engine:
+  </para>
+
+<programlisting>mysql&gt; ALTER TABLE myisam_table ENGINE=Maria;</programlisting>
+
+  <para>
+    Data in <literal>Maria</literal> tables is stored in three files:
+  </para>
+
+  <itemizedlist>
+
+    <listitem>
+      <para>
+        <filename>table.frm</filename> &mdash; the standard MySQL FRM
+        file containing the table definition.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <filename>table.MAD</filename> &mdash; the
+        <literal>Maria</literal> data file.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <filename>table.MAI</filename> &mdash; the
+        <literal>Maria</literal> index file.
+      </para>
+    </listitem>
+
+  </itemizedlist>
+
+  <para>
+    In addition, <literal>Maria</literal> creates at least two
+    additional files in your standard <option>datadir</option>
+    directory:
+  </para>
+
+  <itemizedlist>
+
+    <listitem>
+      <para>
+        <filename>maria_log.????????</filename> &mdash; the
+        <literal>Maria</literal> log file. Each file is named
+        numerically and sequentially, with new files automatically
+        created when the log file limit has been reached. You can
+        control the log file size using
+        <link linkend="option_mysqld_maria_log_file_size"><option>maria_log_file_size</option></link>
+        option, and control the deletion of logs using
+        <link linkend="option_mysqld_maria_log_purge_type"><option>maria_log_purge_type</option></link>.
+        The newly create files stay in place until deleted, either
+        automatically or manually.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <filename>maria_log_control</filename> &mdash; a control file
+        that holds information about the current state of the
+        <literal>Maria</literal> engine.
+      </para>
+
+      <warning>
+        <para>
+          You should not delete the
+          <filename>maria_log_control</filename> file from an active
+          <literal>Maria</literal> installation as it records
+          information about the current state of the
+          <literal>Maria</literal> engine, including information about
+          the log files and the default page block size used for the log
+          and data files.
+        </para>
+      </warning>
+    </listitem>
+
+  </itemizedlist>
+
+  <para>
+    The basic functionality of <literal>Maria</literal> matches the
+    functionality of <literal>MyISAM</literal> with a number of
+    differences. These are:
+  </para>
+
+  <itemizedlist>
+
+    <listitem>
+      <para>
+        Two types of tables are supported. Non-crash safe tables
+        (non-transactional) are written immediately to their
+        corresponding data file. Transactional tables are crash safe and
+        data is written into the <literal>Maria</literal> log. For more
+        information on the log, see <xref linkend="se-maria-log"/>. Data
+        which had already been written to the log is then apply to the
+        data and index files as the statement completes.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <literal>Maria</literal> supports auto-recovery in the event of
+        a crash. For more information, see
+        <xref linkend="se-maria-recovery"/>.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <literal>Maria</literal> supports a single writer and multiple
+        readers. The writer supports both <literal>INSERT</literal> and
+        <literal>UPDATE</literal> operations. <literal>MyISAM</literal>
+        supports only concurrent <literal>INSERT</literal> and
+        <literal>SELECT</literal> statements. For more information, see
+        <xref linkend="se-maria-concurrency"/>.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <literal>Maria</literal> provides a new row format,
+        <literal>PAGE</literal>. For more information, see
+        <xref linkend="se-maria-tableoptions"/>. Existing
+        <literal>MyISAM</literal> row formats are also supported on
+        non-transactional tables.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <literal>Maria</literal> supports crash-safe operations over
+        many statements by enclosing statements within <literal>LOCK
+        TABLES</literal> and <literal>UNLOCK TABLES</literal>
+        statements.
+      </para>
+
+      <note>
+        <para>
+          For future compatibility, you should use the
+          <literal>BEGIN</literal> and <literal>COMMIT</literal> syntax:
+        </para>
+
+<programlisting>
+BEGIN;
+LOCK TABLES ...;
+# statements
+UNLOCK TABLES;
+COMMIT;
+  </programlisting>
+
+        <para>
+          The <literal>LOCK</literal> and <literal>UNLOCK</literal>
+          statements will not be required in future.
+        </para>
+      </note>
+    </listitem>
+
+  </itemizedlist>
+
+  <section id="se-maria-configuration">
+
+    <title><literal>Maria</literal> Configuration</title>
+
+    <para>
+      <literal>Maria</literal> supports a number of configuration
+      options to control the operation and performance of the storage
+      engine. Many of the options are similar to options that are
+      already available within the <literal>MyISAM</literal>
+      configuration options. See
+      <xref linkend="refman-5.1:myisam-storage-engine"/>.
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para id="option_mysqld_maria">
+          <literal>maria</literal> enables the <literal>Maria</literal>
+          plugin. You can disable <literal>Maria</literal> by using
+          <literal>--skip-maria</literal>.
+        </para>
+
+        <para>
+          Default is for the <literal>Maria</literal> plugin to be
+          enabled.
+        </para>
+
+        <note>
+          <para>
+            You cannot disable <literal>Maria</literal> if you have
+            enabled <literal>Maria</literal> as the default engine for
+            temporary tables using
+            <option>--with-maria-tmp-tables</option>.
+          </para>
+        </note>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_block_size">
+          <literal>maria-block-size</literal>
+        </para>
+
+        <para>
+          Sets the block size to be used for <literal>Maria</literal>
+          index pages and data pages for the new <literal>PAGE</literal>
+          row format. Once the page size has been set the first time
+          <literal>mysqld</literal> has been run, you cannot change the
+          page size without recreating all your <literal>Maria</literal>
+          tables.
+        </para>
+
+        <note>
+          <para>
+            To change the block size of existing tables, you should use
+            <command>mysqldump</command> to save a copy of the table
+            data, stop <command>mysqld</command>, remove the
+            <filename>maria_log_control</filename> file and reconfigure
+            the block size before starting up <command>mysqld</command>
+            again.
+          </para>
+        </note>
+
+        <para>
+          The configuration setting of this value is recorded within the
+          <filename>maria_log_control</filename> file the first time
+          MySQL is started with the <literal>Maria</literal> engine
+          enabled.
+        </para>
+
+        <para>
+          The default size is 8192 (8KB).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_check_interval">
+          <literal>maria-check-interval</literal>
+        </para>
+
+        <para>
+          Sets the interval between automatic checkpoints. Checkpoints
+          in <literal>Maria</literal> synchronize the in-memory and
+          on-disk data and then collate information about the current
+          status of different transactions, before writing the
+          information about the current status to the
+          <literal>Maria</literal> log. The use of checkpoints improves
+          the ability and speed of <literal>Maria</literal> when
+          recovering from a crash, as recovery can continue from the
+          last stable checkpoint in the log, instead of replaying the
+          entire log.
+        </para>
+
+        <para>
+          The default checkpoint interval is 30 seconds. You can disable
+          checkpoints by setting the value to 0, but disabling
+          checkpoints will increase the time taken to recover in the
+          event of a failure. You should only set the value to 0 during
+          testing.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_log_dir_path">
+          <literal>maria_log_dir_path</literal>
+        </para>
+
+        <para>
+          Sets the path to the directory where the transactional log
+          files will be stored. You can set this to another device to
+          improve performance.
+        </para>
+
+        <para>
+          The default value is to use the same directory as the
+          <option>datadir</option> option.
+        </para>
+
+        <note>
+          <para>
+            This option is not available through a variable within
+            <command>mysqld</command>.
+          </para>
+        </note>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_log_file_size">
+          <literal>maria_log_file_size</literal>
+        </para>
+
+        <para>
+          Sets the size of each of the <literal>Maria</literal> log
+          files. When the log reaches this figure, a new log file (with
+          a new sequential log file number) is created, and the
+          <filename>maria_log_control</filename> file is updated.
+        </para>
+
+        <para>
+          The default size is 1GB. The minimum log file size is 8MB and
+          the maximum log file size is 4GB.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_log_purge_type">
+          <literal>maria_log_purge_type</literal>
+        </para>
+
+        <para>
+          Specifies how the transactional log will be purged. Supported
+          types are as follows:
+        </para>
+
+        <itemizedlist>
+
+          <listitem>
+            <para>
+              <literal>at_flush</literal> &mdash; the logs will be
+              removed (deleted from disk) only when they have been
+              marked 'free' (i.e. there are no pending transactions),
+              and a <literal>FLUSH LOGS</literal> statement has been
+              executed.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <literal>immediate</literal> &mdash; the logs are deleted
+              as soon as they no longer have pending transactions.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <literal>external</literal> &mdash; the logs are not
+              deleted automatically; it is assumed an external utility
+              is responsible for actually deleting the logs. This can be
+              used in combination with a backup solution to delete the
+              logs only once a backup has been completed.
+            </para>
+          </listitem>
+
+        </itemizedlist>
+
+        <para>
+          Default is <literal>immediate</literal>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_max_sort_file_size">
+          <literal>maria_max_sort_file_size</literal>
+        </para>
+
+        <para>
+          Don't use the fast sort index method to create index id the
+          temporary file would get bigger than this size.
+        </para>
+
+        <para>
+          Default is the maximum file size.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_page_checksum">
+          <literal>maria_page_checksum</literal>
+        </para>
+
+        <para>
+          Sets the default mode for page checksums. If a table has page
+          checksums, then <literal>Maria</literal> will use the checksum
+          to ensure that the page information is not corrupted. You can
+          override page checksums on a table by table level by using the
+          <literal>PAGE_CHECKSUM</literal> or
+          <literal>CHECKSUM</literal> option during <literal>CREATE
+          TABLE</literal>.
+        </para>
+
+        <para>
+          Default is for <option>maria_page_checksum</option> to be
+          enabled.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_pagecache_age_threshold">
+          <literal>maria_pagecache_age_threshold</literal>
+        </para>
+
+        <para>
+          The number of hits that a hot block in the page cache has to
+          be untouched until it is considered old enough to be
+          downgraded to a warm block. Lower values cause demotion to
+          happen more quickly.
+        </para>
+
+        <para>
+          The default is 300.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_pagecache_buffer_size">
+          <literal>maria_pagecache_buffer_size</literal>
+        </para>
+
+        <para>
+          Sets the size of the buffer used for data and index pages to
+          <literal>Maria</literal> tables. You should increase this
+          value to improve performance on data and index reads and
+          writes, ideally to the maximum figure supported by your
+          environment.
+        </para>
+
+        <para>
+          The default value is 8MB.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_pagecache_division_limit">
+          <literal>maria_pagecache_division_limit</literal>
+        </para>
+
+        <para>
+          The minimum percentage of warm blocks in the page cache.
+        </para>
+
+        <para>
+          The default value is 100.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_repair_threads">
+          <literal>maria_repair_threads</literal>
+        </para>
+
+        <para>
+          Number of threads to be used when repairing
+          <literal>Maria</literal> tables when using <literal>REPAIR
+          TABLE</literal>. The default value of 1 disables parallel
+          repair.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_sort_buffer_size">
+          <literal>maria_sort_buffer_size</literal>
+        </para>
+
+        <para>
+          Sets the size of the buffer that is allocated when sorting the
+          index when doing a <literal>REPAIR</literal> or when creating
+          indexes using <literal>CREATE INDEX</literal> or
+          <literal>ALTER TABLE</literal>. Increasing this option will
+          improve the speed of the index creation process.
+        </para>
+
+        <para>
+          The default value is 8MB.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_stats_method">
+          <literal>maria_stats_method</literal>
+        </para>
+
+        <para>
+          Specifies how index statistics collection treats
+          <literal>NULL</literal> values. Valid choices are
+          <literal>nulls_unequal</literal>,
+          <literal>nulls_equal</literal>,
+          <literal>nulls_ignored</literal>.
+        </para>
+
+        <para>
+          The default setting is <literal>nulls_unequal</literal>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="option_mysqld_maria_sync_log_dir">
+          <literal>maria_sync_log_dir</literal>
+        </para>
+
+        <para>
+          Controls the synchronization of the directory after log file
+          has been extended or a new log file has been created.
+          Supported values <literal>never</literal>,
+          <literal>newfile</literal> (only when a new log file is
+          created), and <literal>always</literal>.
+        </para>
+
+        <para>
+          The default setting is <literal>newfile</literal>.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+  </section>
+
+  <section id="se-maria-tableoptions">
+
+    <title><literal>Maria</literal> Table Options</title>
+
+    <para>
+      There are a number of options available when you create a new
+      <literal>Maria</literal> table:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <literal>PAGE_CHECKSUM</literal>
+        </para>
+
+        <para>
+          The <literal>PAGE_CHECKSUM</literal> table option specifies
+          whether a page checksum for the table should be enabled. The
+          checksum can either be switched on (value 1) or off (value 0).
+          The default value of this option is implied by the
+          <option>maria_page_checksum</option> variable.
+        </para>
+
+        <para>
+          Because the default value of the
+          <literal>PAGE_CHECKSUM</literal> option is configurable, the
+          checksum setting is always included in the output of
+          <literal>SHOW CREATE TABLE</literal> if it was enabled when
+          the table was created.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>TRANSACTIONAL</literal>
+        </para>
+
+        <para>
+          <literal>Maria</literal> tables can be either transactional or
+          non-transactional. For <literal>Maria</literal> versions less
+          than 2.0, <literal>TRANSACTIONAL</literal> means crash-safe.
+          Full transaction support will only be available with
+          <literal>Maria</literal> 2.0 and later.
+        </para>
+
+        <para>
+          Changes to transactional tables are recorded in the
+          <literal>Maria</literal> log and use slightly more space per
+          row than non-transactional tables. By default all tables are
+          transactional (i.e. <literal>TRANSACTIONAL=1</literal> is
+          implied within the <literal>CREATE TABLE</literal> definition.
+          This means that the transactional status of the table is not
+          written in the output of the <literal>SHOW CREATE
+          TABLE</literal> output:
+        </para>
+
+<programlisting>mysql&gt; create table maria_trans (id int, title char(20)) engine=Maria;
+Query OK, 0 rows affected (0.05 sec)
+
+mysql&gt; SHOW CREATE TABLE maria_trans;
++-------------+---------------------------------------+
+| Table       | Create Table                          |
++-------------+---------------------------------------+
+| maria_trans | CREATE TABLE `maria_trans` (
+   `id` int(11) DEFAULT NULL,
+   `title` char(20) DEFAULT NULL
+) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 | 
++-------------+---------------------------------------+
+1 row in set (0.00 sec)
+      </programlisting>
+
+        <para>
+          If you create a non-crash safe (non-transactional) table then
+          the option is shown
+        </para>
+
+<programlisting>
+mysql&gt; CREATE TABLE maria_nontrans (id INT, title CHAR(20)) ENGINE=Maria TRANSACTIONAL=0;
+Query OK, 0 rows affected (0.02 sec)
+
+mysql&gt; SHOW CREATE TABLE maria_nontrans;
++----------------+----------------------------------------------------+
+| Table          | Create Table                                       |
++----------------+----------------------------------------------------+
+| maria_nontrans | CREATE TABLE `maria_nontrans` (
+   `id` int(11) DEFAULT NULL,
+   `title` char(20) DEFAULT NULL
+) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0 | 
++----------------+----------------------------------------------------+
+1 row in set (0.00 sec)
+</programlisting>
+
+        <para>
+          Currently, transactional tables cannot handle
+          <literal>SPATIAL</literal> or <literal>FULLTEXT</literal>
+          indexes. You must use a non-transactional table if you want to
+          use these index key types. If you try to create a table with
+          these options, then an error will occur during <literal>CREATE
+          TABLE</literal>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>TABLE_CHECKSUM</literal>, <literal>CHECKSUM</literal>
+        </para>
+
+        <para>
+          Forces MySQL to maintain a live checksum for all rows in the
+          table. This maintains a rolling checksum (i.e. one that
+          changes when the table data changes), and can be used to
+          identify corrupted tables. This is identical to the
+          <literal>CHECKSUM</literal> on <literal>MyISAM</literal>
+          tables.
+        </para>
+
+        <para>
+          The <literal>CHECKSUM TABLE</literal> statement, which returns
+          the checksum for a given table, ignores record's attributes
+          which have a <literal>NULL</literal> value. This is different
+          behavior from standard MySQL 5.1.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      In addition, <literal>Maria</literal> supports the following row
+      formats:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <literal>FIXED</literal> &mdash; identical to the
+          <literal>FIXED</literal> row format used by
+          <literal>MyISAM</literal>. Must be used with non-transactional
+          tables (i.e. where <literal>TRANSACTIONAL=0</literal>).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>DYNAMIC</literal> &mdash; identical to the
+          <literal>DYNAMIC</literal> row format used by
+          <literal>MyISAM</literal>. Must be used with non-transactional
+          tables (i.e. where <literal>TRANSACTIONAL=0</literal>).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>PAGE</literal> &mdash; new <literal>Maria</literal>
+          row format where data and index information is written into
+          pages. The <literal>PAGE</literal> option can be used with
+          <literal>TRANSACTIONAL=0</literal> or
+          <literal>TRANSACTIONAL=1</literal>. The
+          <literal>PAGE</literal> format uses a different caching
+          mechanism than <literal>MyISAM</literal>. For more
+          information, see <xref linkend="se-maria-configuration"/>.
+        </para>
+
+        <para>
+          <literal>Maria</literal> data pages in <literal>PAGE</literal>
+          format has an overhead of 10 byte/page and 5 byte/rows.
+          Transaction and multiple concurrent writer support will use an
+          additional overhead of 7 bytes for new rows, 14 bytes for
+          deleted rows and 0 bytes for old compacted rows.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+  </section>
+
+  <section id="se-maria-log">
+
+    <title><literal>Maria</literal> Transaction Log</title>
+
+    <para>
+      The transaction log within <literal>Maria</literal> keeps a record
+      of all changes, including DDL, to tables created using the
+      <literal>TRANSACTIONAL</literal> table option. Events from all
+      tables and all databases are written into a single log file
+      sequence. The <literal>Maria</literal> log consists of one log
+      control file (<filename>maria_log_control</filename>) and one or
+      more maria log files (named
+      <filename>maria_log.????????</filename>, where
+      <literal>????????</literal> is an eight-digit number with a
+      maximum value of 16777215). The log control file and log file are
+      created automatically when <command>mysqld</command> is started.
+    </para>
+
+    <para>
+      The log contains a copy of all the data and that log can be used
+      to replay and verify the contents of the data files in the event
+      of a crash. Data written into the log is checkpointed at
+      configurable intervals to ensure that data and index files and log
+      data is synchronized. The default checkpoint interval is 30
+      seconds.
+    </para>
+
+    <para>
+      For tables using the transactional format, statements that change
+      data (DML statements) are recorded in the log file and these
+      changes are also ultimately written to the data and index files. .
+      There is no fixed point when the application of data written to
+      the log is also written to the data and index files. The process
+      happens continuously in the background during normal execution.
+      Although the data and index files and the transaction log may be
+      out of sync, all of the information is always available. In the
+      event of a crash, the recovery process will replay and apply the
+      contents of the log to bring the data and log files back into
+      synchronization.
+    </para>
+
+    <para>
+      Additional log files are created when the log file reaches the
+      configured maximum size (as controlled by
+      <literal>maria_log_file_size</literal>). The default value is 1GB.
+      This option can be controlled as a global variable and set with
+      the configuration file or on the command line.
+    </para>
+
+    <para>
+      You can determine the list of current log files using the
+      statement <literal>SHOW ENGINE MARIA LOGS</literal>:
+    </para>
+
+<programlisting>mysql> SHOW ENGINE MARIA LOGS;
++--------+-------------------------------------------------------------+----------+
+| Type   | Name                                                        | Status   |
++--------+-------------------------------------------------------------+----------+
+| maria  | Size    191627264 ; /usr/local/mysql/var/maria_log.00000009 | unknown  | 
++--------+-------------------------------------------------------------+----------+
+1 row in set (0.00 sec)
+    </programlisting>
+
+    <para>
+      The <literal>Status</literal> shows the current status of the log
+      file:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <literal>unknown</literal> &mdash; no checkpoint has taken
+          place, so the current status of the log file is unknown.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>in-use</literal> &mdash; information is still being
+          written to or read from the log, or outstanding statements are
+          still active that have information active within the log file.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>free</literal> &mdash; the log file and any
+          statements related to it have been completed and safely
+          committed to disk, and the log file is no longer active.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      Any other message indicates an error in reading the log file
+      information.
+    </para>
+
+    <para>
+      New log files are created automatically as the size of the log
+      events reaches the configured size. For example, shown below are
+      the log files after a statement that inserted a large volume of
+      data was executed after the <literal>maria_log_file_size</literal>
+      variable has been reduced to 8MB (the minimum supported value):
+    </para>
+
+<programlisting>mysql&gt; SHOW ENGINE MARIA LOGS;
++--------+-------------------------------------------------------------+---------+
+| Type   | Name                                                        | Status  |
++--------+-------------------------------------------------------------+---------+
+| maria  | Size    191627264 ; /usr/local/mysql/var/maria_log.00000009 | in use  | 
+| maria  | Size      8388608 ; /usr/local/mysql/var/maria_log.00000010 | in use  | 
+| maria  | Size      8388608 ; /usr/local/mysql/var/maria_log.00000011 | in use  | 
+| maria  | Size      8388608 ; /usr/local/mysql/var/maria_log.00000012 | in use  | 
+| maria  | Size      8388608 ; /usr/local/mysql/var/maria_log.00000013 | in use  | 
+| maria  | Size      8388608 ; /usr/local/mysql/var/maria_log.00000014 | in use  | 
+| maria  | Size      8388608 ; /usr/local/mysql/var/maria_log.00000015 | in use  | 
+| maria  | Size       139264 ; /usr/local/mysql/var/maria_log.00000016 | in use  | 
++--------+-------------------------------------------------------------+---------+
+8 rows in set (0.00 sec)
+</programlisting>
+
+    <para>
+      Log files that no longer have transactions or outstanding events
+      where the data has been safely committed on disk are marked
+      'free':
+    </para>
+
+<programlisting>mysql> SHOW ENGINE MARIA LOGS;
++--------+-------------------------------------------------------------+---------+
+| Type   | Name                                                        | Status  |
++--------+-------------------------------------------------------------+---------+
+| maria  | Size      8388608 ; /usr/local/mysql/var/maria_log.00000002 | free    | 
+| maria  | Size      2170880 ; /usr/local/mysql/var/maria_log.00000003 | in use  | 
++--------+-------------------------------------------------------------+---------+
+2 rows in set (0.00 sec)
+    </programlisting>
+
+    <para>
+      Log files are deleted according to the setting of the
+      <literal>maria_log_purge_type</literal> dynamic variable. Three
+      options are supported, <literal>immediate</literal>,
+      <literal>external</literal> and <literal>at_flush</literal>.
+    </para>
+
+    <para>
+      In <literal>immediate</literal> mode, the log files are deleted as
+      soon as they no longer have outstanding transactions or events.
+      This reduces the disk space used by these logs, but means that the
+      logs cannot be transferred to another machine for replaying. This
+      setting should not affect recovery functionality, as only logs
+      where there is no outstanding data to be committed are deleted.
+    </para>
+
+    <para>
+      In <literal>at_flush</literal> mode, the log files are only
+      deleted when you execute the <literal>FLUSH LOGS</literal>
+      statement. Issuing this statement will delete the logs that have
+      the 'free' status, and therefore will not affect logs with
+      outstanding transactions or events.
+    </para>
+
+<programlisting>mysql> SHOW ENGINE MARIA LOGS;
++--------+-------------------------------------------------------------+---------+
+| Type   | Name                                                        | Status  |
++--------+-------------------------------------------------------------+---------+
+| maria  | Size      8388608 ; /usr/local/mysql/var/maria_log.00000002 | free    | 
+| maria  | Size      8388608 ; /usr/local/mysql/var/maria_log.00000003 | free    | 
+| maria  | Size      8388608 ; /usr/local/mysql/var/maria_log.00000004 | free    | 
+| maria  | Size      4325376 ; /usr/local/mysql/var/maria_log.00000005 | in use  | 
++--------+-------------------------------------------------------------+---------+
+4 rows in set (0.00 sec)
+
+mysql> FLUSH LOGS;
+Query OK, 0 rows affected (0.00 sec)
+
+mysql> SHOW ENGINE MARIA LOGS;
++--------+-------------------------------------------------------------+---------+
+| Type   | Name                                                        | Status  |
++--------+-------------------------------------------------------------+---------+
+| maria  | Size      4325376 ; /usr/local/mysql/var/maria_log.00000005 | in use  | 
++--------+-------------------------------------------------------------+---------+
+1 row in set (0.00 sec)
+    </programlisting>
+
+    <para>
+      When <literal>maria_log_purge_type</literal> is set to
+      <literal>external</literal>, log files are not deleted by MySQL at
+      all. Instead, it is assumed that an external process is
+      responsible for deleting log files. Care should be taken with this
+      setting as you should only delete log files that
+      <literal>Maria</literal> is no longer using.
+    </para>
+
+    <para>
+      Transaction log file events can be viewed using the
+      <command>maria_read_log</command> command, which also provides the
+      ability to replay log file contents and apply them to tables
+      without running <command>mysqld</command>. For more information,
+      see <xref linkend="se-maria-tools"/>.
+    </para>
+
+  </section>
+
+  <section id="se-maria-recovery">
+
+    <title><literal>Maria</literal> Recovery</title>
+
+    <para>
+      Any change (creation, insertion, deletion, update, etc.) in a
+      <literal>Maria</literal> table using the transactional format is
+      automatically written to the <literal>Maria</literal> log. Changes
+      to non-transactional tables are not written to the log.
+    </para>
+
+    <para>
+      The basic operation of the recovery process is in two main stages:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          Replay the contents of the log and update the data and index
+          information.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Roll back any statements that had not completed, or where the
+          transactions not been not been committed.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      More specifically, in the event of a crash or other failure of
+      <command>mysqld</command>, the following takes place during the
+      next invocation of <command>mysqld</command>:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          Events in the log are replayed from the last checkpoint.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          If a checkpoint is not available (for example, if the log file
+          was newly created and no checkpoint was written when the crash
+          occurred), then all events are replayed from the start of the
+          log file.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          For each active connection, events are replayed until the last
+          statement that completed before the crash occured, unless the
+          statement was executed after a <literal>LOCK TABLES</literal>
+          statement, in which case recovery takes place to the last
+          statement executed before the <literal>LOCK TABLES</literal>
+          statement was issued.
+        </para>
+
+        <para>
+          Because multiple connections can be active at the same time,
+          recovery takes for each connection individually.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          During recovery, if a statement fails due to a unique key
+          violation, then the entire statement is not rolled back. Only
+          the data that would have triggered the unique key violation is
+          rolled back. For example, if you had executed the following
+          statements into a table with a unique key:
+        </para>
+
+<programlisting>INSERT VALUES (1);
+INSERT VALUES (2),(1)</programlisting>
+
+        <para>
+          The second statement would generate a unique key violation,
+          but during recovery the statement would not be rolled back.
+          The table would still contain two rows containing the first
+          two values.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      You can see a sample of the recovery process after a crash below:
+    </para>
+
+<programlisting>080111 16:42:05 mysqld_safe Number of processes running now: 0
+080111 16:42:05 mysqld_safe mysqld restarted
+080111 16:42:05 [Note] mysqld: Maria engine: starting recovery
+recovered pages: 0% 99% 100% (0.9 seconds); transactions to roll back: 1 0 (3.8 seconds); tables to flush: 1 0 (0.5 seconds); 
+080111 16:42:10 [Note] mysqld: Maria engine: recovery done
+080111 16:42:10 [Note] Event Scheduler: Loaded 0 events
+080111 16:42:10 [Note] /usr/local/mysql/libexec/mysqld: ready for connections.
+    </programlisting>
+
+    <para>
+      Recovery is automatic, but the length of time for recovery
+      increases in line with the number of incomplete statements and
+      tables known to be out of synchornization with the log. The
+      recovery process is single-threaded and cannot be configured.
+    </para>
+
+  </section>
+
+  <section id="se-maria-concurrency">
+
+    <title><literal>Maria</literal> Statement Concurrency</title>
+
+    <para>
+      The concurrency of statement execution on tables is handled
+      differently in <literal>Maria</literal> depending on whether you
+      are using non-transactional or transactional tables.
+    </para>
+
+    <para>
+      For non-transactional tables, the rules are identical to MyISAM:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <literal>SELECT</literal>
+        </para>
+
+        <para>
+          All issued <literal>SELECT</literal>'s are running
+          concurrently. While a <literal>SELECT</literal> is running,
+          all writers (<literal>INSERT</literal>,
+          <literal>DELETE</literal>, <literal>UPDATE</literal>) are
+          blocked from using any of the used tables (i.e., they wait for
+          the table to be free before continuing) . The only exception
+          is that one <literal>INSERT CONCURRENT</literal> can be run on
+          each table that doesn't have any deleted rows.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>UPDATE</literal>
+        </para>
+
+        <para>
+          Only one <literal>UPDATE</literal> statement can run at the
+          same time on each table. While the <literal>UPDATE</literal>
+          is running all other threads are blocked from using this
+          table.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>DELETE</literal>
+        </para>
+
+        <para>
+          Only one <literal>DELETE</literal> statement can run at the
+          same time on each table. While the <literal>DELETE</literal>
+          is running all other threads are blocked from using this
+          table.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>INSERT</literal>
+        </para>
+
+        <para>
+          If <literal>INSERT CONCURRENT</literal> is used, and there are
+          no deleted rows in the table, only one <literal>INSERT
+          CONCURRENT</literal> statement can run at the same time on
+          each table. While the <literal>INSERT CONCURRENT</literal> is
+          running all other writer threads are blocked for using this
+          table. Any number of <literal>SELECT</literal> statements can
+          use this table.
+        </para>
+
+        <para>
+          If normal <literal>INSERT</literal> is used or if there are
+          deleted rows in the table, only one INSERT statement can run
+          at the same time on the table. While the
+          <literal>INSERT</literal> is running all
+          <literal>SELECT</literal>, <literal>INSERT</literal>,
+          <literal>DELETE</literal> and <literal>UPDATE</literal> are
+          blocked from using this table.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>CREATE</literal> or <literal>DROP</literal>
+        </para>
+
+        <para>
+          <literal>CREATE</literal>'s on different tables can be run
+          concurrently. On the same table, first creator wins.
+          <literal>DROP</literal> waits until all statements using the
+          tables are completed, after which the table is dropped.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      When using transactional tables:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <literal>SELECT</literal>
+        </para>
+
+        <para>
+          All issued <literal>SELECT</literal>'s are running
+          concurrently. While a <literal>SELECT</literal> is running,
+          all writers (<literal>INSERT</literal>,
+          <literal>DELETE</literal>, <literal>UPDATE</literal>) are
+          blocked from using any of the used tables (ie, they wait for
+          the table to be free before continuing).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>UPDATE</literal>
+        </para>
+
+        <para>
+          Only one <literal>UPDATE</literal> statement can run at the
+          same time on each table. While the <literal>UPDATE</literal>
+          is running all other threads are blocked from using this
+          table.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>DELETE</literal>
+        </para>
+
+        <para>
+          Only one <literal>DELETE</literal> statement can run at the
+          same time on each table. While the <literal>DELETE</literal>
+          is running all other threads are blocked from using this
+          table.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>INSERT</literal>
+        </para>
+
+        <para>
+          Only one <literal>INSERT</literal> statement can run at the
+          same time on the table. While the <literal>INSERT</literal> is
+          running all <literal>SELECT</literal>,
+          <literal>INSERT</literal>, <literal>DELETE</literal> and
+          <literal>UPDATE</literal> are blocked from using this table.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>CREATE</literal> or <literal>DROP</literal>
+        </para>
+
+        <para>
+          <literal>CREATE</literal>'s on different tables can be run
+          concurrently. On the same table, first creator wins.
+          <literal>DROP</literal> waits until all statements using the
+          tables are completed, after which the table is dropped.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+  </section>
+
+  <section id="se-maria-designnotes">
+
+    <title><literal>Maria</literal> Design Notes</title>
+
+    <para>
+      <literal>Maria</literal> supports all aspects of
+      <literal>MyISAM</literal>, except as noted below. This includes
+      external and internal check/repair/compressing of rows, different
+      row formats, different index compress formats, maria_check etc.
+      After a normal shutdown one can copy <literal>Maria</literal>
+      files between servers.
+    </para>
+
+    <para>
+      <emphasis role="bold">Advantages of <literal>Maria</literal>
+      (Compared to <literal>MyISAM</literal>) </emphasis>
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          Data and indexes are crash safe. On crash, things will
+          rollback to state of the start of statement or last
+          <literal>LOCK TABLES</literal> commands.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>Maria</literal> can replay everything from the log.
+          Including
+          <literal>CREATE</literal>/<literal>DROP</literal>/<literal>RENAME</literal>/<literal>TRUNCATE</literal>
+          tables.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>LOAD INDEX</literal> can skip index blocks for not
+          wanted indexes
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Supports all <literal>MyISAM</literal> row formats and the new
+          transactional format where data is stored in pages.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          When using transactional format (default) row data can be
+          cached.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>Maria</literal> has unit tests of most parts
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Supports both crash safe (soon to be transactional) and not
+          transactional tables. (Not transactional tables are not logged
+          and rows uses less space). <literal>CREATE TABLE foo (...)
+          TRANSACTIONAL=0|1</literal>
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Transactional is the only crashsafe/transactional row format.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Block format should give a notable speed improvement on
+          systems with bad data caching (for example Windows).
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      <emphasis role="bold">Differences between <literal>Maria</literal>
+      and <literal>MyISAM</literal> </emphasis>
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <literal>Maria</literal> uses big (1GB by default) log files.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>Maria</literal> has a log control file
+          (<filename>maria_log_control</filename>) and log files (
+          <filename>maria_log.????????</filename>). The log files can be
+          automatically purged when not needed or purged on demand
+          (after backup).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>Maria</literal> uses by default 8K pages for indexes
+          (<literal>MyISAM</literal> 1K). <literal>Maria</literal>
+          should be faster on static size indexes but slower on variable
+          length keys (until we add a directory to index pages).
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      <emphasis role="bold">Disadvantages of <literal>Maria</literal>
+      (compared to <literal>MyISAM</literal>), that will be fixed in
+      forthcoming releases </emphasis>
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <literal>Maria</literal> 1.0 has one writer or many readers.
+          (<literal>MyISAM</literal> can have one inserter and many
+          readers when using concurrent inserts).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Storage of very small rows (&lt; 25 bytes) is not efficient
+          for <literal>PAGE</literal> format.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          In <literal>Maria</literal> <literal>PAGE</literal> format
+          there is an overhead of 10 byte/page and 5 byte/rows.
+          Transaction and multiple concurrent writer support will use an
+          additional overhead of 7 bytes for new rows, 14 bytes for
+          deleted rows and 0 bytes for old compacted rows.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>Maria</literal> doesn't support <literal>INSERT
+          DELAYED</literal>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The <literal>maria_page_buffer_size</literal> system variable
+          that controls the <literal>Maria</literal> page cache size is
+          not dynamically settable like the corresponding
+          <literal>MyISAM</literal> variable,
+          <literal>key_buffer_size</literal>.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      <emphasis role="bold">Differences that are not likely to be
+      fixed</emphasis>
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          No external locking (<literal>MyISAM</literal> has external
+          locking, but it is not much used).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>Maria</literal> has one page size for both index and
+          data (defined when <literal>Maria</literal> is used first
+          time). <literal>MyISAM</literal> supports different page sizes
+          per index.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Index requires one extra byte per index page.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>Maria</literal> doesn't support RAID (disabled in
+          <literal>MyISAM</literal> too).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Minimum data file size for <literal>PAGE</literal> format is
+          16K (with 8K pages).
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+  </section>
+
+  <section id="se-maria-tools">
+
+    <title><literal>Maria</literal> Command-line Tools</title>
+
+    <para>
+      <literal>Maria</literal> supports a number of command-line tools
+      which operate in a similar fashion to the corresponding
+      <literal>MyISAM</literal> tools. These are:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <command>maria_chk</command> &mdash; checks
+          <literal>Maria</literal> tables for corruption. Similar to the
+          <command>myisamchk</command> command; see
+          <xref linkend="myisamchk"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <command>maria_ftdump</command> &mdash; dumps information
+          about fulltext indexes in <literal>Maria</literal> tables.
+          Similar to the <command>myisam_ftdump</command> command; see
+          <xref linkend="myisam-ftdump"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <command>maria_pack</command> &mdash; packs a
+          <literal>Maria</literal> table to save space. Similar to the
+          <command>myisampack</command> command; see
+          <xref linkend="myisampack"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <command>maria_read_log</command> &mdash; displays the
+          contents of a <literal>Maria</literal> log file or applies the
+          contents to existing tables. This tool is a utility for the
+          log files but is not used or required for recovery of data
+          from the log file.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <command>maria_dump_log</command> &mdash; used for
+          interpreting log content for people who understand maria
+          transaction log internals.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+  </section>
+
+<!--
+
+
+<section id="se-maria-faq">
+  <title><literal>Maria</literal> Frequently Asked Questions (FAQ)</title>
+
+</section>
+   -->
+
+  <section id="se-maria-openbugs">
+
+    <title><literal>Maria</literal> Open Bugs</title>
+
+    <para>
+      This section contains all known fatal bugs in the
+      <literal>Maria</literal> storage engine for the last source or
+      binary release. Minor bugs, extensions and feature requests and
+      bugs, found since this release can be found in the MySQL bugs
+      databases at:
+      <ulink url="http://bugs.mysql.com/">http://bugs.mysql.com/</ulink>.
+      When reporting a bug, make sure you select the
+      <literal>Maria</literal> category for the bug.
+    </para>
+
+    <note>
+      <para>
+        You can find additional information in the
+        <filename>KNOWN_BUGS.txt</filename> file within the
+        <literal>Maria</literal> repository.
+      </para>
+    </note>
+
+    <para>
+      There shouldn't normally be any bugs that affect normal operations
+      in any <literal>Maria</literal> release. Still, there are always
+      exceptions and edge cases and that's what this section is for.
+    </para>
+
+    <para>
+      If you have found a bug that is not listed here, please add it to
+      <ulink url="http://bugs.mysql.com/">http://bugs.mysql.com/</ulink>
+      so that we can either fix it for next release or in the worst case
+      add it here for others to know! When reporting a bug, make sure
+      you select the <literal>Maria</literal> category for the bug.
+    </para>
+
+    <para>
+      <emphasis role="bold">Known bugs that are planned to be fixed
+      before next minor release</emphasis>
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          If the log files are damaged or inconsistent,
+          <literal>Maria</literal> may fail to start. We should fix that
+          if this happens and mysqld is restarted (thanks to
+          mysqld_safe, instance manager or other script) it should
+          disregard the old logs, start anyway and automatically repair
+          any tables that were found to be crashed on open.
+        </para>
+
+        <para>
+          Temporary fix is to remove <filename>
+          maria_log.????????</filename> files from the data directory,
+          restart <command>mysqld</command> and run <literal>CHECK
+          TABLE</literal>/<literal>REPAIR TABLE</literal> or
+          <command>mysqlcheck</command> on your <literal>Maria</literal>
+          tables.
+        </para>
+
+        <warning>
+          <para>
+            Do not remove the <filename>maria_log_control</filename>
+            file, as this contains the page size information required
+            for reading <literal>Maria</literal> log and data files.
+          </para>
+        </warning>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      <emphasis role="bold">Known bugs that are planned to be fixed
+      before Beta </emphasis>
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          If we get a write failure on disk for the log, we should stop
+          all usage of transactional tables and mark all transactional
+          tables that are changed as crashed.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <emphasis role="bold">Missing features that are planned to be
+          fixed before Beta</emphasis>
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          We will add a maria-recover option to automatically repair any
+          crashed tables on open. (This is needed for non-transactional
+          tables and also in edge cases for transactional tables when
+          the table crashed because of a bug in MySQL or
+          <literal>Maria</literal> code)
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      <emphasis role="bold">Features planned for future
+      releases</emphasis>
+    </para>
+
+    <para>
+      You can find details on additional features and functionality
+      planned for <literal>Maria</literal>, see
+      <ulink url="http://forge.mysql.com/worklog/">MySQL Forge
+      Worklog</ulink>.
+    </para>
+
+  </section>
+
+</section>


Thread
svn commit - mysqldoc@docsrva: r11292 - trunk/refman-6.0mcbrown21 Jul