List:Commits« Previous MessageNext Message »
From:stefan Date:January 6 2006 10:49pm
Subject:svn commit - mysqldoc@docsrva: r712 - trunk/refman-common
View as plain text  
Author: shinz
Date: 2006-01-06 23:49:23 +0100 (Fri, 06 Jan 2006)
New Revision: 712

Log:
Add to-be-German versions of .en.xml files

Added:
   trunk/refman-common/manual-conventions.de.xml
   trunk/refman-common/maxdb.de.xml
   trunk/refman-common/what-is-mysql-ab.de.xml
   trunk/refman-common/what-is.de.xml

Added: trunk/refman-common/manual-conventions.de.xml
===================================================================
--- trunk/refman-common/manual-conventions.de.xml	2006-01-06 21:50:51 UTC (rev 711)
+++ trunk/refman-common/manual-conventions.de.xml	2006-01-06 22:49:23 UTC (rev 712)
@@ -0,0 +1,239 @@
+<?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 % fixedchars.entities  SYSTEM "fixedchars.ent">
+  %fixedchars.entities;
+  <!ENTITY % title.entities       SYSTEM "titles.en.ent">
+  %title.entities;
+]>
+<section id="manual-conventions">
+
+  <title>&title-manual-conventions;</title>
+
+  <para>
+    This manual uses certain typographical conventions:
+  </para>
+
+  <indexterm type="concept">
+    <primary>manual</primary>
+    <secondary>typographical conventions</secondary>
+  </indexterm>
+
+  <indexterm type="concept">
+    <primary>typographical conventions</primary>
+  </indexterm>
+
+  <indexterm type="concept">
+    <primary>conventions</primary>
+    <secondary>typographical</secondary>
+  </indexterm>
+
+  <itemizedlist>
+
+    <listitem>
+      <para>
+        <literal>Text in this style</literal> is used for SQL
+        statements; database, table, and column names; program listings
+        and source code; and environment variables. Example: <quote>To
+        reload the grant tables, use the <literal>FLUSH
+        PRIVILEGES</literal> statement</quote>.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <userinput>Text in this style</userinput> indicates input that
+        you type in examples.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <command>Text in this style</command> indicates the names of
+        executable programs and scripts, examples being
+        <command>mysql</command> (the MySQL command line client program)
+        and <command>mysqld</command> (the MySQL server executable).
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <replaceable>Text in this style</replaceable> is used for
+        variable input for which you should substitute a value of your
+        own choosing.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        Filenames and directory names are written like this: <quote>The
+        global <filename>my.cnf</filename> file is located in the
+        <filename>/etc</filename> directory</quote>.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        Character sequences are written like this: <quote>To specify a
+        wildcard, use the &lsquo;<literal>%</literal>&rsquo;
+        character</quote>.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <emphasis>Text in this style</emphasis> is used for emphasis.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        <emphasis role="bold">Text in this style</emphasis> is used in
+        table headings and to convey especially strong emphasis.
+      </para>
+    </listitem>
+
+  </itemizedlist>
+
+  <para>
+    When commands are shown that are meant to be executed from within a
+    particular program, the prompt shown preceding the command indicates
+    which command to use. For example, <literal>shell&gt;</literal>
+    indicates a command that you execute from your login shell, and
+    <literal>mysql&gt;</literal> indicates a statement that you execute
+    from the <command>mysql</command> client program:
+  </para>
+
+<programlisting>
+shell&gt; <userinput>type a shell command here</userinput>
+mysql&gt; <userinput>type a mysql statement here</userinput>
+</programlisting>
+
+  <para>
+    The <quote>shell</quote> is your command interpreter. On Unix, this
+    is typically a program such as <command>sh</command>,
+    <command>csh</command>, or <command>bash</command>. On Windows, the
+    equivalent program is <command>command.com</command> or
+    <command>cmd.exe</command>, typically run in a console window.
+  </para>
+
+  <para>
+    When you enter a command or statement shown in an example, do not
+    type the prompt shown in the example.
+  </para>
+
+  <para>
+    Database, table, and column names must often be substituted into
+    statements. To indicate that such substitution is necessary, this
+    manual uses <replaceable>db_name</replaceable>,
+    <replaceable>tbl_name</replaceable>, and
+    <replaceable>col_name</replaceable>. For example, you might see a
+    statement like this:
+  </para>
+
+<programlisting>
+mysql&gt; <userinput>SELECT <replaceable>col_name</replaceable> FROM <replaceable>db_name</replaceable>.<replaceable>tbl_name</replaceable>;</userinput>
+</programlisting>
+
+  <para>
+    This means that if you were to enter a similar statement, you would
+    supply your own database, table, and column names, perhaps like
+    this:
+  </para>
+
+<programlisting>
+mysql&gt; <userinput>SELECT author_name FROM biblio_db.author_list;</userinput>
+</programlisting>
+
+  <para>
+    SQL keywords are not case sensitive and may be written in any
+    lettercase. This manual uses uppercase.
+  </para>
+
+  <para>
+    In syntax descriptions, square brackets
+    (&lsquo;<literal>[</literal>&rsquo; and
+    &lsquo;<literal>]</literal>&rsquo;) indicate optional words or
+    clauses. For example, in the following statement, <literal>IF
+    EXISTS</literal> is optional:
+  </para>
+
+<programlisting>
+DROP TABLE [IF EXISTS] <replaceable>tbl_name</replaceable>
+</programlisting>
+
+  <para>
+    When a syntax element consists of a number of alternatives, the
+    alternatives are separated by vertical bars
+    (&lsquo;<literal>|</literal>&rsquo;). When one member from a set of
+    choices <emphasis>may</emphasis> be chosen, the alternatives are
+    listed within square brackets (&lsquo;<literal>[</literal>&rsquo;
+    and &lsquo;<literal>]</literal>&rsquo;):
+  </para>
+
+<programlisting>
+TRIM([[BOTH | LEADING | TRAILING] [<replaceable>remstr</replaceable>] FROM] <replaceable>str</replaceable>)
+</programlisting>
+
+  <para>
+    When one member from a set of choices <emphasis>must</emphasis> be
+    chosen, the alternatives are listed within braces
+    (&lsquo;<literal>{</literal>&rsquo; and
+    &lsquo;<literal>}</literal>&rsquo;):
+  </para>
+
+<programlisting>
+{DESCRIBE | DESC} <replaceable>tbl_name</replaceable> [<replaceable>col_name</replaceable> | <replaceable>wild</replaceable>]
+</programlisting>
+
+  <para>
+    An ellipsis (<literal>&hellip;</literal>) indicates the omission of
+    a section of a statement, typically to provide a shorter version of
+    more complex syntax. For example, <literal>INSERT &hellip;
+    SELECT</literal> is shorthand for the form of
+    <literal>INSERT</literal> statement that is followed by a
+    <literal>SELECT</literal> statement.
+  </para>
+
+  <para>
+    An ellipsis can also indicate that the preceding syntax element of a
+    statement may be repeated. In the following example, multiple
+    <replaceable>reset_option</replaceable> values may be given, with
+    each of those after the first preceded by commas:
+  </para>
+
+<programlisting>
+RESET <replaceable>reset_option</replaceable> [,<replaceable>reset_option</replaceable>] ...
+</programlisting>
+
+  <para>
+    Commands for setting shell variables are shown using Bourne shell
+    syntax. For example, the sequence to set the <literal>CC</literal>
+    environment variable and run the <command>configure</command>
+    command looks like this in Bourne shell syntax:
+  </para>
+
+<programlisting>
+shell&gt; <userinput>CC=gcc ./configure</userinput>
+</programlisting>
+
+  <indexterm type="concept">
+    <primary>shell syntax</primary>
+  </indexterm>
+
+  <indexterm type="concept">
+    <primary>command syntax</primary>
+  </indexterm>
+
+  <para>
+    If you are using <command>csh</command> or <command>tcsh</command>,
+    you must issue commands somewhat differently:
+  </para>
+
+<programlisting>
+shell&gt; <userinput>setenv CC gcc</userinput>
+shell&gt; <userinput>./configure</userinput>
+</programlisting>
+
+</section>

Added: trunk/refman-common/maxdb.de.xml
===================================================================
--- trunk/refman-common/maxdb.de.xml	2006-01-06 21:50:51 UTC (rev 711)
+++ trunk/refman-common/maxdb.de.xml	2006-01-06 22:49:23 UTC (rev 712)
@@ -0,0 +1,429 @@
+<?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 % fixedchars.entities  SYSTEM "fixedchars.ent">
+  %fixedchars.entities;
+  <!ENTITY % title.entities       SYSTEM "titles.en.ent">
+  %title.entities;
+]>
+<section id='maxdb'>
+
+  <title>&title-maxdb;</title>
+
+  <para>
+    MaxDB is a heavy-duty enterprise database. The database management
+    system is SAP-certified.
+  </para>
+
+  <para>
+    MaxDB is the new name of a database management system formerly
+    called SAP DB. In 2003 SAP AG and MySQL AB joined a partnership and
+    re-branded the database system to MaxDB. The development of MaxDB
+    has continued since then as it was done before&mdash;through the SAP
+    developer team.
+  </para>
+
+  <para>
+    MySQL AB cooperates closely with the MaxDB team at SAP around
+    delivering improvements to the MaxDB product. Joint efforts include
+    development of new native drivers to enable more efficient usage of
+    MaxDB in the Open Source community, and improvement of documentation
+    to expand the MaxDB user base. Interoperability features between
+    MySQL and MaxDB database also are seen as important. For example,
+    the new MaxDB Synchronization Manager supports data synchronization
+    from MaxDB to MySQL.
+  </para>
+
+  <para>
+    The MaxDB database management system does not share a common
+    code-base with the MySQL database management system. The MaxDB and
+    MySQL database management systems are independent products provided
+    by MySQL AB.
+  </para>
+
+  <para>
+    MySQL AB offers a complete portfolio of Professional Services for
+    MaxDB.
+  </para>
+
+  <section id="maxdb-overview">
+
+    <title>&title-maxdb-overview;</title>
+
+    <para>
+      MaxDB is an ANSI SQL-92 (entry level) compliant relational
+      database management system (RDBMS) from SAP AG, that is delivered
+      by MySQL AB as well. MaxDB fulfills the needs for enterprise
+      usage: safety, scalability, high concurrency, and performance. It
+      runs on all major operating systems. Over the years it has proven
+      able to run SAP R/3 and terabytes of data in 24&times;7 operation.
+    </para>
+
+    <para>
+      The database development started in 1977 as a research project at
+      the Technical University of Berlin. In the early 1980s it became a
+      database product that subsequently was owned by Nixdorf, Siemens
+      Nixdorf, Software AG, and today by SAP AG. Along the way, it has
+      been named VDN, Reflex, Supra 2, DDB/4, Entire SQL-DB-Server, and
+      ADABAS D. In 1997, SAP took over the software from software AG and
+      renamed it to SAP DB. Since October 2000, SAP DB sources
+      additionally were released as Open Source under the GNU General
+      Public License (see <xref linkend="gpl-license"/>).
+    </para>
+
+    <para>
+      In 2003, SAP AG and MySQL AB formed a partnership and re-branded
+      the database system to MaxDB.
+    </para>
+
+  </section>
+
+  <section id="maxdb-history">
+
+    <title>&title-maxdb-history;</title>
+
+    <para>
+      The history of MaxDB goes back to SAP DB, SAP AG's DBMS. That is,
+      MaxDB is a re-branded and enhanced version of SAP DB. For many
+      years, MaxDB has been used for small, medium, and large
+      installations of the mySAP Business Suite and other demanding SQL
+      applications requiring an enterprise-class DBMS with regard to the
+      number of users, the transactional workload, and the size of the
+      database.
+    </para>
+
+    <para>
+      SAP DB was meant to provide an alternative to third-party database
+      systems such as Oracle, Microsoft SQL Server, and DB2 by IBM. In
+      October 2000, SAP AG released SAP DB under the GNU GPL license
+      (see <xref linkend="gpl-license"/>), thus making it Open Source
+      software.
+    </para>
+
+    <para>
+      Today, MaxDB is used in about 3,500 SAP customer installations
+      worldwide. Moreover, the majority of all DBMS installations on
+      Unix and Linux within SAP’s IT department rely on MaxDB. MaxDB
+      is tuned toward heavy-duty online transaction processing (OLTP)
+      with several thousand users and database sizes ranging from
+      several hundred GB to multiple TB.
+    </para>
+
+    <para>
+      In 2003, SAP and MySQL concluded a partnership and development
+      cooperation agreement. As a result, SAP's database system SAP DB
+      has been delivered under the name of MaxDB by MySQL since the
+      release of version 7.5 (November 2003).
+    </para>
+
+    <para>
+      Version 7.5 of MaxDB is a direct advancement of the SAP DB 7.4
+      code base. Therefore, the MaxDB software version 7.5 can be used
+      as a direct upgrade of previous SAP DB versions starting 7.2.04
+      and higher.
+    </para>
+
+    <para>
+      The former SAP DB development team at SAP AG is responsible, now
+      as before, for developing and supporting MaxDB. MySQL AB
+      cooperates closely with the MaxDB team at SAP around delivering
+      improvements to the MaxDB product, see <xref linkend="maxdb"/>.
+      Both SAP AG and MySQL AB handle the sale and distribution of
+      MaxDB. The advancement of MaxDB and the MySQL Server leverages
+      synergies that benefit both product lines.
+    </para>
+
+    <para>
+      MaxDB is subjected to SAP AG's complete quality assurance process
+      before it is shipped with SAP solutions or provided as a download
+      from the MySQL site.
+    </para>
+
+  </section>
+
+  <section id="maxdb-features">
+
+    <title>&title-maxdb-features;</title>
+
+    <para>
+      MaxDB is a heavy-duty, SAP-certified Open Source database for OLTP
+      and OLAP usage which offers high reliability, availability,
+      scalability, and a very comprehensive feature set. It is targeted
+      for large mySAP Business Suite environments and other applications
+      that require maximum enterprise-level database functionality and
+      complements the MySQL database server.
+    </para>
+
+    <para>
+      MaxDB operates as a client/server product. It was developed to
+      meet the needs of installations in OLTP and Data
+      Warehouse/OLAP/Decision Support scenarios and offers these
+      benefits:
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">Easy configuration and
+            administration:</emphasis> GUI-based Installation Manager
+            and Database Manager as single administration tools for DBMS
+            operations
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">Around-the-clock operation, no planned
+            downtimes, no permanent attendance required:</emphasis>
+            Automatic space management, no need for reorganizations
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">Sophisticated backup and restore
+            capabilities:</emphasis> Online and incremental backups,
+            recovery wizard to guide you through the recovery scenario
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">Supports large number of users,
+            database sizes in the terabytes, and demanding
+            workloads:</emphasis> Proven reliability, performance, and
+            scalability
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">High availability:</emphasis> Cluster
+            support, standby configuration, hot standby configuration
+          </para>
+        </listitem>
+
+      </itemizedlist>
+    </para>
+
+  </section>
+
+  <section id="maxdb-licensing">
+
+    <title>&title-maxdb-licensing;</title>
+
+    <para>
+      MaxDB can be used under the same licenses available for the other
+      products distributed by MySQL AB. Thus, MaxDB is available under
+      the GNU General Public License, and a commercial license. For more
+      information on licensing, see
+      <ulink url="http://www.mysql.com/company/legal/licensing/"/>.
+    </para>
+
+    <para>
+      MySQL AB offers MaxDB technical support to non-SAP customers.
+      MaxDB support is available on various levels (Basic, Silver, and
+      Gold), which expand from unlimited email/web-support to 24&times;7
+      phone support for business critical systems.
+    </para>
+
+    <para>
+      MySQL AB also offers Licenses and Support for MaxDB when used with
+      SAP Applications, like SAP NetWeaver and mySAP Business Suite. For
+      more information on licenses and support for your needs, please
+      contact MySQL AB. (See
+      <ulink url="http://www.mysql.com/company/contact/"/>.)
+    </para>
+
+    <para>
+      Consulting and training services are available. MySQL gives
+      classes on MaxDB at regular intervals. See
+      <ulink url="http://www.mysql.com/training/"/> for a list of
+      classes.
+    </para>
+
+  </section>
+
+  <section id="maxdb-mysql-differences">
+
+    <title>&title-maxdb-mysql-differences;</title>
+
+    <para>
+      MaxDB is MySQL AB's SAP-certified database. The MaxDB database
+      server complements the MySQL AB product portfolio. Some MaxDB
+      features are not available on the MySQL database management server
+      and vice versa.
+    </para>
+
+    <para>
+      The following list summarizes the main differences between MaxDB
+      and MySQL; it is not complete.
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          MaxDB runs as a client/server system. MySQL can run as a
+          client/server system or as an embedded system.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          MaxDB might not run on all platforms supported by MySQL.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          MaxDB uses a proprietary network protocol for client/server
+          communication. MySQL uses either TCP/IP (with or without SSL
+          encryption), sockets (under Unix-like systems), or named pipes
+          or shared memory (under Windows NT-family systems).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          MaxDB supports stored procedures and functions. MySQL 5.0 and
+          up also supports stored procedures and function and functions.
+          MaxDB supports programming of triggers through an SQL
+          extension. MySQL 5.0 supports triggers. MaxDB contains a
+          debugger for stored procedure languages, can cascade nested
+          triggers, and supports multiple triggers per action and row.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          MaxDB is distributed with user interfaces that are text-based,
+          graphical, or Web-based. MySQL is distributed with text-based
+          user interfaces only; graphical user interfaces (MySQL Query
+          Browser, MySQL Administrator) are shipped separately from the
+          main distributions. Web-based user interfaces for MySQL are
+          offered by third parties.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          MaxDB supports a number of programming interfaces that also
+          are supported by MySQL. For developing with MaxDB, the MaxDB
+          ODBC Driver, SQL Database Connectivity (SQLDBC), JDBC Driver,
+          Perl and Python modules and a MaxDB PHP extension, which
+          provides access to MySQL MaxDB databases using PHP, are
+          available. Third Party Programming Interfaces: Support for OLE
+          DB, ADO, DAO, RDO and .NET through ODBC. MaxDB supports
+          embedded SQL with C/C++.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          MaxDB includes administrative features that MySQL does not
+          have: job scheduling by time, event, and alert, and sending
+          messages to a database administrator on alert thresholds.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+<!--  Maybe add table showing maxima for MaxDB and MySQL. Might be obtained from crash-me comparison. -->
+
+  </section>
+
+  <section id="maxdb-mysql-interoperability">
+
+    <title>&title-maxdb-mysql-interoperability;</title>
+
+    <para>
+      MaxDB and MySQL are independent database management servers. The
+      interoperation of the systems is possible in a way that the
+      systems can exchange their data. To exchange data between MaxDB
+      and MySQL, you can use the import and export tools of the systems
+      or the MaxDB Synchronization Manager. The import and export tools
+      can be used to transfer data in an infrequent, manual fashion. The
+      MaxDB Synchronization Manager offers faster, automatic data
+      transfer capabilities.
+    </para>
+
+    <para>
+      The MaxDB Loader can be used to export data and object
+      definitions. The Loader can export data using MaxDB internal,
+      binary formats and text formats (CSV). Data exported from MaxDB in
+      text formats can be imported into MySQL using the
+      <command>mysqlimport</command> client program. To export MySQL
+      data, you can use either <command>mysqldump</command> to create
+      <literal>INSERT</literal> statements or <literal>SELECT ... INTO
+      OUTFILE</literal> to create a text file (CSV). Use the MaxDB
+      Loader to import the data files generated by MySQL.
+    </para>
+
+    <para>
+      Object definitions can be exchanged between the systems using
+      MaxDB Loader and the MySQL tool <command>mysqldump</command>. As
+      the SQL dialects of both systems differ slightly and MaxDB has
+      features currently not supported by MySQL like SQL constraints, we
+      recommend to hand-tune the definition files. The
+      <command>mysqldump</command> tool offers an option
+      <option>--compatible=maxdb</option> to produce output that is
+      compatible to MaxDB to make porting easier.
+    </para>
+
+    <para>
+      The MaxDB Synchronization Manager is available as part of MaxDB
+      7.6. The Synchronization Manager supports creation of asynchronous
+      replication scenarios between several MaxDB instances. However,
+      interoperability features also are planned, so that the
+      Synchronization Manager supports replication to and from a MySQL
+      server.
+    </para>
+
+    <para>
+      In the first release, the Synchronization Manager supports
+      inserting data into MySQL. This means that initially only
+      replication from MaxDB to MySQL is supported. In the course of
+      2005, exporting of data from a MySQL server to the Synchronization
+      Manager will be added, thus adding support for MySQL to MaxDB
+      replication scenarios.
+    </para>
+
+  </section>
+
+  <section id="maxdb-links">
+
+    <title>&title-maxdb-links;</title>
+
+    <para>
+      The main page for MaxDB information is
+      <ulink url="http://www.mysql.com/products/maxdb"/>, which provides
+      details about the features of the MaxDB database management
+      systems and has pointers to available documentation.
+    </para>
+
+    <para>
+      The MySQL Reference Manual does not contain any MaxDB
+      documentation other than the introduction given in this section.
+      MaxDB has its own documentation, which is called the MaxDB library
+      and is available at
+      <ulink url="&base-url-docs;maxdb/index.html" />.
+    </para>
+
+    <para>
+      MySQL AB runs a community mailing list on MaxDB; see
+      <ulink url="http://lists.mysql.com/maxdb" />. The list shows a
+      vivid community discussion. Many of the core developers contribute
+      to it. Product announcements are sent to the list.
+    </para>
+
+    <para>
+      A Web forum on MaxDB is available at
+      <ulink url="http://forums.mysql.com/" />. The forum focuses on
+      MaxDB questions not related to SAP applications.
+    </para>
+
+  </section>
+
+</section>

Added: trunk/refman-common/what-is-mysql-ab.de.xml
===================================================================
--- trunk/refman-common/what-is-mysql-ab.de.xml	2006-01-06 21:50:51 UTC (rev 711)
+++ trunk/refman-common/what-is-mysql-ab.de.xml	2006-01-06 22:49:23 UTC (rev 712)
@@ -0,0 +1,140 @@
+<?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 % fixedchars.entities  SYSTEM "fixedchars.ent">
+  %fixedchars.entities;
+  <!ENTITY % title.entities       SYSTEM "titles.en.ent">
+  %title.entities;
+]>
+<section id="what-is-mysql-ab">
+
+  <title>&title-what-is-mysql-ab;</title>
+
+  <indexterm type="concept">
+    <primary>MySQL AB</primary>
+    <secondary>defined</secondary>
+  </indexterm>
+
+  <para>
+    MySQL AB is the company of the MySQL founders and main developers.
+    MySQL AB was originally established in Sweden by David Axmark, Allan
+    Larsson, and Michael <quote>Monty</quote> Widenius.
+  </para>
+
+  <para>
+    We are dedicated to developing the MySQL database software and
+    promoting it to new users. MySQL AB owns the copyright to the MySQL
+    source code, the MySQL logo and (registered) trademark, and this
+    manual. See <xref linkend="what-is"/>.
+  </para>
+
+  <para>
+    The MySQL core values show our dedication to MySQL and Open Source.
+  </para>
+
+  <para>
+    These core values direct how MySQL AB works with the MySQL server
+    software:
+  </para>
+
+  <itemizedlist>
+
+    <listitem>
+      <para>
+        To be the best and the most widely used database in the world
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        To be available and affordable by all
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        To be easy to use
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        To be continuously improved while remaining fast and safe
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        To be fun to use and improve
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        To be free from bugs
+      </para>
+    </listitem>
+
+  </itemizedlist>
+
+  <para>
+    These are the core values of the company MySQL AB and its employees:
+  </para>
+
+  <itemizedlist>
+
+    <listitem>
+      <para>
+        We subscribe to the Open Source philosophy and support the Open
+        Source community
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        We aim to be good citizens
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        We prefer partners that share our values and mindset
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        We answer email and provide support
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        We are a virtual company, networking with others
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        We work against software patents
+      </para>
+    </listitem>
+
+  </itemizedlist>
+
+  <para>
+    The MySQL Web site (<ulink url="http://www.mysql.com/"/>) provides
+    the latest information about MySQL and MySQL AB.
+  </para>
+
+  <para>
+    By the way, the <quote>AB</quote> part of the company name is the
+    acronym for the Swedish <quote>aktiebolag,</quote> or <quote>stock
+    company.</quote> It translates to <quote>MySQL, Inc.</quote> In
+    fact, MySQL, Inc. and MySQL GmbH are examples of MySQL AB
+    subsidiaries. They are located in the United States and Germany,
+    respectively.
+  </para>
+
+</section>

Added: trunk/refman-common/what-is.de.xml
===================================================================
--- trunk/refman-common/what-is.de.xml	2006-01-06 21:50:51 UTC (rev 711)
+++ trunk/refman-common/what-is.de.xml	2006-01-06 22:49:23 UTC (rev 712)
@@ -0,0 +1,1158 @@
+<?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 % fixedchars.entities  SYSTEM "fixedchars.ent">
+  %fixedchars.entities;
+  <!ENTITY % title.entities       SYSTEM "titles.en.ent">
+  %title.entities;
+]>
+<section id="what-is">
+
+  <title>&title-what-is;</title>
+
+  <indexterm type="concept">
+    <primary>MySQL</primary>
+    <secondary>defined</secondary>
+  </indexterm>
+
+  <indexterm type="concept">
+    <primary>MySQL</primary>
+    <secondary>introduction</secondary>
+  </indexterm>
+
+  <para>
+    MySQL, the most popular Open Source SQL database management system,
+    is developed, distributed, and supported by MySQL AB. MySQL AB is a
+    commercial company, founded by the MySQL developers. It is a second
+    generation Open Source company that unites Open Source values and
+    methodology with a successful business model.
+  </para>
+
+  <para>
+    The MySQL Web site (<ulink url="http://www.mysql.com/"/>) provides
+    the latest information about MySQL software and MySQL AB.
+  </para>
+
+  <itemizedlist>
+
+    <listitem>
+      <para>
+        MySQL is a database management system.
+      </para>
+
+      <para>
+        A database is a structured collection of data. It may be
+        anything from a simple shopping list to a picture gallery or the
+        vast amounts of information in a corporate network. To add,
+        access, and process data stored in a computer database, you need
+        a database management system such as MySQL Server. Since
+        computers are very good at handling large amounts of data,
+        database management systems play a central role in computing, as
+        standalone utilities or as parts of other applications.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        MySQL is a relational database management system.
+      </para>
+
+      <para>
+        <indexterm type="concept">
+          <primary>databases</primary>
+          <secondary>defined</secondary>
+        </indexterm>
+
+        A relational database stores data in separate tables rather than
+        putting all the data in one big storeroom. This adds speed and
+        flexibility. The SQL part of <quote>MySQL</quote> stands for
+        <quote>Structured Query Language.</quote> SQL is the most common
+        standardized language used to access databases and is defined by
+        the ANSI/ISO SQL Standard. The SQL standard has been evolving
+        since 1986 and several versions exist. In this manual,
+        <quote>SQL-92</quote> refers to the standard released in 1992,
+        <quote>SQL:1999</quote> refers to the standard released in 1999,
+        and <quote>SQL:2003</quote> refers to the current version of the
+        standard. We use the phrase <quote>the SQL standard</quote> to
+        mean the current version of the SQL Standard at any time.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        MySQL software is Open Source.
+      </para>
+
+      <para>
+        <indexterm type="concept">
+          <primary>relational databases</primary>
+          <secondary>defined</secondary>
+        </indexterm>
+
+        <indexterm type="concept">
+          <primary>SQL</primary>
+          <secondary>defined</secondary>
+        </indexterm>
+
+        <indexterm type="concept">
+          <primary>Open Source</primary>
+          <secondary>defined</secondary>
+        </indexterm>
+
+        <indexterm type="concept">
+          <primary>General Public License</primary>
+        </indexterm>
+
+        Open Source means that it is possible for anyone to use and
+        modify the software. Anybody can download the MySQL software
+        from the Internet and use it without paying anything. If you
+        wish, you may study the source code and change it to suit your
+        needs. The MySQL software uses the GPL (GNU General Public
+        License), <ulink url="http://www.fsf.org/licenses/"/>, to define
+        what you may and may not do with the software in different
+        situations. If you feel uncomfortable with the GPL or need to
+        embed MySQL code into a commercial application, you can buy a
+        commercially licensed version from us. See the MySQL Licensing
+        Overview for more information
+        (<ulink url="http://www.mysql.com/company/legal/licensing/"/>).
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        The MySQL Database Server is very fast, reliable, and easy to
+        use.
+      </para>
+
+      <para>
+        If that is what you are looking for, you should give it a try.
+        MySQL Server also has a practical set of features developed in
+        close cooperation with our users. You can find a performance
+        comparison of MySQL Server with other database managers on our
+        benchmark page. See <xref linkend="mysql-benchmarks"/>.
+      </para>
+
+      <para>
+        MySQL Server was originally developed to handle large databases
+        much faster than existing solutions and has been successfully
+        used in highly demanding production environments for several
+        years. Although under constant development, MySQL Server today
+        offers a rich and useful set of functions. Its connectivity,
+        speed, and security make MySQL Server highly suited for
+        accessing databases on the Internet.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        MySQL Server works in client/server or embedded systems.
+      </para>
+
+      <para>
+        The MySQL Database Software is a client/server system that
+        consists of a multi-threaded SQL server that supports different
+        backends, several different client programs and libraries,
+        administrative tools, and a wide range of application
+        programming interfaces (APIs).
+      </para>
+
+      <para>
+        We also provide MySQL Server as an embedded multi-threaded
+        library that you can link into your application to get a
+        smaller, faster, easier-to-manage standalone product.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        A large amount of contributed MySQL software is available.
+      </para>
+
+      <para>
+        It is very likely that your favorite application or language
+        supports the MySQL Database Server.
+      </para>
+    </listitem>
+
+  </itemizedlist>
+
+  <indexterm type="concept">
+    <primary>pronunciation</primary>
+    <secondary>MySQL</secondary>
+  </indexterm>
+
+  <indexterm type="concept">
+    <primary>MySQL</primary>
+    <secondary>pronunciation</secondary>
+  </indexterm>
+
+  <indexterm type="concept">
+    <primary>goals of MySQL</primary>
+  </indexterm>
+
+  <para>
+    The official way to pronounce <quote>MySQL</quote> is <quote>My Ess
+    Que Ell</quote> (not <quote>my sequel</quote>), but we don't mind if
+    you pronounce it as <quote>my sequel</quote> or in some other
+    localized way.
+  </para>
+
+  <section id="history">
+
+    <title>&title-history;</title>
+
+    <indexterm type="concept">
+      <primary>MySQL history</primary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>history of MySQL</primary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>MySQL name</primary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>My</primary>
+      <secondary>derivation</secondary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>MySQL Dolphin name</primary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>Sakila</primary>
+    </indexterm>
+
+    <para>
+      We started out with the intention of using the
+      <literal>mSQL</literal> database system to connect to our tables
+      using our own fast low-level (ISAM) routines. However, after some
+      testing, we came to the conclusion that <literal>mSQL</literal>
+      was not fast enough or flexible enough for our needs. This
+      resulted in a new SQL interface to our database but with almost
+      the same API interface as <literal>mSQL</literal>. This API was
+      designed to allow third-party code that was written for use with
+      <literal>mSQL</literal> to be ported easily for use with MySQL.
+    </para>
+
+    <para>
+      The derivation of the name MySQL is not clear. Our base directory
+      and a large number of our libraries and tools have had the prefix
+      <quote>my</quote> for well over 10 years. However, co-founder
+      Monty Widenius's daughter is also named My. Which of the two gave
+      its name to MySQL is still a mystery, even for us.
+    </para>
+
+    <para>
+      The name of the MySQL Dolphin (our logo) is <quote>Sakila,</quote>
+      which was chosen by the founders of MySQL AB from a huge list of
+      names suggested by users in our <quote>Name the Dolphin</quote>
+      contest. The winning name was submitted by Ambrose Twebaze, an
+      Open Source software developer from Swaziland, Africa. According
+      to Ambrose, the feminine name Sakila has its roots in SiSwati, the
+      local language of Swaziland. Sakila is also the name of a town in
+      Arusha, Tanzania, near Ambrose's country of origin, Uganda.
+    </para>
+
+  </section>
+
+  <section id="features">
+
+    <title>&title-features;</title>
+
+    <indexterm type="concept">
+      <primary>main features of MySQL</primary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>features of MySQL</primary>
+    </indexterm>
+
+    <para>
+      The following list describes some of the important characteristics
+      of the MySQL Database Software. See also
+      <xref linkend="roadmap"/>, for more information about current and
+      upcoming features.
+    </para>
+
+<!--  
+      TODO: This list is too technical and should be divided into one 
+      feature list comparable to commercial competition and a very 
+      technical one with max limits (from crash-me) and so on. 
+-->
+
+    <para>
+      Internals and Portability:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          Written in C and C++.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Tested with a broad range of different compilers.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Works on many different platforms. See
+          <xref linkend="which-os"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Uses GNU Automake, Autoconf, and Libtool for portability.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and
+          Tcl are available. See <xref linkend="apis"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Fully multi-threaded using kernel threads. It can easily use
+          multiple CPUs if they are available.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Provides transactional and non-transactional storage engines.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Uses very fast B-tree disk tables (<literal>MyISAM</literal>)
+          with index compression.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Relatively easy to add other storage engines. This is useful
+          if you want to add an SQL interface to an in-house database.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          A very fast thread-based memory allocation system.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Very fast joins using an optimized one-sweep multi-join.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          In-memory hash tables, which are used as temporary tables.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          SQL functions are implemented using a highly optimized class
+          library and should be as fast as possible. Usually there is no
+          memory allocation at all after query initialization.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The MySQL code is tested with Purify (a commercial memory
+          leakage detector) as well as with Valgrind, a GPL tool
+          (<ulink url="http://developer.kde.org/~sewardj/"/>).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The server is available as a separate program for use in a
+          client/server networked environment. It is also available as a
+          library that can be embedded (linked) into standalone
+          applications. Such applications can be used in isolation or in
+          environments where no network is available.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      Data Types:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          Many data types: signed/unsigned integers 1, 2, 3, 4, and 8
+          bytes long, <literal>FLOAT</literal>,
+          <literal>DOUBLE</literal>, <literal>CHAR</literal>,
+          <literal>VARCHAR</literal>, <literal>TEXT</literal>,
+          <literal>BLOB</literal>, <literal>DATE</literal>,
+          <literal>TIME</literal>, <literal>DATETIME</literal>,
+          <literal>TIMESTAMP</literal>, <literal>YEAR</literal>,
+          <literal>SET</literal>, <literal>ENUM</literal>, and OpenGIS
+          spatial types. See <xref linkend="data-types"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Fixed-length and variable-length records.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      Statements and Functions:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          Full operator and function support in the
+          <literal>SELECT</literal> and <literal>WHERE</literal> clauses
+          of queries. For example:
+        </para>
+
+<programlisting>
+mysql&gt; <userinput>SELECT CONCAT(first_name, ' ', last_name)</userinput>
+    -&gt; <userinput>FROM citizen</userinput>
+    -&gt; <userinput>WHERE income/dependents &gt; 10000 AND age &gt; 30;</userinput>
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          Full support for SQL <literal>GROUP BY</literal> and
+          <literal>ORDER BY</literal> clauses. Support for group
+          functions (<literal>COUNT()</literal>, <literal>COUNT(DISTINCT
+          ...)</literal>, <literal>AVG()</literal>,
+          <literal>STD()</literal>, <literal>SUM()</literal>,
+          <literal>MAX()</literal>, <literal>MIN()</literal>, and
+          <literal>GROUP_CONCAT()</literal>).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Support for <literal>LEFT OUTER JOIN</literal> and
+          <literal>RIGHT OUTER JOIN</literal> with both standard SQL and
+          ODBC syntax.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Support for aliases on tables and columns as required by
+          standard SQL.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>DELETE</literal>, <literal>INSERT</literal>,
+          <literal>REPLACE</literal>, and <literal>UPDATE</literal>
+          return the number of rows that were changed (affected). It is
+          possible to return the number of rows matched instead by
+          setting a flag when connecting to the server.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The MySQL-specific <literal>SHOW</literal> command can be used
+          to retrieve information about databases, database engines,
+          tables, and indexes.
+        </para>
+
+        <para>
+          The <literal>EXPLAIN</literal> command can be used to
+          determine how the optimizer resolves a query.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Function names do not clash with table or column names. For
+          example, <literal>ABS</literal> is a valid column name. The
+          only restriction is that for a function call, no spaces are
+          allowed between the function name and the
+          &lsquo;<literal>(</literal>&rsquo; that follows it. See
+          <xref linkend="reserved-words"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          You can mix tables from different databases in the same query
+          (as of MySQL 3.22).
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      Security:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          A privilege and password system that is very flexible and
+          secure, and that allows host-based verification. Passwords are
+          secure because all password traffic is encrypted when you
+          connect to a server.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      Scalability and Limits:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          Handles large databases. We use MySQL Server with databases
+          that contain 50 million records. We also know of users who use
+          MySQL Server with 60,000 tables and about 5,000,000,000 rows.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Up to 64 indexes per table are allowed (32 before MySQL
+          4.1.2). Each index may consist of 1 to 16 columns or parts of
+          columns. The maximum index width is 1000 bytes (500 before
+          MySQL 4.1.2). An index may use a prefix of a column for
+          <literal>CHAR</literal>, <literal>VARCHAR</literal>,
+          <literal>BLOB</literal>, or <literal>TEXT</literal> column
+          types.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      Connectivity:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          Clients can connect to the MySQL server using TCP/IP sockets
+          on any platform. On Windows systems in the NT family (NT,
+          2000, XP, or 2003), clients can connect using named pipes. On
+          Unix systems, clients can connect using Unix domain socket
+          files.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          In MySQL versions 4.1 and higher, Windows servers also support
+          shared-memory connections if started with the
+          <option>--shared-memory</option> option. Clients can connect
+          through shared memory by using the
+          <option>--protocol=memory</option> option.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The Connector/ODBC (MyODBC) interface provides MySQL support
+          for client programs that use ODBC (Open Database Connectivity)
+          connections. For example, you can use MS Access to connect to
+          your MySQL server. Clients can be run on Windows or Unix.
+          MyODBC source is available. All ODBC 2.5 functions are
+          supported, as are many others. See
+          <xref linkend="connectors"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The Connector/J interface provides MySQL support for Java
+          client programs that use JDBC connections. Clients can be run
+          on Windows or Unix. Connector/J source is available. See
+          <xref linkend="connectors"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          MySQL Connector/NET enables developers to easily create .NET
+          applications that require secure, high-performance data
+          connectivity with MySQL. It implements the required ADO.NET
+          interfaces and integrates into ADO.NET aware tools. Developers
+          can build applications using their choice of .NET languages.
+          MySQL Connector/NET is a fully managed ADO.NET driver written
+          in 100% pure C#. See <xref linkend="connectors"/>.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      Localization:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          The server can provide error messages to clients in many
+          languages. See <xref linkend="languages"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Full support for several different character sets, including
+          <literal>latin1</literal> (cp1252), <literal>german</literal>,
+          <literal>big5</literal>, <literal>ujis</literal>, and more.
+          For example, the Scandinavian characters
+          &lsquo;<literal>å</literal>&rsquo;,
+          &lsquo;<literal>ä</literal>&rsquo; and
+          &lsquo;<literal>ö</literal>&rsquo; are allowed in table and
+          column names. Unicode support is available as of MySQL 4.1.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          All data is saved in the chosen character set. All comparisons
+          for normal string columns are case-insensitive.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Sorting is done according to the chosen character set (using
+          Swedish collation by default). It is possible to change this
+          when the MySQL server is started. To see an example of very
+          advanced sorting, look at the Czech sorting code. MySQL Server
+          supports many different character sets that can be specified
+          at compile time and runtime.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      Clients and Tools:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          MySQL Server has built-in support for SQL statements to check,
+          optimize, and repair tables. These statements are available
+          from the command line through the
+          <command>mysqlcheck</command> client. MySQL also includes
+          <command>myisamchk</command>, a very fast command-line utility
+          for performing these operations on <literal>MyISAM</literal>
+          tables. See <xref linkend="database-administration"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          All MySQL programs can be invoked with the
+          <option>--help</option> or <option>-?</option> options to
+          obtain online assistance.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+  </section>
+
+  <section id="stability">
+
+    <title>&title-stability;</title>
+
+    <indexterm type="concept">
+      <primary>stability</primary>
+    </indexterm>
+
+    <para>
+      This section addresses the questions, <quote><emphasis>How stable
+      is MySQL Server?</emphasis></quote> and, <quote><emphasis>Can I
+      depend on MySQL Server in this project?</emphasis></quote> We will
+      try to clarify these issues and answer some important questions
+      that concern many potential users. The information in this section
+      is based on data gathered from the mailing lists, which are very
+      active in identifying problems as well as reporting types of use.
+    </para>
+
+    <para>
+      The original code stems back to the early 1980s. It provides a
+      stable code base, and the <literal>ISAM</literal> table format
+      used by the original storage engine remains backward-compatible.
+      At TcX, the predecessor of MySQL AB, MySQL code has worked in
+      projects since mid-1996, without any problems. When the MySQL
+      Database Software initially was released to a wider public, our
+      new users quickly found some pieces of untested code. Each new
+      release since then has had fewer portability problems, even though
+      each new release has also had many new features.
+    </para>
+
+    <para>
+      Each release of the MySQL Server has been usable. Problems have
+      occurred only when users try code from the <quote>gray
+      zones.</quote> Naturally, new users don't know what the gray zones
+      are; this section therefore attempts to document those areas that
+      are currently known. The descriptions mostly deal with Versions
+      3.23 and later of MySQL Server. All known and reported bugs are
+      fixed in the latest version, with the exception of those listed in
+      the bugs section, which are design-related. See
+      <xref linkend="bugs"/>.
+    </para>
+
+    <para>
+      The MySQL Server design is multi-layered with independent modules.
+      Some of the newer modules are listed here with an indication of
+      how well-tested each of them is:
+    </para>
+
+    <indexterm type="concept">
+      <primary>modules</primary>
+      <secondary>list of</secondary>
+    </indexterm>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          Replication (Stable)
+        </para>
+
+        <para>
+          Large groups of servers using replication are in production
+          use, with good results. Work on enhanced replication features
+          is continuing.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>InnoDB</literal> tables (Stable)
+        </para>
+
+        <para>
+          The <literal>InnoDB</literal> transactional storage engine has
+          been stable since version 3.23.49. <literal>InnoDB</literal>
+          is being used in large, heavy-load production systems.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>BDB</literal> tables (Stable)
+        </para>
+
+        <para>
+          The <literal>Berkeley DB</literal> code is very stable, but we
+          are still improving the <literal>BDB</literal> transactional
+          storage engine interface in MySQL Server.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Full-text searches (Stable)
+        </para>
+
+        <para>
+          Full-text searching is widely used. Important feature
+          enhancements were added in MySQL 4.0 and 4.1.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>MyODBC</literal> 3.51 (Stable)
+        </para>
+
+        <para>
+          <literal>MyODBC</literal> 3.51 uses ODBC SDK 3.51 and is in
+          wide production use. Some issues brought up appear to be
+          application-related and independent of the ODBC driver or
+          underlying database server.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+  </section>
+
+  <section id="table-size">
+
+    <title>&title-table-size;</title>
+
+    <indexterm type="concept">
+      <primary>tables</primary>
+      <secondary>maximum size</secondary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>size of tables</primary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>operating systems</primary>
+      <secondary>file-size limits</secondary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>limits</primary>
+      <secondary>file-size</secondary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>files</primary>
+      <secondary>size limits</secondary>
+    </indexterm>
+
+    <remark role="todo">
+      Move to MyISAM storage engine section, replace with more general
+      "limits" section.
+    </remark>
+
+    <para>
+      MySQL 3.22 had a 4GB (4 gigabyte) limit on table size. With the
+      <literal>MyISAM</literal> storage engine in MySQL 3.23, the
+      maximum table size was increased to 65536 terabytes
+      (256<superscript>7</superscript> &minus; 1 bytes). With this
+      larger allowed table size, the maximum effective table size for
+      MySQL databases is usually determined by operating system
+      constraints on file sizes, not by MySQL internal limits.
+    </para>
+
+    <para>
+      The <literal>InnoDB</literal> storage engine maintains
+      <literal>InnoDB</literal> tables within a tablespace that can be
+      created from several files. This allows a table to exceed the
+      maximum individual file size. The tablespace can include raw disk
+      partitions, which allows extremely large tables. The maximum
+      tablespace size is 64TB.
+    </para>
+
+    <para>
+      The following table lists some examples of operating system
+      file-size limits. This is only a rough guide and is not intended
+      to be definitive. For the most up-to-date information, be sure to
+      check the documentation specific to your operating system.
+    </para>
+
+    <informaltable>
+      <tgroup cols="2">
+        <colspec colwidth="30*"/>
+        <colspec colwidth="50*"/>
+        <tbody>
+          <row>
+            <entry><emphasis role="bold">Operating System</emphasis></entry>
+            <entry><emphasis role="bold">File-size Limit</emphasis></entry>
+          </row>
+          <row>
+            <entry>Linux 2.2-Intel 32-bit</entry>
+            <entry>2GB (LFS: 4GB)</entry>
+          </row>
+          <row>
+            <entry>Linux 2.4+</entry>
+            <entry>(using ext3 filesystem) 4TB</entry>
+          </row>
+          <row>
+            <entry>Solaris 9/10</entry>
+            <entry>16TB</entry>
+          </row>
+          <row>
+            <entry>NetWare w/NSS filesystem</entry>
+            <entry>8TB</entry>
+          </row>
+          <row>
+            <entry>Win32 w/ FAT/FAT32</entry>
+            <entry>2GB/4GB</entry>
+          </row>
+          <row>
+            <entry>Win32 w/ NTFS</entry>
+            <entry>2TB (possibly larger)</entry>
+          </row>
+          <row>
+            <entry>MacOS X w/ HFS+</entry>
+            <entry>2TB</entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+
+    <para>
+      On Linux 2.2, you can get <literal>MyISAM</literal> tables larger
+      than 2GB in size by using the Large File Support (LFS) patch for
+      the ext2 filesystem. On Linux 2.4, patches also exist for ReiserFS
+      to get support for big files (up to 2TB). Most current Linux
+      distributions are based on kernel 2.4 and include all the required
+      LFS patches. With JFS and XFS, petabyte and larger files are
+      possible on Linux. However, the maximum available file size still
+      depends on several factors, one of them being the filesystem used
+      to store MySQL tables.
+    </para>
+
+    <para>
+      For a detailed overview about LFS in Linux, have a look at Andreas
+      Jaeger's <citetitle>Large File Support in Linux</citetitle> page
+      at <ulink url="http://www.suse.de/~aj/linux_lfs.html"/>.
+    </para>
+
+    <para>
+      Windows users please note: FAT and VFAT (FAT32) are
+      <emphasis>not</emphasis> considered suitable for production use
+      with MySQL. Use NTFS instead.
+    </para>
+
+    <para>
+      By default, MySQL creates <literal>MyISAM</literal> tables with an
+      internal structure that allows a maximum size of about 4GB. You
+      can check the maximum table size for a <literal>MyISAM</literal>
+      table with the <literal>SHOW TABLE STATUS</literal> statement or
+      with <command>myisamchk -dv
+      <replaceable>tbl_name</replaceable></command>. See
+      <xref linkend="show"/>.
+    </para>
+
+    <para>
+      If you need a <literal>MyISAM</literal> table that is larger than
+      4GB and your operating system supports large files, the
+      <literal>CREATE TABLE</literal> statement supports
+      <literal>AVG_ROW_LENGTH</literal> and <literal>MAX_ROWS</literal>
+      options. See <xref linkend="create-table"/>. You can also change
+      these options with <literal>ALTER TABLE</literal> to increase a
+      table's maximum allowable size after the table has been created.
+      See <xref linkend="alter-table"/>.
+    </para>
+
+    <para>
+      Other ways to work around file-size limits for
+      <literal>MyISAM</literal> tables are as follows:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          If your large table is read-only, you can use
+          <command>myisampack</command> to compress it.
+          <command>myisampack</command> usually compresses a table by at
+          least 50%, so you can have, in effect, much bigger tables.
+          <command>myisampack</command> also can merge multiple tables
+          into a single table. See <xref linkend="myisampack"/>.
+        </para>
+
+<!--  
+          <para>
+            In MySQL 4.1 and earlier, you can also get around the 
+            operating system file limit for <literal>MyISAM</literal> 
+            data files by using the <literal>RAID</literal> options for 
+            <literal>CREATE TABLE</literal>. See 
+            <xref linkend="create-table"/>. <emphasis>Please note that 
+            <literal>RAID</literal> support is unavailable in MySQL 5.0 
+            and later versions</emphasis>.
+          </para>
+-->
+      </listitem>
+
+      <listitem>
+        <para>
+          MySQL includes a <literal>MERGE</literal> library that allows
+          you to handle a collection of <literal>MyISAM</literal> tables
+          that have identical structure as a single
+          <literal>MERGE</literal> table. See
+          <xref linkend="merge-storage-engine"/>.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+  </section>
+
+  <section id="year-2000-compliance">
+
+    <title>&title-year-2000-compliance;</title>
+
+    <indexterm type="concept">
+      <primary>Year 2000 compliance</primary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>compliance</primary>
+      <secondary>Y2K</secondary>
+    </indexterm>
+
+    <indexterm type="concept">
+      <primary>date functions</primary>
+      <secondary>Y2K compliance</secondary>
+    </indexterm>
+
+    <para>
+      The MySQL Server itself has no problems with Year 2000 (Y2K)
+      compliance:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          MySQL Server uses Unix time functions that handle dates into
+          the year <literal>2037</literal> for
+          <literal>TIMESTAMP</literal> values. For
+          <literal>DATE</literal> and <literal>DATETIME</literal>
+          values, dates through the year <literal>9999</literal> are
+          accepted.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          All MySQL date functions are implemented in one source file,
+          <filename>sql/time.cc</filename>, and are coded very carefully
+          to be year 2000-safe.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          In MySQL, the <literal>YEAR</literal> column type can store
+          the years <literal>0</literal> and <literal>1901</literal> to
+          <literal>2155</literal> in one byte and display them using two
+          or four digits. All two-digit years are considered to be in
+          the range <literal>1970</literal> to <literal>2069</literal>,
+          which means that if you store <literal>01</literal> in a
+          <literal>YEAR</literal> column, MySQL Server treats it as
+          <literal>2001</literal>.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      The following simple demonstration illustrates that MySQL Server
+      has no problems with <literal>DATE</literal> or
+      <literal>DATETIME</literal> values through the year 9999, and no
+      problems with <literal>TIMESTAMP</literal> values until after the
+      year 2030:
+    </para>
+
+<programlisting>
+mysql&gt; <userinput>DROP TABLE IF EXISTS y2k;</userinput>
+Query OK, 0 rows affected (0.00 sec)
+
+mysql&gt; <userinput>CREATE TABLE y2k (date DATE,</userinput>
+    -&gt; <userinput>                  date_time DATETIME,</userinput>
+    -&gt; <userinput>                  time_stamp TIMESTAMP);</userinput>
+Query OK, 0 rows affected (0.01 sec)
+
+mysql&gt; <userinput>INSERT INTO y2k VALUES</userinput>
+    -&gt; <userinput>('1998-12-31','1998-12-31 23:59:59','1998-12-31 23:59:59'),</userinput>
+    -&gt; <userinput>('1999-01-01','1999-01-01 00:00:00','1999-01-01 00:00:00'),</userinput>
+    -&gt; <userinput>('1999-09-09','1999-09-09 23:59:59','1999-09-09 23:59:59'),</userinput>
+    -&gt; <userinput>('2000-01-01','2000-01-01 00:00:00','2000-01-01 00:00:00'),</userinput>
+    -&gt; <userinput>('2000-02-28','2000-02-28 00:00:00','2000-02-28 00:00:00'),</userinput>
+    -&gt; <userinput>('2000-02-29','2000-02-29 00:00:00','2000-02-29 00:00:00'),</userinput>
+    -&gt; <userinput>('2000-03-01','2000-03-01 00:00:00','2000-03-01 00:00:00'),</userinput>
+    -&gt; <userinput>('2000-12-31','2000-12-31 23:59:59','2000-12-31 23:59:59'),</userinput>
+    -&gt; <userinput>('2001-01-01','2001-01-01 00:00:00','2001-01-01 00:00:00'),</userinput>
+    -&gt; <userinput>('2004-12-31','2004-12-31 23:59:59','2004-12-31 23:59:59'),</userinput>
+    -&gt; <userinput>('2005-01-01','2005-01-01 00:00:00','2005-01-01 00:00:00'),</userinput>
+    -&gt; <userinput>('2030-01-01','2030-01-01 00:00:00','2030-01-01 00:00:00'),</userinput>
+    -&gt; <userinput>('2040-01-01','2040-01-01 00:00:00','2040-01-01 00:00:00'),</userinput>
+    -&gt; <userinput>('9999-12-31','9999-12-31 23:59:59','9999-12-31 23:59:59');</userinput>
+Query OK, 14 rows affected, 2 warnings (0.00 sec)
+Records: 14  Duplicates: 0  Warnings: 2
+
+mysql&gt; <userinput>SELECT * FROM y2k;</userinput>
++------------+---------------------+---------------------+
+| date       | date_time           | time_stamp          |
++------------+---------------------+---------------------+
+| 1998-12-31 | 1998-12-31 23:59:59 | 1998-12-31 23:59:59 |
+| 1999-01-01 | 1999-01-01 00:00:00 | 1999-01-01 00:00:00 |
+| 1999-09-09 | 1999-09-09 23:59:59 | 1999-09-09 23:59:59 |
+| 2000-01-01 | 2000-01-01 00:00:00 | 2000-01-01 00:00:00 |
+| 2000-02-28 | 2000-02-28 00:00:00 | 2000-02-28 00:00:00 |
+| 2000-02-29 | 2000-02-29 00:00:00 | 2000-02-29 00:00:00 |
+| 2000-03-01 | 2000-03-01 00:00:00 | 2000-03-01 00:00:00 |
+| 2000-12-31 | 2000-12-31 23:59:59 | 2000-12-31 23:59:59 |
+| 2001-01-01 | 2001-01-01 00:00:00 | 2001-01-01 00:00:00 |
+| 2004-12-31 | 2004-12-31 23:59:59 | 2004-12-31 23:59:59 |
+| 2005-01-01 | 2005-01-01 00:00:00 | 2005-01-01 00:00:00 |
+| 2030-01-01 | 2030-01-01 00:00:00 | 2030-01-01 00:00:00 |
+| 2040-01-01 | 2040-01-01 00:00:00 | 0000-00-00 00:00:00 |
+| 9999-12-31 | 9999-12-31 23:59:59 | 0000-00-00 00:00:00 |
++------------+---------------------+---------------------+
+14 rows in set (0.00 sec)
+</programlisting>
+
+    <para>
+      The final two <literal>TIMESTAMP</literal> column values are zero
+      because the year values (<literal>2040</literal>,
+      <literal>9999</literal>) exceed the <literal>TIMESTAMP</literal>
+      maximum. The <literal>TIMESTAMP</literal> data type, which is used
+      to store the current time, supports values that range from
+      <literal>'1970-01-01 00:00:00'</literal> to <literal>'2030-01-01
+      00:00:00'</literal> on 32-bit machines (signed value). On 64-bit
+      machines, <literal>TIMESTAMP</literal> handles values up to
+      <literal>2106</literal> (unsigned value).
+    </para>
+
+    <para>
+      Although MySQL Server itself is Y2K-safe, you may run into
+      problems if you use it with applications that are not Y2K-safe.
+      For example, many old applications store or manipulate years using
+      two-digit values (which are ambiguous) rather than four-digit
+      values. This problem may be compounded by applications that use
+      values such as <literal>00</literal> or <literal>99</literal> as
+      <quote>missing</quote> value indicators. Unfortunately, these
+      problems may be difficult to fix because different applications
+      may be written by different programmers, each of whom may use a
+      different set of conventions and date-handling functions.
+    </para>
+
+    <para>
+      Thus, even though MySQL Server has no Y2K problems, <emphasis>it
+      is the application's responsibility to provide unambiguous
+      input</emphasis>. See <xref linkend="y2k-issues"/>, for MySQL
+      Server's rules for dealing with ambiguous date input data that
+      contains two-digit year values.
+    </para>
+
+  </section>
+
+</section>

Thread
svn commit - mysqldoc@docsrva: r712 - trunk/refman-commonstefan6 Jan