提交 24e04f58 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation improvements

上级 1256ab7b
...@@ -94,7 +94,6 @@ In this case, each block of rows is sorted using quick sort, then written to dis ...@@ -94,7 +94,6 @@ In this case, each block of rows is sorted using quick sort, then written to dis
when reading the data, the blocks are merged together. when reading the data, the blocks are merged together.
</p> </p>
<br />
<h2 id="large_objects">Large Objects</h2> <h2 id="large_objects">Large Objects</h2>
<h3>Storing and Reading Large Objects</h3> <h3>Storing and Reading Large Objects</h3>
...@@ -130,7 +129,6 @@ operations. If you store many large compressible values such as XML, HTML, text, ...@@ -130,7 +129,6 @@ operations. If you store many large compressible values such as XML, HTML, text,
then compressing can save a lot of disk space (sometimes more than 50%), and read operations may even be faster. then compressing can save a lot of disk space (sometimes more than 50%), and read operations may even be faster.
</p> </p>
<br />
<h2 id="linked_tables">Linked Tables</h2> <h2 id="linked_tables">Linked Tables</h2>
<p> <p>
This database supports linked tables, which means tables that don't exist in the current database but This database supports linked tables, which means tables that don't exist in the current database but
...@@ -160,7 +158,6 @@ The statement <a href="grammar.html#create_linked_table" class="notranslate" >CR ...@@ -160,7 +158,6 @@ The statement <a href="grammar.html#create_linked_table" class="notranslate" >CR
supports an optional schema name parameter. supports an optional schema name parameter.
</p> </p>
<br />
<h2 id="transaction_isolation">Transaction Isolation</h2> <h2 id="transaction_isolation">Transaction Isolation</h2>
<p> <p>
Transaction isolation is provided for all data manipulation language (DML) statements. Transaction isolation is provided for all data manipulation language (DML) statements.
...@@ -232,7 +229,6 @@ connection will get a lock timeout exception. The lock timeout can be set indivi ...@@ -232,7 +229,6 @@ connection will get a lock timeout exception. The lock timeout can be set indivi
for each connection. for each connection.
</p> </p>
<br />
<h2 id="mvcc">Multi-Version Concurrency Control (MVCC)</h2> <h2 id="mvcc">Multi-Version Concurrency Control (MVCC)</h2>
<p> <p>
The MVCC feature allows higher concurrency than using (table level or row level) locks. The MVCC feature allows higher concurrency than using (table level or row level) locks.
...@@ -259,7 +255,6 @@ the complete undo log must fit in memory when using multi-version concurrency ...@@ -259,7 +255,6 @@ the complete undo log must fit in memory when using multi-version concurrency
(the setting <code>MAX_MEMORY_UNDO</code> has no effect). (the setting <code>MAX_MEMORY_UNDO</code> has no effect).
</p> </p>
<br />
<h2 id="clustering">Clustering / High Availability</h2> <h2 id="clustering">Clustering / High Availability</h2>
<p> <p>
This database supports a simple clustering / high availability mechanism. The architecture is: This database supports a simple clustering / high availability mechanism. The architecture is:
...@@ -342,7 +337,6 @@ Those functions should not be used directly in modifying statements ...@@ -342,7 +337,6 @@ Those functions should not be used directly in modifying statements
in read-only statements and the result can then be used for modifying statements. in read-only statements and the result can then be used for modifying statements.
</p> </p>
<br />
<h2 id="two_phase_commit">Two Phase Commit</h2> <h2 id="two_phase_commit">Two Phase Commit</h2>
<p> <p>
The two phase commit protocol is supported. 2-phase-commit works as follows: The two phase commit protocol is supported. 2-phase-commit works as follows:
...@@ -363,7 +357,6 @@ The two phase commit protocol is supported. 2-phase-commit works as follows: ...@@ -363,7 +357,6 @@ The two phase commit protocol is supported. 2-phase-commit works as follows:
</li><li>The database needs to be closed and re-opened to apply the changes </li><li>The database needs to be closed and re-opened to apply the changes
</li></ul> </li></ul>
<br />
<h2 id="compatibility">Compatibility</h2> <h2 id="compatibility">Compatibility</h2>
<p> <p>
This database is (up to a certain point) compatible to other databases such as HSQLDB, MySQL and PostgreSQL. This database is (up to a certain point) compatible to other databases such as HSQLDB, MySQL and PostgreSQL.
...@@ -392,7 +385,6 @@ Certain words of this list are keywords because they are functions that can be u ...@@ -392,7 +385,6 @@ Certain words of this list are keywords because they are functions that can be u
for example <code>CURRENT_TIMESTAMP</code>. for example <code>CURRENT_TIMESTAMP</code>.
</p> </p>
<br />
<h2 id="standards_compliance">Standards Compliance</h2> <h2 id="standards_compliance">Standards Compliance</h2>
<p> <p>
This database tries to be as much standard compliant as possible. For the SQL language, ANSI/ISO is the main This database tries to be as much standard compliant as possible. For the SQL language, ANSI/ISO is the main
...@@ -401,7 +393,6 @@ Unfortunately, the standard documentation is not freely available. Another probl ...@@ -401,7 +393,6 @@ Unfortunately, the standard documentation is not freely available. Another probl
are not standardized. Whenever this is the case, this database tries to be compatible to other databases. are not standardized. Whenever this is the case, this database tries to be compatible to other databases.
</p> </p>
<br />
<h2 id="windows_service">Run as Windows Service</h2> <h2 id="windows_service">Run as Windows Service</h2>
<p> <p>
Using a native wrapper / adapter, Java applications can be run as a Windows Service. Using a native wrapper / adapter, Java applications can be run as a Windows Service.
...@@ -445,7 +436,6 @@ To uninstall the service, double click on <code>5_uninstall_service.bat</code>. ...@@ -445,7 +436,6 @@ To uninstall the service, double click on <code>5_uninstall_service.bat</code>.
If successful, a command prompt window will pop up and disappear immediately. If not, a message will appear. If successful, a command prompt window will pop up and disappear immediately. If not, a message will appear.
</p> </p>
<br />
<h2 id="odbc_driver">ODBC Driver</h2> <h2 id="odbc_driver">ODBC Driver</h2>
<p> <p>
This database does not come with its own ODBC driver at this time, This database does not come with its own ODBC driver at this time,
...@@ -552,7 +542,6 @@ Also, it is currently not possible to use encrypted SSL connections. ...@@ -552,7 +542,6 @@ Also, it is currently not possible to use encrypted SSL connections.
Therefore the ODBC driver should not be used where security is important. Therefore the ODBC driver should not be used where security is important.
</p> </p>
<br />
<h2 id="microsoft_dot_net">Using H2 in Microsoft .NET</h2> <h2 id="microsoft_dot_net">Using H2 in Microsoft .NET</h2>
<p> <p>
The database can be used from Microsoft .NET even without using Java, by using IKVM.NET. The database can be used from Microsoft .NET even without using Java, by using IKVM.NET.
...@@ -602,7 +591,6 @@ class Test ...@@ -602,7 +591,6 @@ class Test
} }
</pre> </pre>
<br />
<h2 id="acid">ACID</h2> <h2 id="acid">ACID</h2>
<p> <p>
In the database world, ACID stands for: In the database world, ACID stands for:
...@@ -642,7 +630,6 @@ If durability is required for all possible cases of hardware failure, clustering ...@@ -642,7 +630,6 @@ If durability is required for all possible cases of hardware failure, clustering
such as the H2 clustering mode. such as the H2 clustering mode.
</p> </p>
<br />
<h2 id="durability_problems">Durability Problems</h2> <h2 id="durability_problems">Durability Problems</h2>
<p> <p>
Complete durability means all committed transaction survive a power failure. Complete durability means all committed transaction survive a power failure.
...@@ -728,7 +715,6 @@ none of the databases contains all the records that the listener computer knows ...@@ -728,7 +715,6 @@ none of the databases contains all the records that the listener computer knows
consult the source code of the listener and test application. consult the source code of the listener and test application.
</p> </p>
<br />
<h2 id="using_recover_tool">Using the Recover Tool</h2> <h2 id="using_recover_tool">Using the Recover Tool</h2>
<p> <p>
The <code>Recover</code> tool can be used to extract the contents of a data file, even if the database is corrupted. The <code>Recover</code> tool can be used to extract the contents of a data file, even if the database is corrupted.
...@@ -753,7 +739,6 @@ however it does not automatically apply those changes. Usually, many of those ch ...@@ -753,7 +739,6 @@ however it does not automatically apply those changes. Usually, many of those ch
applied in the database. applied in the database.
</p> </p>
<br />
<h2 id="file_locking_protocols">File Locking Protocols</h2> <h2 id="file_locking_protocols">File Locking Protocols</h2>
<p> <p>
Whenever a database is opened, a lock file is created to signal other processes Whenever a database is opened, a lock file is created to signal other processes
...@@ -836,7 +821,6 @@ share, two processes (running on different computers) could still open the same ...@@ -836,7 +821,6 @@ share, two processes (running on different computers) could still open the same
database files, if they do not have a direct TCP/IP connection. database files, if they do not have a direct TCP/IP connection.
</p> </p>
<br />
<h2 id="sql_injection">Protection against SQL Injection</h2> <h2 id="sql_injection">Protection against SQL Injection</h2>
<h3>What is SQL Injection</h3> <h3>What is SQL Injection</h3>
<p> <p>
...@@ -922,7 +906,6 @@ It is not required to create a constant for the number 0 as there is already a b ...@@ -922,7 +906,6 @@ It is not required to create a constant for the number 0 as there is already a b
SELECT * FROM USERS WHERE LENGTH(PASSWORD)=ZERO(); SELECT * FROM USERS WHERE LENGTH(PASSWORD)=ZERO();
</pre> </pre>
<br />
<h2 id="remote_access">Protection against Remote Access</h2> <h2 id="remote_access">Protection against Remote Access</h2>
<p> <p>
By default this database does not allow others to connect when starting the H2 Console, By default this database does not allow others to connect when starting the H2 Console,
...@@ -934,7 +917,6 @@ users can not create new databases or access existing databases with weak passwo ...@@ -934,7 +917,6 @@ users can not create new databases or access existing databases with weak passwo
ensure the existing accessible databases are protected using a strong password. ensure the existing accessible databases are protected using a strong password.
</p> </p>
<br />
<h2 id="restricting_classes">Restricting Class Loading and Usage</h2> <h2 id="restricting_classes">Restricting Class Loading and Usage</h2>
<p> <p>
By default there is no restriction on loading classes and executing Java code for admins. By default there is no restriction on loading classes and executing Java code for admins.
...@@ -963,7 +945,6 @@ trigger classes, user-defined functions, user-defined aggregate functions, and J ...@@ -963,7 +945,6 @@ trigger classes, user-defined functions, user-defined aggregate functions, and J
driver classes (with the exception of the H2 driver) when using the H2 Console. driver classes (with the exception of the H2 driver) when using the H2 Console.
</p> </p>
<br />
<h2 id="security_protocols">Security Protocols</h2> <h2 id="security_protocols">Security Protocols</h2>
<p> <p>
The following paragraphs document the security protocols used in this database. The following paragraphs document the security protocols used in this database.
...@@ -1074,7 +1055,6 @@ There is a default self-certified certificate to support an easy starting point, ...@@ -1074,7 +1055,6 @@ There is a default self-certified certificate to support an easy starting point,
custom certificates are supported as well. custom certificates are supported as well.
</p> </p>
<br />
<h2 id="ssl_tls_connections">SSL/TLS Connections</h2> <h2 id="ssl_tls_connections">SSL/TLS Connections</h2>
<p> <p>
Remote SSL/TLS connections are supported using the Java Secure Socket Extension Remote SSL/TLS connections are supported using the Java Secure Socket Extension
...@@ -1092,7 +1072,6 @@ for more information. ...@@ -1092,7 +1072,6 @@ for more information.
To disable anonymous SSL, set the system property <code>h2.enableAnonymousSSL</code> to false. To disable anonymous SSL, set the system property <code>h2.enableAnonymousSSL</code> to false.
</p> </p>
<br />
<h2 id="uuid">Universally Unique Identifiers (UUID)</h2> <h2 id="uuid">Universally Unique Identifiers (UUID)</h2>
<p> <p>
This database supports UUIDs. Also supported is a function to create new UUIDs using This database supports UUIDs. Also supported is a function to create new UUIDs using
...@@ -1135,7 +1114,6 @@ one's annual risk of being hit by a meteorite is estimated to be one chance in 1 ...@@ -1135,7 +1114,6 @@ one's annual risk of being hit by a meteorite is estimated to be one chance in 1
that means the probability is about 0.000'000'000'06. that means the probability is about 0.000'000'000'06.
</p> </p>
<br />
<h2 id="system_properties">Settings Read from System Properties</h2> <h2 id="system_properties">Settings Read from System Properties</h2>
<p> <p>
Some settings of the database can be set on the command line using Some settings of the database can be set on the command line using
...@@ -1155,7 +1133,6 @@ For a complete list of settings, see ...@@ -1155,7 +1133,6 @@ For a complete list of settings, see
<a href="../javadoc/org/h2/constant/SysProperties.html">SysProperties</a>. <a href="../javadoc/org/h2/constant/SysProperties.html">SysProperties</a>.
</p> </p>
<br />
<h2 id="server_bind_address">Setting the Server Bind Address</h2> <h2 id="server_bind_address">Setting the Server Bind Address</h2>
<p> <p>
Usually server sockets accept connections on any/all local addresses. Usually server sockets accept connections on any/all local addresses.
...@@ -1165,7 +1142,6 @@ This setting is used for both regular server sockets and for SSL server sockets. ...@@ -1165,7 +1142,6 @@ This setting is used for both regular server sockets and for SSL server sockets.
IPv4 and IPv6 address formats are supported. IPv4 and IPv6 address formats are supported.
</p> </p>
<br />
<h2 id="file_system">Pluggable File System</h2> <h2 id="file_system">Pluggable File System</h2>
<p> <p>
This database supports a pluggable file system API. The file system implementation This database supports a pluggable file system API. The file system implementation
...@@ -1187,7 +1163,6 @@ To register a new file system, extend the classes <code>org.h2.store.fs.FileSyst ...@@ -1187,7 +1163,6 @@ To register a new file system, extend the classes <code>org.h2.store.fs.FileSyst
and call the method <code>FileSystem.register</code> before using it. and call the method <code>FileSystem.register</code> before using it.
</p> </p>
<br />
<h2 id="limits_limitations">Limits and Limitations</h2> <h2 id="limits_limitations">Limits and Limitations</h2>
<p> <p>
This database has the following known limitations: This database has the following known limitations:
...@@ -1226,7 +1201,6 @@ OR X = 2 OR X = 2 OR X = 2 OR X = 2 OR X = 2 ...@@ -1226,7 +1201,6 @@ OR X = 2 OR X = 2 OR X = 2 OR X = 2 OR X = 2
or the data type documentation of this database. or the data type documentation of this database.
</li></ul> </li></ul>
<br />
<h2 id="glossary_links">Glossary and Links</h2> <h2 id="glossary_links">Glossary and Links</h2>
<table> <table>
<tr> <tr>
......
...@@ -33,14 +33,12 @@ Build ...@@ -33,14 +33,12 @@ Build
<a href="#automated"> <a href="#automated">
Automated Build</a><br /> Automated Build</a><br />
<br />
<h2 id="portability">Portability</h2> <h2 id="portability">Portability</h2>
<p> <p>
This database is written in Java and therefore works on many platforms. This database is written in Java and therefore works on many platforms.
It can also be compiled to a native executable using GCJ. It can also be compiled to a native executable using GCJ.
</p> </p>
<br />
<h2 id="environment">Environment</h2> <h2 id="environment">Environment</h2>
<p> <p>
A Java Runtime Environment (JRE) version 1.5 or higher is required to run this database. A Java Runtime Environment (JRE) version 1.5 or higher is required to run this database.
...@@ -63,7 +61,6 @@ Newer version or compatible software works too. ...@@ -63,7 +61,6 @@ Newer version or compatible software works too.
</li><li><a href="http://maven.apache.org">Maven 2.0.9</a> </li><li><a href="http://maven.apache.org">Maven 2.0.9</a>
</li></ul> </li></ul>
<br />
<h2 id="building">Building the Software</h2> <h2 id="building">Building the Software</h2>
<p> <p>
You need to install a JDK, for example the Sun JDK version 1.5 or 1.6. You need to install a JDK, for example the Sun JDK version 1.5 or 1.6.
...@@ -93,7 +90,6 @@ To switch the source code to the installed version of Java, run: ...@@ -93,7 +90,6 @@ To switch the source code to the installed version of Java, run:
build switchSource build switchSource
</pre> </pre>
<br />
<h2 id="build_targets">Build Targets</h2> <h2 id="build_targets">Build Targets</h2>
<p> <p>
The build system can generate smaller jar files as well. The following targets are currently supported: The build system can generate smaller jar files as well. The following targets are currently supported:
...@@ -115,7 +111,6 @@ To create the file <code>h2client.jar</code>, go to the directory <code>h2</code ...@@ -115,7 +111,6 @@ To create the file <code>h2client.jar</code>, go to the directory <code>h2</code
build jarClient build jarClient
</pre> </pre>
<br />
<h2 id="maven2">Using Maven 2</h2> <h2 id="maven2">Using Maven 2</h2>
<h3>Using a Central Repository</h3> <h3>Using a Central Repository</h3>
<p> <p>
...@@ -153,7 +148,6 @@ Afterwards, you can include the database in your Maven 2 project as a dependency ...@@ -153,7 +148,6 @@ Afterwards, you can include the database in your Maven 2 project as a dependency
&lt;/dependency&gt; &lt;/dependency&gt;
</pre> </pre>
<br />
<h2 id="translating">Translating</h2> <h2 id="translating">Translating</h2>
<p> <p>
The translation of this software is split into the following parts: The translation of this software is split into the following parts:
...@@ -172,7 +166,6 @@ The web site translation is automated as well, ...@@ -172,7 +166,6 @@ The web site translation is automated as well,
using <code>build docs</code>. using <code>build docs</code>.
</p> </p>
<br />
<h2 id="providing_patches">Providing Patches</h2> <h2 id="providing_patches">Providing Patches</h2>
<p> <p>
If you like to provide patches, please consider the following guidelines to simplify merging them: If you like to provide patches, please consider the following guidelines to simplify merging them:
...@@ -213,7 +206,6 @@ multiple-licensed under the H2 License, version 1.0, and under the ...@@ -213,7 +206,6 @@ multiple-licensed under the H2 License, version 1.0, and under the
Eclipse Public License, version 1.0 (http://h2database.com/html/license.html)." Eclipse Public License, version 1.0 (http://h2database.com/html/license.html)."
</p> </p>
<br />
<h2 id="automated">Automated Build</h2> <h2 id="automated">Automated Build</h2>
<p> <p>
This build process is automated and runs regularly. This build process is automated and runs regularly.
......
...@@ -18,7 +18,8 @@ Change Log ...@@ -18,7 +18,8 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>- <ul><li>The documentation is no longer available in Japanese because the
translation was too much out of sync. Please use the Google translation instead.
</li></ul> </li></ul>
<h2>Version 1.2.121 (2009-10-11)</h2> <h2>Version 1.2.121 (2009-10-11)</h2>
......
...@@ -23,7 +23,6 @@ Data Types ...@@ -23,7 +23,6 @@ Data Types
</p> </p>
<c:forEach var="item" items="dataTypes"> <c:forEach var="item" items="dataTypes">
<br />
<h3 id="${item.link}" class="notranslate">${item.topic}</h3> <h3 id="${item.link}" class="notranslate">${item.topic}</h3>
<pre> <pre>
${item.syntax} ${item.syntax}
......
...@@ -40,7 +40,6 @@ Frequently Asked Questions ...@@ -40,7 +40,6 @@ Frequently Asked Questions
<a href="#translate"> <a href="#translate">
How to Translate this Project?</a><br /> How to Translate this Project?</a><br />
<br />
<h3 id="known_bugs">Are there Known Bugs? When is the Next Release?</h3> <h3 id="known_bugs">Are there Known Bugs? When is the Next Release?</h3>
<p> <p>
Usually, bugs get fixes as they are found. There is a release every few weeks. Usually, bugs get fixes as they are found. There is a release every few weeks.
...@@ -64,14 +63,12 @@ Here is the list of known and confirmed issues: ...@@ -64,14 +63,12 @@ Here is the list of known and confirmed issues:
This problem is solved in Install4j 4.1.4. This problem is solved in Install4j 4.1.4.
</li></ul> </li></ul>
<br />
<h3 id="open_source">Is this Database Engine Open Source?</h3> <h3 id="open_source">Is this Database Engine Open Source?</h3>
<p> <p>
Yes. It is free to use and distribute, and the source code is included. Yes. It is free to use and distribute, and the source code is included.
See also under license. See also under license.
</p> </p>
<br />
<h3 id="query_slow">My Query is Slow</h3> <h3 id="query_slow">My Query is Slow</h3>
<p> <p>
Slow <code>SELECT</code> (or <code>DELETE, UPDATE, MERGE</code>) Slow <code>SELECT</code> (or <code>DELETE, UPDATE, MERGE</code>)
...@@ -87,13 +84,12 @@ statement can have multiple reasons. Follow this checklist: ...@@ -87,13 +84,12 @@ statement can have multiple reasons. Follow this checklist:
</li> </li>
</ul> </ul>
<br />
<h3 id="create_database">How to Create a New Database?</h3> <h3 id="create_database">How to Create a New Database?</h3>
<p> <p>
By default, a new database is automatically created if it does not yet exist. By default, a new database is automatically created if it does not yet exist.
See <a href="tutorial.html#creating_new_databases">Creating New Databases</a>.
</p> </p>
<br />
<h3 id="connect">How to Connect to a Database?</h3> <h3 id="connect">How to Connect to a Database?</h3>
<p> <p>
The database driver is <code>org.h2.Driver</code>, The database driver is <code>org.h2.Driver</code>,
...@@ -105,7 +101,6 @@ Class.forName("org.h2.Driver"); ...@@ -105,7 +101,6 @@ Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection("jdbc:h2:~/test", "sa", ""); Connection conn = DriverManager.getConnection("jdbc:h2:~/test", "sa", "");
</pre> </pre>
<br />
<h3 id="database_files">Where are the Database Files Stored?</h3> <h3 id="database_files">Where are the Database Files Stored?</h3>
<p> <p>
When using database URLs like <code>jdbc:h2:~/test</code>, When using database URLs like <code>jdbc:h2:~/test</code>,
...@@ -123,13 +118,11 @@ fully qualified directory name (and for Windows, drive name). ...@@ -123,13 +118,11 @@ fully qualified directory name (and for Windows, drive name).
Example: <code>jdbc:h2:file:C:/data/test</code> Example: <code>jdbc:h2:file:C:/data/test</code>
</p> </p>
<br />
<h3 id="size_limit">What is the Size Limit (Maximum Size) of a Database?</h3> <h3 id="size_limit">What is the Size Limit (Maximum Size) of a Database?</h3>
<p> <p>
See <a href="advanced.html#limits_limitations">Limits and Limitations</a>. See <a href="advanced.html#limits_limitations">Limits and Limitations</a>.
</p> </p>
<br />
<h3 id="reliable">Is it Reliable?</h3> <h3 id="reliable">Is it Reliable?</h3>
<p> <p>
That is not easy to say. It is still a quite new product. A lot of tests have been written, That is not easy to say. It is still a quite new product. A lot of tests have been written,
...@@ -184,7 +177,6 @@ See also: <a href="grammar.html#set_log" class="notranslate">SET LOG</a>. This p ...@@ -184,7 +177,6 @@ See also: <a href="grammar.html#set_log" class="notranslate">SET LOG</a>. This p
using the new 'page store' mechanism (currently beta). using the new 'page store' mechanism (currently beta).
</p> </p>
<br />
<h3 id="slow_open">Why is Opening my Database Slow?</h3> <h3 id="slow_open">Why is Opening my Database Slow?</h3>
<p> <p>
If it takes a long time to open a database, in most cases it was not closed the last time. If it takes a long time to open a database, in most cases it was not closed the last time.
...@@ -207,7 +199,6 @@ Other possible reasons are: the database is very big (many GB), or contains link ...@@ -207,7 +199,6 @@ Other possible reasons are: the database is very big (many GB), or contains link
that are slow to open. that are slow to open.
</p> </p>
<br />
<h3 id="gcj">Is the GCJ Version Stable? Faster?</h3> <h3 id="gcj">Is the GCJ Version Stable? Faster?</h3>
<p> <p>
The GCJ version is not as stable as the Java version. The GCJ version is not as stable as the Java version.
...@@ -217,7 +208,6 @@ Currently, the GCJ version is also slower than when using the Sun VM. ...@@ -217,7 +208,6 @@ Currently, the GCJ version is also slower than when using the Sun VM.
However, the startup of the GCJ version is faster than when using a VM. However, the startup of the GCJ version is faster than when using a VM.
</p> </p>
<br />
<h3 id="translate">How to Translate this Project?</h3> <h3 id="translate">How to Translate this Project?</h3>
<p> <p>
For more information, see For more information, see
......
...@@ -29,8 +29,8 @@ Features ...@@ -29,8 +29,8 @@ Features
Database URL Overview</a><br /> Database URL Overview</a><br />
<a href="#embedded_databases"> <a href="#embedded_databases">
Connecting to an Embedded (Local) Database</a><br /> Connecting to an Embedded (Local) Database</a><br />
<a href="#memory_only_databases"> <a href="#in_memory_databases">
Memory-Only Databases</a><br /> In-Memory Databases</a><br />
<a href="#file_encryption"> <a href="#file_encryption">
Database Files Encryption</a><br /> Database Files Encryption</a><br />
<a href="#database_file_locking"> <a href="#database_file_locking">
...@@ -84,7 +84,6 @@ Features ...@@ -84,7 +84,6 @@ Features
<a href="#cache_settings"> <a href="#cache_settings">
Cache Settings</a><br /> Cache Settings</a><br />
<br />
<h2 id="feature_list">Feature List</h2> <h2 id="feature_list">Feature List</h2>
<h3>Main Features</h3> <h3>Main Features</h3>
<ul> <ul>
...@@ -157,7 +156,6 @@ encrypted using AES-256 and XTEA encryption algorithms ...@@ -157,7 +156,6 @@ encrypted using AES-256 and XTEA encryption algorithms
</li><li>Well tested (high code coverage, randomized stress tests) </li><li>Well tested (high code coverage, randomized stress tests)
</li></ul> </li></ul>
<br />
<h2 id="comparison">Comparison to Other Database Engines</h2> <h2 id="comparison">Comparison to Other Database Engines</h2>
<table><tr> <table><tr>
...@@ -388,14 +386,12 @@ It looks like the development of this database has stopped. The last release was ...@@ -388,14 +386,12 @@ It looks like the development of this database has stopped. The last release was
It looks like the development of this database has stopped. The last release was August 2004 It looks like the development of this database has stopped. The last release was August 2004
</p> </p>
<br />
<h2 id="products_work_with">H2 in Use</h2> <h2 id="products_work_with">H2 in Use</h2>
<p> <p>
For a list of applications that work with or use H2, see: For a list of applications that work with or use H2, see:
<a href="links.html">Links</a>. <a href="links.html">Links</a>.
</p> </p>
<br />
<h2 id="connection_modes">Connection Modes</h2> <h2 id="connection_modes">Connection Modes</h2>
<p> <p>
The following connection modes are supported: The following connection modes are supported:
...@@ -450,7 +446,6 @@ it's an local or remote connection) can do so using the exact same database URL. ...@@ -450,7 +446,6 @@ it's an local or remote connection) can do so using the exact same database URL.
<img src="images/connection-mode-mixed.png" <img src="images/connection-mode-mixed.png"
alt="The database and the server is running inside the application; another application connects remotely" /> alt="The database and the server is running inside the application; another application connects remotely" />
<br />
<h2 id="database_url">Database URL Overview</h2> <h2 id="database_url">Database URL Overview</h2>
<p> <p>
This database supports multiple connection modes and connection settings. This database supports multiple connection modes and connection settings.
...@@ -467,11 +462,11 @@ This is achieved using different database URLs. Settings in the URLs are not cas ...@@ -467,11 +462,11 @@ This is achieved using different database URLs. Settings in the URLs are not cas
</td> </td>
</tr> </tr>
<tr> <tr>
<td><a href="#memory_only_databases">In-memory (private)</a></td> <td><a href="#in_memory_databases">In-memory (private)</a></td>
<td class="notranslate">jdbc:h2:mem:</td> <td class="notranslate">jdbc:h2:mem:</td>
</tr> </tr>
<tr> <tr>
<td><a href="#memory_only_databases">In-memory (named)</a></td> <td><a href="#in_memory_databases">In-memory (named)</a></td>
<td class="notranslate"> <td class="notranslate">
jdbc:h2:mem:&lt;databaseName&gt;<br /> jdbc:h2:mem:&lt;databaseName&gt;<br />
jdbc:h2:mem:test_mem jdbc:h2:mem:test_mem
...@@ -591,7 +586,6 @@ This is achieved using different database URLs. Settings in the URLs are not cas ...@@ -591,7 +586,6 @@ This is achieved using different database URLs. Settings in the URLs are not cas
</tr> </tr>
</table> </table>
<br />
<h2 id="embedded_databases">Connecting to an Embedded (Local) Database</h2> <h2 id="embedded_databases">Connecting to an Embedded (Local) Database</h2>
<p> <p>
The database URL for connecting to a local database is The database URL for connecting to a local database is
...@@ -604,24 +598,23 @@ The database name must be at least three characters long ...@@ -604,24 +598,23 @@ The database name must be at least three characters long
To point to the user home directory, use <code>~/</code>, as in: <code>jdbc:h2:~/test</code>. To point to the user home directory, use <code>~/</code>, as in: <code>jdbc:h2:~/test</code>.
</p> </p>
<br /> <h2 id="in_memory_databases">In-Memory Databases</h2>
<h2 id="memory_only_databases">Memory-Only Databases</h2>
<p> <p>
For certain use cases (for example: rapid prototyping, testing, high performance For certain use cases (for example: rapid prototyping, testing, high performance
operations, read-only databases), it may not be required to persist data, or persist changes to the data. operations, read-only databases), it may not be required to persist data, or persist changes to the data.
This database supports the memory-only mode, where the data is not persisted. This database supports the in-memory mode, where the data is not persisted.
</p><p> </p><p>
In some cases, only one connection to a memory-only database is required. In some cases, only one connection to a in-memory database is required.
This means the database to be opened is private. In this case, the database URL is This means the database to be opened is private. In this case, the database URL is
<code>jdbc:h2:mem:</code> Opening two connections within the same virtual machine <code>jdbc:h2:mem:</code> Opening two connections within the same virtual machine
means opening two different (private) databases. means opening two different (private) databases.
</p><p> </p><p>
Sometimes multiple connections to the same memory-only database are required. Sometimes multiple connections to the same in-memory database are required.
In this case, the database URL must include a name. Example: <code>jdbc:h2:mem:db1</code>. In this case, the database URL must include a name. Example: <code>jdbc:h2:mem:db1</code>.
Accessing the same database in this way only works within the same virtual machine and Accessing the same database in this way only works within the same virtual machine and
class loader environment. class loader environment.
</p><p> </p><p>
It is also possible to access a memory-only database remotely In-memory can be accessed remotely
(or from multiple processes in the same machine) using TCP/IP or SSL/TLS. (or from multiple processes in the same machine) using TCP/IP or SSL/TLS.
An example database URL is: <code>jdbc:h2:tcp://localhost/mem:db1</code>. An example database URL is: <code>jdbc:h2:tcp://localhost/mem:db1</code>.
</p><p> </p><p>
...@@ -632,7 +625,6 @@ To keep the content of an in-memory database as long as the virtual machine is a ...@@ -632,7 +625,6 @@ To keep the content of an in-memory database as long as the virtual machine is a
<code>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</code>. <code>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</code>.
</p> </p>
<br />
<h2 id="file_encryption">Database Files Encryption</h2> <h2 id="file_encryption">Database Files Encryption</h2>
<p> <p>
The database files can be encrypted. Two encryption algorithms are supported: AES and XTEA. The database files can be encrypted. Two encryption algorithms are supported: AES and XTEA.
...@@ -675,7 +667,6 @@ with the file password <code>filepwd</code> and the encryption algorithm AES: ...@@ -675,7 +667,6 @@ with the file password <code>filepwd</code> and the encryption algorithm AES:
java -cp h2*.jar org.h2.tools.ChangeFileEncryption -dir ~ -db test -cipher AES -encrypt filepwd java -cp h2*.jar org.h2.tools.ChangeFileEncryption -dir ~ -db test -cipher AES -encrypt filepwd
</pre> </pre>
<br />
<h2 id="database_file_locking">Database File Locking</h2> <h2 id="database_file_locking">Database File Locking</h2>
<p> <p>
Whenever a database is opened, a lock file is created to signal other processes Whenever a database is opened, a lock file is created to signal other processes
...@@ -714,7 +705,6 @@ For more information about the algorithms, see ...@@ -714,7 +705,6 @@ For more information about the algorithms, see
<a href="advanced.html#file_locking_protocols">Advanced / File Locking Protocols</a>. <a href="advanced.html#file_locking_protocols">Advanced / File Locking Protocols</a>.
</p> </p>
<br />
<h2 id="database_only_if_exists">Opening a Database Only if it Already Exists</h2> <h2 id="database_only_if_exists">Opening a Database Only if it Already Exists</h2>
<p> <p>
By default, when an application calls <code>DriverManager.getConnection(url, ...)</code> By default, when an application calls <code>DriverManager.getConnection(url, ...)</code>
...@@ -729,7 +719,6 @@ The complete URL may look like this: ...@@ -729,7 +719,6 @@ The complete URL may look like this:
String url = "jdbc:h2:/data/sample;IFEXISTS=TRUE"; String url = "jdbc:h2:/data/sample;IFEXISTS=TRUE";
</pre> </pre>
<br />
<h2 id="closing_a_database">Closing a Database</h2> <h2 id="closing_a_database">Closing a Database</h2>
<h3>Delayed Database Closing</h3> <h3>Delayed Database Closing</h3>
...@@ -752,7 +741,6 @@ This setting is persistent and can be set by an administrator only. ...@@ -752,7 +741,6 @@ This setting is persistent and can be set by an administrator only.
It is possible to set the value in the database URL: <code>jdbc:h2:~/test;DB_CLOSE_DELAY=10</code>. It is possible to set the value in the database URL: <code>jdbc:h2:~/test;DB_CLOSE_DELAY=10</code>.
</p> </p>
<br />
<h3 id="do_not_close_on_exit">Don't Close a Database when the VM Exits</h3> <h3 id="do_not_close_on_exit">Don't Close a Database when the VM Exits</h3>
<p> <p>
By default, a database is closed when the last connection is closed. However, if it is never closed, By default, a database is closed when the last connection is closed. However, if it is never closed,
...@@ -768,7 +756,6 @@ The database URL to disable database closing on exit is: ...@@ -768,7 +756,6 @@ The database URL to disable database closing on exit is:
String url = "jdbc:h2:~/test;DB_CLOSE_ON_EXIT=FALSE"; String url = "jdbc:h2:~/test;DB_CLOSE_ON_EXIT=FALSE";
</pre> </pre>
<br />
<h2 id="log_index_changes">Log Index Changes</h2> <h2 id="log_index_changes">Log Index Changes</h2>
<p> <p>
Usually, changes to the index file are not logged for performance. Usually, changes to the index file are not logged for performance.
...@@ -784,7 +771,6 @@ This setting should be specified when connecting. ...@@ -784,7 +771,6 @@ This setting should be specified when connecting.
The update performance of the database will be reduced when using this option. The update performance of the database will be reduced when using this option.
</p> </p>
<br />
<h2 id="ignore_unknown_settings">Ignore Unknown Settings</h2> <h2 id="ignore_unknown_settings">Ignore Unknown Settings</h2>
<p> <p>
Some applications (for example OpenOffice.org Base) pass some additional parameters Some applications (for example OpenOffice.org Base) pass some additional parameters
...@@ -797,7 +783,6 @@ saying the parameter is not supported. It is possible to ignored such parameters ...@@ -797,7 +783,6 @@ saying the parameter is not supported. It is possible to ignored such parameters
<code>;IGNORE_UNKNOWN_SETTINGS=TRUE</code> to the database URL. <code>;IGNORE_UNKNOWN_SETTINGS=TRUE</code> to the database URL.
</p> </p>
<br />
<h2 id="other_settings">Changing Other Settings when Opening a Connection</h2> <h2 id="other_settings">Changing Other Settings when Opening a Connection</h2>
<p> <p>
In addition to the settings already described, In addition to the settings already described,
...@@ -807,7 +792,6 @@ same as executing the statement <code>SET setting value</code> just after ...@@ -807,7 +792,6 @@ same as executing the statement <code>SET setting value</code> just after
connecting. For a list of supported settings, see <a href="grammar.html">SQL Grammar</a>. connecting. For a list of supported settings, see <a href="grammar.html">SQL Grammar</a>.
</p> </p>
<br />
<h2 id="custom_access_mode">Custom File Access Mode</h2> <h2 id="custom_access_mode">Custom File Access Mode</h2>
<p> <p>
Usually, the database opens log, data and index files with the access mode Usually, the database opens log, data and index files with the access mode
...@@ -828,7 +812,6 @@ For more information see <a href="advanced.html#durability_problems">Durability ...@@ -828,7 +812,6 @@ For more information see <a href="advanced.html#durability_problems">Durability
On many operating systems the access mode <code>rws</code> does not guarantee that the data is written to the disk. On many operating systems the access mode <code>rws</code> does not guarantee that the data is written to the disk.
</p> </p>
<br />
<h2 id="multiple_connections">Multiple Connections</h2> <h2 id="multiple_connections">Multiple Connections</h2>
<h3>Opening Multiple Databases at the Same Time</h3> <h3>Opening Multiple Databases at the Same Time</h3>
...@@ -914,7 +897,6 @@ The initial lock timeout (that is the timeout used for new connections) can be s ...@@ -914,7 +897,6 @@ The initial lock timeout (that is the timeout used for new connections) can be s
<code>SET DEFAULT_LOCK_TIMEOUT &lt;milliseconds&gt;</code>. The default lock timeout is persistent. <code>SET DEFAULT_LOCK_TIMEOUT &lt;milliseconds&gt;</code>. The default lock timeout is persistent.
</p> </p>
<br />
<h2 id="database_file_layout">Database File Layout</h2> <h2 id="database_file_layout">Database File Layout</h2>
<p> <p>
There are a number of files created for persistent databases. Unlike some other databases, There are a number of files created for persistent databases. Unlike some other databases,
...@@ -1021,7 +1003,6 @@ automatically if they don't exist. ...@@ -1021,7 +1003,6 @@ automatically if they don't exist.
To backup data while the database is running, the SQL command <code>SCRIPT</code> can be used. To backup data while the database is running, the SQL command <code>SCRIPT</code> can be used.
</p> </p>
<br />
<h2 id="logging_recovery">Logging and Recovery</h2> <h2 id="logging_recovery">Logging and Recovery</h2>
<p> <p>
Whenever data is modified in the database and those changes are committed, the changes are logged Whenever data is modified in the database and those changes are committed, the changes are logged
...@@ -1046,7 +1027,6 @@ must contain <code>;RECOVER=1</code>, as in ...@@ -1046,7 +1027,6 @@ must contain <code>;RECOVER=1</code>, as in
the summary (object allocation table) is not read in this case, so opening the database takes longer. the summary (object allocation table) is not read in this case, so opening the database takes longer.
</p> </p>
<br />
<h2 id="compatibility">Compatibility</h2> <h2 id="compatibility">Compatibility</h2>
<p> <p>
All database engines behave a little bit different. Where possible, H2 supports the ANSI SQL standard, All database engines behave a little bit different. Where possible, H2 supports the ANSI SQL standard,
...@@ -1169,7 +1149,6 @@ or the SQL statement <code>SET MODE PostgreSQL</code>. ...@@ -1169,7 +1149,6 @@ or the SQL statement <code>SET MODE PostgreSQL</code>.
<code>OID</code> are supported. <code>OID</code> are supported.
</li></ul> </li></ul>
<br />
<h2 id="auto_reconnect">Auto-Reconnect</h2> <h2 id="auto_reconnect">Auto-Reconnect</h2>
<p> <p>
The auto-reconnect feature causes the JDBC driver to reconnect to The auto-reconnect feature causes the JDBC driver to reconnect to
...@@ -1183,7 +1162,6 @@ The contents of the system table <code>INFORMATION_SCHEMA.SESSION_STATE</code> ...@@ -1183,7 +1162,6 @@ The contents of the system table <code>INFORMATION_SCHEMA.SESSION_STATE</code>
contains all client side state that is re-created. contains all client side state that is re-created.
</p> </p>
<br />
<h2 id="auto_mixed_mode">Automatic Mixed Mode</h2> <h2 id="auto_mixed_mode">Automatic Mixed Mode</h2>
<p> <p>
Multiple processes can access the same database without having to start the server manually. Multiple processes can access the same database without having to start the server manually.
...@@ -1223,7 +1201,6 @@ DriverManager.getConnection("jdbc:h2:/data/test;AUTO_SERVER=TRUE"); ...@@ -1223,7 +1201,6 @@ DriverManager.getConnection("jdbc:h2:/data/test;AUTO_SERVER=TRUE");
DriverManager.getConnection("jdbc:h2:/data/test;AUTO_SERVER=TRUE"); DriverManager.getConnection("jdbc:h2:/data/test;AUTO_SERVER=TRUE");
</pre> </pre>
<br />
<h2 id="trace_options">Using the Trace Options</h2> <h2 id="trace_options">Using the Trace Options</h2>
<p> <p>
To find problems in an application, it is sometimes good to see what database operations To find problems in an application, it is sometimes good to see what database operations
...@@ -1304,7 +1281,6 @@ If this is the case, the source code needs to be split in multiple methods. ...@@ -1304,7 +1281,6 @@ If this is the case, the source code needs to be split in multiple methods.
The password is not listed in the trace file and therefore not included in the source code. The password is not listed in the trace file and therefore not included in the source code.
</p> </p>
<br />
<h2 id="other_logging">Using Other Logging APIs</h2> <h2 id="other_logging">Using Other Logging APIs</h2>
<p> <p>
By default, this database uses its own native 'trace' facility. This facility is called 'trace' and not By default, this database uses its own native 'trace' facility. This facility is called 'trace' and not
...@@ -1333,7 +1309,6 @@ To use SLF4J, all required jar files need to be in the classpath. ...@@ -1333,7 +1309,6 @@ To use SLF4J, all required jar files need to be in the classpath.
If it does not work, check the file <code>&lt;database&gt;.trace.db</code> for error messages. If it does not work, check the file <code>&lt;database&gt;.trace.db</code> for error messages.
</p> </p>
<br />
<h2 id="read_only">Read Only Databases</h2> <h2 id="read_only">Read Only Databases</h2>
<p> <p>
If the database files are read-only, then the database is read-only as well. If the database files are read-only, then the database is read-only as well.
...@@ -1347,7 +1322,6 @@ by calling <code>Connection.isReadOnly()</code> ...@@ -1347,7 +1322,6 @@ by calling <code>Connection.isReadOnly()</code>
or by executing the SQL statement <code>CALL READONLY()</code>. or by executing the SQL statement <code>CALL READONLY()</code>.
</p> </p>
<br />
<h2 id="database_in_zip">Read Only Databases in Zip or Jar File</h2> <h2 id="database_in_zip">Read Only Databases in Zip or Jar File</h2>
<p> <p>
To create a read-only database in a zip file, first create a regular persistent database, and then create a backup. To create a read-only database in a zip file, first create a regular persistent database, and then create a backup.
...@@ -1373,7 +1347,6 @@ is not read in memory; therefore large databases are supported as well. The same ...@@ -1373,7 +1347,6 @@ is not read in memory; therefore large databases are supported as well. The same
a regular database. a regular database.
</p> </p>
<br />
<h2 id="low_disk_space">Graceful Handling of Low Disk Space Situations</h2> <h2 id="low_disk_space">Graceful Handling of Low Disk Space Situations</h2>
<p> <p>
If the database needs more disk space, it calls the database event listener if one is installed. If the database needs more disk space, it calls the database event listener if one is installed.
...@@ -1392,7 +1365,6 @@ is corrupted, then the database can be opened by specifying a database event lis ...@@ -1392,7 +1365,6 @@ is corrupted, then the database can be opened by specifying a database event lis
The exceptions are logged, but opening the database will continue. The exceptions are logged, but opening the database will continue.
</p> </p>
<br />
<h2 id="computed_columns">Computed Columns / Function Based Index</h2> <h2 id="computed_columns">Computed Columns / Function Based Index</h2>
<p> <p>
Function indexes are not directly supported by this database, but they can be emulated Function indexes are not directly supported by this database, but they can be emulated
...@@ -1418,7 +1390,6 @@ INSERT INTO ADDRESS(ID, NAME) VALUES(1, 'Miller'); ...@@ -1418,7 +1390,6 @@ INSERT INTO ADDRESS(ID, NAME) VALUES(1, 'Miller');
SELECT * FROM ADDRESS WHERE UPPER_NAME='MILLER'; SELECT * FROM ADDRESS WHERE UPPER_NAME='MILLER';
</pre> </pre>
<br />
<h2 id="multi_dimensional">Multi-Dimensional Indexes</h2> <h2 id="multi_dimensional">Multi-Dimensional Indexes</h2>
<p> <p>
A tool is provided to execute efficient multi-dimension (spatial) range queries. A tool is provided to execute efficient multi-dimension (spatial) range queries.
...@@ -1441,7 +1412,6 @@ For an example how to use the tool, please have a look at the sample code provid ...@@ -1441,7 +1412,6 @@ For an example how to use the tool, please have a look at the sample code provid
in <code>TestMultiDimension.java</code>. in <code>TestMultiDimension.java</code>.
</p> </p>
<br />
<h2 id="passwords">Using Passwords</h2> <h2 id="passwords">Using Passwords</h2>
<h3>Using Secure Passwords</h3> <h3>Using Secure Passwords</h3>
...@@ -1514,7 +1484,6 @@ Connection conn = DriverManager. ...@@ -1514,7 +1484,6 @@ Connection conn = DriverManager.
The settings in the URL override the settings passed as a separate parameter. The settings in the URL override the settings passed as a separate parameter.
</p> </p>
<br />
<h2 id="user_defined_functions">User-Defined Functions and Stored Procedures</h2> <h2 id="user_defined_functions">User-Defined Functions and Stored Procedures</h2>
<p> <p>
In addition to the built-in functions, this database supports user-defined Java functions. In addition to the built-in functions, this database supports user-defined Java functions.
...@@ -1639,7 +1608,6 @@ CREATE ALIAS MATRIX FOR "org.h2.samples.Function.getMatrix"; ...@@ -1639,7 +1608,6 @@ CREATE ALIAS MATRIX FOR "org.h2.samples.Function.getMatrix";
SELECT * FROM MATRIX(4) ORDER BY X, Y; SELECT * FROM MATRIX(4) ORDER BY X, Y;
</pre> </pre>
<br />
<h2 id="triggers">Triggers</h2> <h2 id="triggers">Triggers</h2>
<p> <p>
This database supports Java triggers that are called before or after a row is updated, inserted or deleted. This database supports Java triggers that are called before or after a row is updated, inserted or deleted.
...@@ -1674,7 +1642,6 @@ CREATE TRIGGER INV_INS AFTER INSERT ON INVOICE ...@@ -1674,7 +1642,6 @@ CREATE TRIGGER INV_INS AFTER INSERT ON INVOICE
The trigger can be used to veto a change by throwing a <code>SQLException</code>. The trigger can be used to veto a change by throwing a <code>SQLException</code>.
</p> </p>
<br />
<h2 id="compacting">Compacting a Database</h2> <h2 id="compacting">Compacting a Database</h2>
<p> <p>
Empty space in the database file is re-used automatically. Empty space in the database file is re-used automatically.
...@@ -1699,7 +1666,6 @@ The commands <code>SCRIPT / RUNSCRIPT</code> can be used as well to create a bac ...@@ -1699,7 +1666,6 @@ The commands <code>SCRIPT / RUNSCRIPT</code> can be used as well to create a bac
of a database and re-build the database from the script. of a database and re-build the database from the script.
</p> </p>
<br />
<h2 id="cache_settings">Cache Settings</h2> <h2 id="cache_settings">Cache Settings</h2>
<p> <p>
The database keeps most frequently used data and index pages in the main memory. The database keeps most frequently used data and index pages in the main memory.
......
...@@ -17,12 +17,16 @@ Initial Developer: H2 Group ...@@ -17,12 +17,16 @@ Initial Developer: H2 Group
<div class="menu"> <div class="menu">
<img src="images/h2-logo.png" alt="H2 Logo" onclick="document.location='main.html'" width="136" height="74"/> <img src="images/h2-logo.png" alt="H2 Logo" onclick="document.location='main.html'" width="136" height="74"/>
</div> </div>
<form action="submit" onsubmit="return goFirst();"> <form action="submit" onsubmit="return goFirst();">
<table width="100%" class="search"> <table width="100%" class="search">
<tr class="search"> <tr class="search">
<td class="search" colspan="2"> <td class="search" colspan="2">
<a href="frame.html"><img src="images/language_en.gif" alt="English" width="23" height="15"/></a> <!-- translate
<a href="frame_ja.html"><img src="images/language_ja.gif" alt="Japanese" width="23" height="15"/></a> <a href="http://translate.google.com/translate?u=http%3A%2F%2Fh2database.com"
onclick="javascript:document.getElementById('translate').style.display='';return false;">Translate</a>
<div id = "translate" style="display:none"><div id = "google_translate_element"></div></div>
translate -->
</td> </td>
</tr> </tr>
<tr class="search"> <tr class="search">
...@@ -52,6 +56,7 @@ Initial Developer: H2 Group ...@@ -52,6 +56,7 @@ Initial Developer: H2 Group
<div class="menu"> <div class="menu">
<b><a href="main.html"> Home </a></b><br /> <b><a href="main.html"> Home </a></b><br />
<a href="quickstart.html"> Quickstart </a><br /> <a href="quickstart.html"> Quickstart </a><br />
<a href="cheatSheet.html"> Cheat Sheet </a><br />
<a href="installation.html"> Installation </a><br /> <a href="installation.html"> Installation </a><br />
<a href="tutorial.html"> Tutorial </a><br /> <a href="tutorial.html"> Tutorial </a><br />
<a href="features.html"> Features </a><br /> <a href="features.html"> Features </a><br />
...@@ -76,18 +81,6 @@ Initial Developer: H2 Group ...@@ -76,18 +81,6 @@ Initial Developer: H2 Group
<a href="license.html"> License </a><br /> <a href="license.html"> License </a><br />
<br /> <br />
<!-- translate
<a href="http://translate.google.com/translate?u=http%3A%2F%2Fh2database.com"
onclick="javascript:document.getElementById('translate').style.display='';return false;">Translate</a>
<div id = "translate" style="display:none"><div id = "google_translate_element"></div></div>
<script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
translate -->
</div> </div>
</div> </div>
</td> </td>
...@@ -101,6 +94,8 @@ translate --> ...@@ -101,6 +94,8 @@ translate -->
</div></td></tr></table> </div></td></tr></table>
<script type="text/javascript" src="index.js"></script> <script type="text/javascript" src="index.js"></script>
<script type="text/javascript" src="search.js"></script> <script type="text/javascript" src="search.js"></script>
<script type="text/javascript">function googleTranslateElementInit() { new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element'); } </script>
<!-- } --> <!-- } -->
</body></html> </body></html>
\ No newline at end of file
...@@ -53,7 +53,6 @@ Functions ...@@ -53,7 +53,6 @@ Functions
</p> </p>
<c:forEach var="item" items="functionsAll"> <c:forEach var="item" items="functionsAll">
<br />
<h3 id="${item.link}" class="notranslate">${item.topic}</h3> <h3 id="${item.link}" class="notranslate">${item.topic}</h3>
<pre> <pre>
${item.syntax} ${item.syntax}
......
...@@ -51,7 +51,6 @@ SQL Grammar ...@@ -51,7 +51,6 @@ SQL Grammar
</p> </p>
<c:forEach var="item" items="commands"> <c:forEach var="item" items="commands">
<br />
<h3 id="${item.link}" class="notranslate">${item.topic}</h3> <h3 id="${item.link}" class="notranslate">${item.topic}</h3>
<pre> <pre>
${item.syntax} ${item.syntax}
...@@ -62,7 +61,6 @@ ${item.syntax} ...@@ -62,7 +61,6 @@ ${item.syntax}
</c:forEach> </c:forEach>
<c:forEach var="item" items="otherGrammar"> <c:forEach var="item" items="otherGrammar">
<br />
<h3 id="${item.link}" class="notranslate">${item.topic}</h3> <h3 id="${item.link}" class="notranslate">${item.topic}</h3>
<pre> <pre>
${item.syntax} ${item.syntax}
...@@ -72,7 +70,6 @@ ${item.syntax} ...@@ -72,7 +70,6 @@ ${item.syntax}
<p class="notranslate">${item.example}</p> <p class="notranslate">${item.example}</p>
</c:forEach> </c:forEach>
<br />
<h3 id="information_schema" class="notranslate">Information Schema</h3> <h3 id="information_schema" class="notranslate">Information Schema</h3>
<p> <p>
The system tables in the schema <code>INFORMATION_SCHEMA</code> contain the meta data The system tables in the schema <code>INFORMATION_SCHEMA</code> contain the meta data
...@@ -87,7 +84,6 @@ of all tables in the database as well as the current settings. ...@@ -87,7 +84,6 @@ of all tables in the database as well as the current settings.
</c:forEach> </c:forEach>
</table> </table>
<br />
<h3 id="range_table" class="notranslate">Range Table</h3> <h3 id="range_table" class="notranslate">Range Table</h3>
<p> <p>
The range table is a dynamic system table that contains all values from a start to an end value. The range table is a dynamic system table that contains all values from a start to an end value.
......
...@@ -27,7 +27,6 @@ History ...@@ -27,7 +27,6 @@ History
<a href="#supporters"> <a href="#supporters">
Supporters</a><br /> Supporters</a><br />
<br />
<h2 id="changelog">Change Log</h2> <h2 id="changelog">Change Log</h2>
<p> <p>
The up-to-date change log is available at The up-to-date change log is available at
...@@ -36,7 +35,6 @@ http://www.h2database.com/html/changelog.html ...@@ -36,7 +35,6 @@ http://www.h2database.com/html/changelog.html
</a> </a>
</p> </p>
<br />
<h2 id="roadmap">Roadmap</h2> <h2 id="roadmap">Roadmap</h2>
<p> <p>
The current roadmap is available at The current roadmap is available at
...@@ -45,7 +43,6 @@ http://www.h2database.com/html/roadmap.html ...@@ -45,7 +43,6 @@ http://www.h2database.com/html/roadmap.html
</a> </a>
</p> </p>
<br />
<h2 id="history">History of this Database Engine</h2> <h2 id="history">History of this Database Engine</h2>
<p> <p>
The development of H2 was started in May 2004, The development of H2 was started in May 2004,
...@@ -58,7 +55,6 @@ The name H2 stands for Hypersonic 2; however H2 does not share any code with ...@@ -58,7 +55,6 @@ The name H2 stands for Hypersonic 2; however H2 does not share any code with
Hypersonic SQL or HSQLDB. H2 is built from scratch. Hypersonic SQL or HSQLDB. H2 is built from scratch.
</p> </p>
<br />
<h2 id="why_java">Why Java</h2> <h2 id="why_java">Why Java</h2>
<p> <p>
A few reasons using a Java database are: A few reasons using a Java database are:
...@@ -92,7 +88,6 @@ instead of using the existing libraries. Libraries that are not available in ope ...@@ -92,7 +88,6 @@ instead of using the existing libraries. Libraries that are not available in ope
Java implementations (such as Swing) are not used or only used for specific features. Java implementations (such as Swing) are not used or only used for specific features.
</p> </p>
<br />
<h2 id="supporters">Supporters</h2> <h2 id="supporters">Supporters</h2>
<p> <p>
Many thanks for those who helped by finding and reporting bugs, gave valuable feedback, Many thanks for those who helped by finding and reporting bugs, gave valuable feedback,
......
...@@ -26,7 +26,6 @@ Installation ...@@ -26,7 +26,6 @@ Installation
<a href="#directory_structure"> <a href="#directory_structure">
Directory Structure</a><br /> Directory Structure</a><br />
<br />
<h2 id="requirements">Requirements</h2> <h2 id="requirements">Requirements</h2>
<p> <p>
To run the database, the following minimum software stack is known to work: To run the database, the following minimum software stack is known to work:
...@@ -38,7 +37,6 @@ To run the database, the following minimum software stack is known to work: ...@@ -38,7 +37,6 @@ To run the database, the following minimum software stack is known to work:
</li><li>Mozilla Firefox 1.5 or newer </li><li>Mozilla Firefox 1.5 or newer
</li></ul> </li></ul>
<br />
<h2 id="supported_platforms">Supported Platforms</h2> <h2 id="supported_platforms">Supported Platforms</h2>
<p> <p>
As this database is written in Java, it can run on many different platforms. As this database is written in Java, it can run on many different platforms.
...@@ -48,13 +46,11 @@ developed and tested on Windows XP and Mac OS X using the Sun JDK 1.5, but it al ...@@ -48,13 +46,11 @@ developed and tested on Windows XP and Mac OS X using the Sun JDK 1.5, but it al
works in many other operating systems and using other Java runtime environments. works in many other operating systems and using other Java runtime environments.
</p> </p>
<br />
<h2 id="installing">Installing the Software</h2> <h2 id="installing">Installing the Software</h2>
<p> <p>
To install the software, run the installer or unzip it to a directory of your choice. To install the software, run the installer or unzip it to a directory of your choice.
</p> </p>
<br />
<h2 id="directory_structure">Directory Structure</h2> <h2 id="directory_structure">Directory Structure</h2>
<p> <p>
After installing, you should get the following directory structure: After installing, you should get the following directory structure:
......
...@@ -29,7 +29,6 @@ Performance ...@@ -29,7 +29,6 @@ Performance
<a href="#fast_import"> <a href="#fast_import">
Fast Database Import</a><br /> Fast Database Import</a><br />
<br />
<h2 id="performance_comparison">Performance Comparison</h2> <h2 id="performance_comparison">Performance Comparison</h2>
<p> <p>
In many cases H2 is faster than other In many cases H2 is faster than other
...@@ -272,7 +271,6 @@ Here, one (wrapper) connection is opened at the start, ...@@ -272,7 +271,6 @@ Here, one (wrapper) connection is opened at the start,
and for each step a new connection is opened and then closed. and for each step a new connection is opened and then closed.
</p> </p>
<br />
<h2 id="poleposition_benchmark">PolePosition Benchmark</h2> <h2 id="poleposition_benchmark">PolePosition Benchmark</h2>
<p> <p>
The PolePosition is an open source benchmark. The algorithms are all quite simple. The PolePosition is an open source benchmark. The algorithms are all quite simple.
...@@ -318,7 +316,6 @@ To change that, use the database URL <code>jdbc:h2:file:data/h2/dbbench;DB_CLOSE ...@@ -318,7 +316,6 @@ To change that, use the database URL <code>jdbc:h2:file:data/h2/dbbench;DB_CLOSE
Unfortunately, the PolePosition test does not take this into account. Unfortunately, the PolePosition test does not take this into account.
</li></ul> </li></ul>
<br />
<h2 id="application_profiling">Application Profiling</h2> <h2 id="application_profiling">Application Profiling</h2>
<h3>Analyze First</h3> <h3>Analyze First</h3>
...@@ -345,7 +342,6 @@ run <code>jstack &lt;pid&gt;</code> or <code>kill -QUIT &lt;pid&gt;</code> (Linu ...@@ -345,7 +342,6 @@ run <code>jstack &lt;pid&gt;</code> or <code>kill -QUIT &lt;pid&gt;</code> (Linu
Ctrl+C (Windows). Ctrl+C (Windows).
</p> </p>
<br />
<h2 id="database_profiling">Database Profiling</h2> <h2 id="database_profiling">Database Profiling</h2>
<p> <p>
The <code>ConvertTraceFile</code> tool generates SQL statement statistics at the end of the SQL script file. The <code>ConvertTraceFile</code> tool generates SQL statement statistics at the end of the SQL script file.
...@@ -384,7 +380,6 @@ following profiling data (results vary): ...@@ -384,7 +380,6 @@ following profiling data (results vary):
-- 0% 100% 0 1 0 SET TRACE_LEVEL_FILE 3; -- 0% 100% 0 1 0 SET TRACE_LEVEL_FILE 3;
</pre> </pre>
<br />
<h2 id="database_performance_tuning">Database Performance Tuning</h2> <h2 id="database_performance_tuning">Database Performance Tuning</h2>
<h3>Use a Modern JVM</h3> <h3>Use a Modern JVM</h3>
...@@ -521,7 +516,6 @@ Each data type has different storage and performance characteristics: ...@@ -521,7 +516,6 @@ Each data type has different storage and performance characteristics:
to work with than <code>INTEGER</code> in most modes. to work with than <code>INTEGER</code> in most modes.
</li></ul> </li></ul>
<br />
<h2 id="fast_import">Fast Database Import</h2> <h2 id="fast_import">Fast Database Import</h2>
<p> <p>
To speed up large imports, consider using the following options temporarily: To speed up large imports, consider using the following options temporarily:
......
...@@ -21,7 +21,6 @@ Quickstart ...@@ -21,7 +21,6 @@ Quickstart
<a href="#h2_console"> <a href="#h2_console">
The H2 Console Application</a><br /> The H2 Console Application</a><br />
<br />
<h2 id="embedding">Embedding H2 in an Application</h2> <h2 id="embedding">Embedding H2 in an Application</h2>
<p> <p>
This database can be used in embedded mode, or in server mode. To use it in embedded mode, you need to: This database can be used in embedded mode, or in server mode. To use it in embedded mode, you need to:
...@@ -33,7 +32,6 @@ This database can be used in embedded mode, or in server mode. To use it in embe ...@@ -33,7 +32,6 @@ This database can be used in embedded mode, or in server mode. To use it in embe
</li><li>A new database is automatically created </li><li>A new database is automatically created
</li></ul> </li></ul>
<br />
<h2 id="h2_console">The H2 Console Application</h2> <h2 id="h2_console">The H2 Console Application</h2>
<p> <p>
The Console lets you access a SQL database using a browser interface. The Console lets you access a SQL database using a browser interface.
......
...@@ -32,7 +32,8 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -32,7 +32,8 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
<ul> <ul>
<li>Bugfixes <li>Bugfixes
</li><li>Page store: new storage mechanism </li><li>Page store: new storage mechanism
</li><li>[Requires page store] Support large updates (use the transaction log for rollback). </li><li>[Requires page store] Support large updates (use the transaction log
for rollback instead of persistent UndoLog.file).
</li><li>[Requires page store] Shutdown compact </li><li>[Requires page store] Shutdown compact
</li><li>More tests with MULTI_THREADED=1 </li><li>More tests with MULTI_THREADED=1
</li><li>RECOVER=1 should automatically recover, =2 should run the recovery tool if required </li><li>RECOVER=1 should automatically recover, =2 should run the recovery tool if required
...@@ -94,6 +95,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -94,6 +95,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Comparison: pluggable sort order: natural sort </li><li>Comparison: pluggable sort order: natural sort
</li><li>Count index range query (count(*) where id between 10 and 20) </li><li>Count index range query (count(*) where id between 10 and 20)
</li><li>Support alter table add column if table has views defined </li><li>Support alter table add column if table has views defined
</li><li>Recursive Queries (see details)
</li><li>Eclipse plugin </li><li>Eclipse plugin
</li><li>Asynchronous queries to support publish/subscribe: SELECT ... FOR READ WAIT [maxMillisToWait] </li><li>Asynchronous queries to support publish/subscribe: SELECT ... FOR READ WAIT [maxMillisToWait]
</li><li>Fulltext search Lucene: analyzer configuration. </li><li>Fulltext search Lucene: analyzer configuration.
...@@ -186,7 +188,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -186,7 +188,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Read InputStream when executing, as late as possible (maybe only embedded mode). Problem with re-execute. </li><li>Read InputStream when executing, as late as possible (maybe only embedded mode). Problem with re-execute.
</li><li>Native fulltext search: min word length; store word positions </li><li>Native fulltext search: min word length; store word positions
</li><li>[Requires page store] Store dates in local time zone (portability of database files) </li><li>[Requires page store] Store dates in local time zone (portability of database files)
</li><li>Recursive Queries (see details)
</li><li>Add an option to the SCRIPT command to generate only portable / standard SQL </li><li>Add an option to the SCRIPT command to generate only portable / standard SQL
</li><li>Test Dezign for Databases (http://www.datanamic.com) </li><li>Test Dezign for Databases (http://www.datanamic.com)
</li><li>Fast library for parsing / formatting: http://javolution.org/ </li><li>Fast library for parsing / formatting: http://javolution.org/
...@@ -394,6 +395,8 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -394,6 +395,8 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Natural join: support select x from dual natural join dual. </li><li>Natural join: support select x from dual natural join dual.
</li><li>Natural join: somehow support this: select a.x, b.x, x from dual a natural join dual b </li><li>Natural join: somehow support this: select a.x, b.x, x from dual a natural join dual b
</li><li>MySQL compatibility: for auto_increment columns, convert 0 to next value (as when inserting NULL). </li><li>MySQL compatibility: for auto_increment columns, convert 0 to next value (as when inserting NULL).
</li><li>Optimization for multi-column IN: use an index if possible. Example: (A, B) IN((1, 2), (2, 3)).
</li><li>Optimization for EXISTS: convert to inner join or IN(..) if possible.
</li><li>Functions: support hashcode(value); cryptographic and fast </li><li>Functions: support hashcode(value); cryptographic and fast
</li><li>Serialized file lock: support long running queries. </li><li>Serialized file lock: support long running queries.
</li><li>Network: use 127.0.0.1 if other addresses don't work. </li><li>Network: use 127.0.0.1 if other addresses don't work.
...@@ -446,7 +449,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -446,7 +449,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Oracle compatibility: support CREATE SYNONYM table FOR schema.table. </li><li>Oracle compatibility: support CREATE SYNONYM table FOR schema.table.
</li><li>Optimize A=? OR B=? to UNION if the cost is lower. </li><li>Optimize A=? OR B=? to UNION if the cost is lower.
</li><li>More secure default configuration if remote access is enabled. </li><li>More secure default configuration if remote access is enabled.
</li><li>Optimization for EXISTS: convert to inner join if possible.
</li><li>Improve database file locking (maybe use native file locking). The current approach seems to be problematic </li><li>Improve database file locking (maybe use native file locking). The current approach seems to be problematic
if the file system is on a remote share (see Google Group 'Lock file modification time is in the future'). if the file system is on a remote share (see Google Group 'Lock file modification time is in the future').
</li><li>Document internal features such as BELONGS_TO_TABLE, NULL_TO_DEFAULT, SEQUENCE. </li><li>Document internal features such as BELONGS_TO_TABLE, NULL_TO_DEFAULT, SEQUENCE.
......
...@@ -53,7 +53,6 @@ Tutorial ...@@ -53,7 +53,6 @@ Tutorial
<a href="#spring"> <a href="#spring">
Using Spring</a><br /> Using Spring</a><br />
<br />
<h2 id="tutorial_starting_h2_console">Starting and Using the H2 Console</h2> <h2 id="tutorial_starting_h2_console">Starting and Using the H2 Console</h2>
<p> <p>
The H2 Console application lets you access a SQL database using a browser interface. The H2 Console application lets you access a SQL database using a browser interface.
...@@ -224,7 +223,6 @@ press [Ctrl]+[C] in the console where the server was started (Windows), ...@@ -224,7 +223,6 @@ press [Ctrl]+[C] in the console where the server was started (Windows),
or close the console window. or close the console window.
</p> </p>
<br />
<h2 id="console_settings">Settings of the H2 Console</h2> <h2 id="console_settings">Settings of the H2 Console</h2>
<p> <p>
The settings of the H2 Console are stored in a configuration file The settings of the H2 Console are stored in a configuration file
...@@ -233,7 +231,6 @@ For Windows installations, the user home directory is usually <code>C:\Documents ...@@ -233,7 +231,6 @@ For Windows installations, the user home directory is usually <code>C:\Documents
The configuration file contains the settings of the application and is automatically created when the H2 Console is first started. The configuration file contains the settings of the application and is automatically created when the H2 Console is first started.
</p> </p>
<br />
<h2 id="connecting_using_jdbc">Connecting to a Database using JDBC</h2> <h2 id="connecting_using_jdbc">Connecting to a Database using JDBC</h2>
<p> <p>
To connect to a database, a Java application first needs to load the database driver, To connect to a database, a Java application first needs to load the database driver,
...@@ -262,15 +259,17 @@ is the user name (<code>sa</code> for System Administrator in this example). The ...@@ -262,15 +259,17 @@ is the user name (<code>sa</code> for System Administrator in this example). The
In this database, user names are not case sensitive, but passwords are. In this database, user names are not case sensitive, but passwords are.
</p> </p>
<br />
<h2 id="creating_new_databases">Creating New Databases</h2> <h2 id="creating_new_databases">Creating New Databases</h2>
<p> <p>
By default, if the database specified in the URL does not yet exist, a new (empty) By default, if the database specified in the URL does not yet exist, a new (empty)
database is created automatically. The user that created the database automatically becomes database is created automatically. The user that created the database automatically becomes
the administrator of this database. the administrator of this database.
</p> </p>
<p>
Auto-creating new database can be disabled, see
<a href="features.html#database_only_if_exists">Opening a Database Only if it Already Exists</a>.
</p>
<br />
<h2 id="using_server">Using the Server</h2> <h2 id="using_server">Using the Server</h2>
<p> <p>
H2 currently supports three server: a web server (for the H2 Console), H2 currently supports three server: a web server (for the H2 Console),
...@@ -345,7 +344,6 @@ Shutting down a TCP server can be protected using the option <code>-tcpPassword< ...@@ -345,7 +344,6 @@ Shutting down a TCP server can be protected using the option <code>-tcpPassword<
(the same password must be used to start and stop the TCP server). (the same password must be used to start and stop the TCP server).
</p> </p>
<br />
<h2 id="using_hibernate">Using Hibernate</h2> <h2 id="using_hibernate">Using Hibernate</h2>
<p> <p>
This database supports Hibernate version 3.1 and newer. You can use the HSQLDB Dialect, This database supports Hibernate version 3.1 and newer. You can use the HSQLDB Dialect,
...@@ -356,7 +354,6 @@ is also available at <code>src/tools/org/hibernate/dialect/H2Dialect.java.txt</c ...@@ -356,7 +354,6 @@ is also available at <code>src/tools/org/hibernate/dialect/H2Dialect.java.txt</c
You can rename it to <code>H2Dialect.java</code> and include this as a patch in your application. You can rename it to <code>H2Dialect.java</code> and include this as a patch in your application.
</p> </p>
<br />
<h2 id="using_toplink">Using TopLink and Glassfish</h2> <h2 id="using_toplink">Using TopLink and Glassfish</h2>
<p> <p>
To use H2 with Glassfish (or Sun AS), set the Datasource Classname to To use H2 with Glassfish (or Sun AS), set the Datasource Classname to
...@@ -383,7 +380,6 @@ To enable it, change the following setting in persistence.xml: ...@@ -383,7 +380,6 @@ To enable it, change the following setting in persistence.xml:
In old versions of Glassfish, the property name is <code>toplink.platform.class.name</code>. In old versions of Glassfish, the property name is <code>toplink.platform.class.name</code>.
</p> </p>
<br />
<h2 id="web_applications">Using Databases in Web Applications</h2> <h2 id="web_applications">Using Databases in Web Applications</h2>
<p> <p>
There are multiple ways to access a database from within web There are multiple ways to access a database from within web
...@@ -494,7 +490,6 @@ To create a web application with just the H2 Console, run the following command: ...@@ -494,7 +490,6 @@ To create a web application with just the H2 Console, run the following command:
build warConsole build warConsole
</pre> </pre>
<br />
<h2 id="csv">CSV (Comma Separated Values) Support</h2> <h2 id="csv">CSV (Comma Separated Values) Support</h2>
<p> <p>
The CSV file support can be used inside the database using the functions The CSV file support can be used inside the database using the functions
...@@ -568,7 +563,6 @@ public class TestCsv { ...@@ -568,7 +563,6 @@ public class TestCsv {
} }
</pre> </pre>
<br />
<h2 id="upgrade_backup_restore">Upgrade, Backup, and Restore</h2> <h2 id="upgrade_backup_restore">Upgrade, Backup, and Restore</h2>
<h3>Database Upgrade</h3> <h3>Database Upgrade</h3>
...@@ -633,7 +627,6 @@ if the file systems support creating snapshots. The problem is that it can't ...@@ -633,7 +627,6 @@ if the file systems support creating snapshots. The problem is that it can't
be guaranteed that the data is copied in the right order. be guaranteed that the data is copied in the right order.
</p> </p>
<br />
<h2 id="command_line_tools">Command Line Tools</h2> <h2 id="command_line_tools">Command Line Tools</h2>
<p> <p>
This database comes with a number of command line tools. To get more information about a tool, This database comes with a number of command line tools. To get more information about a tool,
...@@ -663,7 +656,6 @@ The tools can also be called from an application by calling the main or another ...@@ -663,7 +656,6 @@ The tools can also be called from an application by calling the main or another
For details, see the Javadoc documentation. For details, see the Javadoc documentation.
</p> </p>
<br />
<h2 id="open_office">Using OpenOffice Base</h2> <h2 id="open_office">Using OpenOffice Base</h2>
<p> <p>
OpenOffice.org Base supports database access over the JDBC API. To connect to a H2 database OpenOffice.org Base supports database access over the JDBC API. To connect to a H2 database
...@@ -711,7 +703,6 @@ This can be done by create it using the NetBeans OpenOffice plugin. ...@@ -711,7 +703,6 @@ This can be done by create it using the NetBeans OpenOffice plugin.
See also <a href="http://wiki.services.openoffice.org/wiki/Extensions_development_java">Extensions Development</a>. See also <a href="http://wiki.services.openoffice.org/wiki/Extensions_development_java">Extensions Development</a>.
</p> </p>
<br />
<h2 id="web_start">Java Web Start / JNLP</h2> <h2 id="web_start">Java Web Start / JNLP</h2>
<p> <p>
When using Java Web Start / JNLP (Java Network Launch Protocol), permissions tags must be set in the .jnlp file, When using Java Web Start / JNLP (Java Network Launch Protocol), permissions tags must be set in the .jnlp file,
...@@ -726,7 +717,6 @@ Example permission tags: ...@@ -726,7 +717,6 @@ Example permission tags:
&lt;/security> &lt;/security>
</pre> </pre>
<br />
<h2 id="connection_pool">Using a Connection Pool</h2> <h2 id="connection_pool">Using a Connection Pool</h2>
<p> <p>
For H2, opening a connection is fast if the database is already open. For H2, opening a connection is fast if the database is already open.
...@@ -755,7 +745,6 @@ public class Test { ...@@ -755,7 +745,6 @@ public class Test {
} }
</pre> </pre>
<br />
<h2 id="fulltext">Fulltext Search</h2> <h2 id="fulltext">Fulltext Search</h2>
<p> <p>
H2 includes two fulltext search implementations. One is using Apache Lucene, H2 includes two fulltext search implementations. One is using Apache Lucene,
...@@ -864,7 +853,6 @@ org.h2.fulltext.FullTextLucene.search(conn, text, limit, offset); ...@@ -864,7 +853,6 @@ org.h2.fulltext.FullTextLucene.search(conn, text, limit, offset);
org.h2.fulltext.FullTextLucene.searchData(conn, text, limit, offset); org.h2.fulltext.FullTextLucene.searchData(conn, text, limit, offset);
</pre> </pre>
<br />
<h2 id="user_defined_variables">User-Defined Variables</h2> <h2 id="user_defined_variables">User-Defined Variables</h2>
<p> <p>
This database supports user-defined variables. Variables start with <code>@</code> and can be used wherever This database supports user-defined variables. Variables start with <code>@</code> and can be used wherever
...@@ -888,7 +876,6 @@ of the value assigned to it, that means it is not necessary (or possible) to dec ...@@ -888,7 +876,6 @@ of the value assigned to it, that means it is not necessary (or possible) to dec
There are no restrictions on the assigned values; large objects (LOBs) are supported as well. There are no restrictions on the assigned values; large objects (LOBs) are supported as well.
</p> </p>
<br />
<h2 id="date_time">Date and Time</h2> <h2 id="date_time">Date and Time</h2>
<p> <p>
Date, time and timestamp values support ISO 8601 formatting, including time zone: Date, time and timestamp values support ISO 8601 formatting, including time zone:
...@@ -907,7 +894,6 @@ the database using the <code>RUNSCRIPT</code> command ...@@ -907,7 +894,6 @@ the database using the <code>RUNSCRIPT</code> command
or the <code>RunScript</code> tool in the new time zone. or the <code>RunScript</code> tool in the new time zone.
</p> </p>
<br />
<h2 id="spring">Using Spring</h2> <h2 id="spring">Using Spring</h2>
<p> <p>
Use the following configuration to start and stop the H2 TCP server using the Spring Framework: Use the following configuration to start and stop the H2 TCP server using the Spring Framework:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论