提交 f8ee8f43 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation.

上级 8166e699
...@@ -888,9 +888,9 @@ database files, if they do not have a direct TCP/IP connection. ...@@ -888,9 +888,9 @@ database files, if they do not have a direct TCP/IP connection.
<h3>File Locking Method 'FS'</h3> <h3>File Locking Method 'FS'</h3>
<p> <p>
This database file locking mechanism uses native file system lock on the database file. This database file locking mechanism uses native file system lock on the database file.
No *.lock.db file is created in this case, and no background thread is started. No *.lock.db file is created in this case, and no background thread is started.
This mechanism may not work on all systems as expected. This mechanism may not work on all systems as expected.
Some systems allow to lock the same file multiple times within the same virtual machine, Some systems allow to lock the same file multiple times within the same virtual machine,
and on some system native file locking is not supported or files are not unlocked after a power failure. and on some system native file locking is not supported or files are not unlocked after a power failure.
</p> </p>
<p> <p>
...@@ -1313,7 +1313,7 @@ that means the probability is about 0.000'000'000'06. ...@@ -1313,7 +1313,7 @@ that means the probability is about 0.000'000'000'06.
<h2 id="recursive_queries">Recursive Queries</h2> <h2 id="recursive_queries">Recursive Queries</h2>
<p> <p>
H2 has experimental support for recursive queries, using so called "common table expressions". H2 has experimental support for recursive queries using so called "common table expressions" (CTE).
Examples: Examples:
</p> </p>
<pre> <pre>
......
...@@ -18,12 +18,19 @@ Change Log ...@@ -18,12 +18,19 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>Performance has been improved a bit. <ul><li>The build tool now uses JAVA_HOME for javac as well. Issue 233.
</li><li>H2 Console: new experimental feature to support file download and upload,
but only if there is a directory called "transfer" in the current working directory.
For security reasons, only very simple file names are supported. Sub-directories are not supported.
To upload, use transfer.jsp; to download, use transfer/fileName.
</li><li>A new sample application that shows how to manually create an encrypted
and compressed script file.
</li><li>Performance has been improved a bit.
</li><li>DatabaseMetaData.getJDBCMajorVersion now returns 4 (instead of 3) when the driver </li><li>DatabaseMetaData.getJDBCMajorVersion now returns 4 (instead of 3) when the driver
is compiled with Java 6 (the default). is compiled with Java 6 (the default).
</li><li>Re-added the internal utility class BitField which improves performance of opening </li><li>Re-added the internal utility class BitField which improves performance of opening
and closing a database (because it supports setByte / getByte, unlike java.util.BitSet). and closing a database (because it supports setByte / getByte, unlike java.util.BitSet).
</li><li>INFORMATION_SCHEMA.SESSIONS: the start time of a SQL statement </li><li>INFORMATION_SCHEMA.SESSIONS: the start time of a SQL statement
is no longer set in each case. It is only set for long running statements. is no longer set in each case. It is only set for long running statements.
This change should improve performance a bit on some devices, specially when using Android. This change should improve performance a bit on some devices, specially when using Android.
</li><li>A old databases without user name and password (created with H2 version 1.2.142 or older) </li><li>A old databases without user name and password (created with H2 version 1.2.142 or older)
......
...@@ -58,8 +58,9 @@ Welcome to H2, the Java SQL database. The main features of H2 are: ...@@ -58,8 +58,9 @@ Welcome to H2, the Java SQL database. The main features of H2 are:
<tr><td style="border: 0px; background-color: #eee;"> <tr><td style="border: 0px; background-color: #eee;">
<h2 style="margin-top: 1em;">Support</h2> <h2 style="margin-top: 1em;">Support</h2>
<p> <p>
<a href="http://groups.google.com/group/h2-database">English Google Group</a><br /> <a href="http://groups.google.com/group/h2-database">Google Group English</a>,
<a href="http://groups.google.co.jp/group/h2-database-jp">Japanese Google Group</a><br /><br /> <a href="http://groups.google.co.jp/group/h2-database-jp">Japanese</a><br /><br />
<a href="http://stackoverflow.com/questions/tagged/h2">Stack Overflow (tag H2)</a><br /><br />
For non-technical issues, use: <br /> For non-technical issues, use: <br />
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
......
...@@ -620,5 +620,10 @@ These options can be set in the database URL: ...@@ -620,5 +620,10 @@ These options can be set in the database URL:
<code>jdbc:h2:~/test;LOG=0;CACHE_SIZE=65536;LOCK_MODE=0;UNDO_LOG=0</code>. <code>jdbc:h2:~/test;LOG=0;CACHE_SIZE=65536;LOCK_MODE=0;UNDO_LOG=0</code>.
Most of those options are not recommended for regular use, that means you need to reset them after use. Most of those options are not recommended for regular use, that means you need to reset them after use.
</p> </p>
<p>
If you have to import a lot of rows, use a PreparedStatement or use CSV import.
Please note that <code>CREATE TABLE(...) ... AS SELECT ...</code>
is faster than <code>CREATE TABLE(...); INSERT INTO ... SELECT ...</code>.
</p>
<!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html> <!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html>
...@@ -55,13 +55,13 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -55,13 +55,13 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Maybe disable shutdown hook (DB_CLOSE_ON_EXIT=FALSE) by default. </li><li>Maybe disable shutdown hook (DB_CLOSE_ON_EXIT=FALSE) by default.
</li><li>Access rights: remember the owner of an object. Create, alter and drop privileges. COMMENT: allow owner of object to change it. Issue 208. Access rights for schemas. </li><li>Access rights: remember the owner of an object. Create, alter and drop privileges. COMMENT: allow owner of object to change it. Issue 208. Access rights for schemas.
</li><li>Test multi-threaded in-memory db access. </li><li>Test multi-threaded in-memory db access.
</li><li>Support hints for the optimizer (which index to use, enforce the join order).
</li><li>Full outer joins. </li><li>Full outer joins.
</li><li>Clustering: support mixed clustering mode (one embedded, others in server mode). </li><li>Clustering: support mixed clustering mode (one embedded, others in server mode).
</li><li>Clustering: reads should be randomly distributed (optional) or to a designated database on RAM (parameter: READ_FROM=3). </li><li>Clustering: reads should be randomly distributed (optional) or to a designated database on RAM (parameter: READ_FROM=3).
</li><li>PostgreSQL catalog: use BEFORE SELECT triggers instead of views over metadata tables. </li><li>PostgreSQL catalog: use BEFORE SELECT triggers instead of views over metadata tables.
</li><li>Compatibility: automatically load functions from a script depending on the mode - see FunctionsMySQL.java, issue 211. </li><li>Compatibility: automatically load functions from a script depending on the mode - see FunctionsMySQL.java, issue 211.
</li><li>Test very large databases and LOBs (up to 256 GB). </li><li>Test very large databases and LOBs (up to 256 GB).
</li><li>Support hints for the optimizer (which index to use, enforce the join order).
</li><li>Sequence: add features [NO] MINVALUE, MAXVALUE, CYCLE. </li><li>Sequence: add features [NO] MINVALUE, MAXVALUE, CYCLE.
</li><li>Deferred integrity checking (DEFERRABLE INITIALLY DEFERRED). </li><li>Deferred integrity checking (DEFERRABLE INITIALLY DEFERRED).
</li><li>Groovy Stored Procedures: http://groovy.codehaus.org/Groovy+SQL </li><li>Groovy Stored Procedures: http://groovy.codehaus.org/Groovy+SQL
...@@ -95,7 +95,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -95,7 +95,6 @@ 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>Performance: update in-place. </li><li>Performance: update in-place.
</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].
See also MS SQL Server "Query Notification". See also MS SQL Server "Query Notification".
...@@ -253,6 +252,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -253,6 +252,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Improve documentation of access rights </li><li>Improve documentation of access rights
</li><li>Support ENUM data type (see MySQL, PostgreSQL, MS SQL Server, maybe others) </li><li>Support ENUM data type (see MySQL, PostgreSQL, MS SQL Server, maybe others)
</li><li>Remember the user defined data type (domain) of a column </li><li>Remember the user defined data type (domain) of a column
</li><li>MVCC: support multi-threaded kernel with multi-version concurrency.
</li><li>Support Jackcess (MS Access databases) </li><li>Support Jackcess (MS Access databases)
</li><li>Built-in methods to write large objects (BLOB and CLOB): FILE_WRITE('test.txt', 'Hello World') </li><li>Built-in methods to write large objects (BLOB and CLOB): FILE_WRITE('test.txt', 'Hello World')
</li><li>Improve time to open large databases (see mail 'init time for distributed setup') </li><li>Improve time to open large databases (see mail 'init time for distributed setup')
...@@ -346,7 +346,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -346,7 +346,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Finer granularity for SLF4J trace - See http://code.google.com/p/h2database/issues/detail?id=62 </li><li>Finer granularity for SLF4J trace - See http://code.google.com/p/h2database/issues/detail?id=62
</li><li>Add database creation date and time to the database. </li><li>Add database creation date and time to the database.
</li><li>Support ASSERTION. </li><li>Support ASSERTION.
</li><li>MVCC: support multi-threaded kernel with multi-version concurrency.
</li><li>MySQL compatibility: support comparing 1='a' </li><li>MySQL compatibility: support comparing 1='a'
</li><li>Support PostgreSQL lock modes: http://www.postgresql.org/docs/8.3/static/explicit-locking.html </li><li>Support PostgreSQL lock modes: http://www.postgresql.org/docs/8.3/static/explicit-locking.html
</li><li>PostgreSQL compatibility: test DbVisualizer and Squirrel SQL using a new PostgreSQL JDBC driver. </li><li>PostgreSQL compatibility: test DbVisualizer and Squirrel SQL using a new PostgreSQL JDBC driver.
...@@ -498,6 +497,12 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -498,6 +497,12 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Support running totals / cumulative sum using SUM(..) OVER(..). </li><li>Support running totals / cumulative sum using SUM(..) OVER(..).
</li><li>Improve object memory size calculation. Use constants for known VMs, or use reflection to call java.lang.instrument.Instrumentation.getObjectSize(Object objectToSize) </li><li>Improve object memory size calculation. Use constants for known VMs, or use reflection to call java.lang.instrument.Instrumentation.getObjectSize(Object objectToSize)
</li><li>Triggers: NOT NULL checks should be done after running triggers (Oracle behavior, maybe others). </li><li>Triggers: NOT NULL checks should be done after running triggers (Oracle behavior, maybe others).
</li><li>Common Table Expression (CTE) / recursive queries: support INSERT INTO ... SELECT ... Issue 219.
</li><li>Common Table Expression (CTE) / recursive queries: support non-recursive queries. Issue 217.
</li><li>Common Table Expression (CTE) / recursive queries: avoid endless loop. Issue 218.
</li><li>Common Table Expression (CTE) / recursive queries: support multiple named queries. Issue 220.
</li><li>Common Table Expression (CTE) / recursive queries: identifier scope may be incorrect. Issue 222.
</li><li>Common Table Expression (CTE) / recursive queries: support parameters.
</li><li>Log long running transactions (similar to long running statements). </li><li>Log long running transactions (similar to long running statements).
</li><li>Support schema specific domains. </li><li>Support schema specific domains.
</li><li>Parameter data type is data type of other operand. Issue 205. </li><li>Parameter data type is data type of other operand. Issue 205.
...@@ -513,11 +518,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -513,11 +518,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>PostgreSQL compatibility: support escape with double \\. </li><li>PostgreSQL compatibility: support escape with double \\.
</li><li>Document the TCP server "management_db". Maybe include the IP address of the client. </li><li>Document the TCP server "management_db". Maybe include the IP address of the client.
</li><li>Use javax.tools.JavaCompilerTool instead of com.sun.tools.javac.Main </li><li>Use javax.tools.JavaCompilerTool instead of com.sun.tools.javac.Main
</li><li>Common Table Expression (CTE): support INSERT INTO ... SELECT ... Issue 219.
</li><li>Common Table Expression (CTE): support non-recursive queries. Issue 217.
</li><li>Common Table Expression (CTE): avoid endless loop. Issue 218.
</li><li>Common Table Expression (CTE): support multiple named queries. Issue 220.
</li><li>Common Table Expression (CTE): identifier scope may be incorrect. Issue 222.
</li><li>If a database object was not found in the current schema, but one with the same name existed in another schema, included that in the error message. </li><li>If a database object was not found in the current schema, but one with the same name existed in another schema, included that in the error message.
</li><li>Optimization to use an index for OR when using multiple keys: where (key1 = ? and key2 = ?) OR (key1 = ? and key2 = ?) </li><li>Optimization to use an index for OR when using multiple keys: where (key1 = ? and key2 = ?) OR (key1 = ? and key2 = ?)
</li><li>JaQu should support a DataSource and a way to create a Db object using a Connection (for multi-threaded usage with a connection pool). </li><li>JaQu should support a DataSource and a way to create a Db object using a Connection (for multi-threaded usage with a connection pool).
...@@ -527,6 +527,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -527,6 +527,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Support -webPassword to require a password to shutdown the H2 Console. </li><li>Support -webPassword to require a password to shutdown the H2 Console.
</li><li>Connection pool: detect ;AUTOCOMMIT=FALSE in the database URL, and if set, </li><li>Connection pool: detect ;AUTOCOMMIT=FALSE in the database URL, and if set,
disable autocommit for all connections. disable autocommit for all connections.
</li><li>Compatibility with MS Access: support "&amp;" to concatenate text.
</li></ul> </li></ul>
<h2>Not Planned</h2> <h2>Not Planned</h2>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论