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

Documentation.

上级 3e2b459c
...@@ -885,6 +885,22 @@ share, two processes (running on different computers) could still open the same ...@@ -885,6 +885,22 @@ 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>
<h3>File Locking Method 'FS'</h3>
<p>
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.
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,
and on some system native file locking is not supported or files are not unlocked after a power failure.
</p>
<p>
To enable this feature, append <code>;FILE_LOCK=FS</code> to the database URL.
</p>
<p>
This feature is relatively new. When using it for production, please ensure
your system does in fact lock files as expected.
</p>
<h2 id="file_locking_serialized">File Locking Method 'Serialized'</h2> <h2 id="file_locking_serialized">File Locking Method 'Serialized'</h2>
<p> <p>
This locking mode allows to open multiple connections to the same database. This locking mode allows to open multiple connections to the same database.
......
...@@ -18,7 +18,23 @@ Change Log ...@@ -18,7 +18,23 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>- <ul><li>Performance has been improved a bit.
</li><li>DatabaseMetaData.getJDBCMajorVersion now returns 4 (instead of 3) when the driver
is compiled with Java 6 (the default).
</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).
</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.
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)
couldn't be opened with version 1.2.143. Fixed.
</li><li>The database upgrade classes have been renamed.
</li><li>The database did not automatically upgrade when using a connection pool or data source.
</li><li>JaQu: a database object can now also be created using a DataSource. Issue 227.
</li><li>The built-in profiler now better supports the Dalvik VM.
</li><li>The jarSmall build target no longer includes assertions
(SysProperties.CHECK, CHECK2, system properties h2.check and h2.check2).
</li><li>The jarSmall build target excluded the DbUpgrade classes by mistake.
</li></ul> </li></ul>
<h2>Version 1.2.143 (2010-09-18)</h2> <h2>Version 1.2.143 (2010-09-18)</h2>
......
...@@ -78,6 +78,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -78,6 +78,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Write more tests and documentation for MVCC (Multi Version Concurrency Control). </li><li>Write more tests and documentation for MVCC (Multi Version Concurrency Control).
</li><li>Find a tool to view large text file (larger than 100 MB), with find, page up and down (like less), truncate before / after. </li><li>Find a tool to view large text file (larger than 100 MB), with find, page up and down (like less), truncate before / after.
</li><li>Implement, test, document XAConnection and so on. </li><li>Implement, test, document XAConnection and so on.
</li><li>Issue 159: System property for the H2 Console and TCP configuration (which .h2.server.properties and .h2.keystore to use).
</li><li>Pluggable data type (for streaming, hashing, compression, validation, conversion, encryption). </li><li>Pluggable data type (for streaming, hashing, compression, validation, conversion, encryption).
</li><li>CHECK: find out what makes CHECK=TRUE slow, move to CHECK2. </li><li>CHECK: find out what makes CHECK=TRUE slow, move to CHECK2.
</li><li>Drop with invalidate views (so that source code is not lost). Check what other databases do exactly. </li><li>Drop with invalidate views (so that source code is not lost). Check what other databases do exactly.
...@@ -134,6 +135,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -134,6 +135,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Max memory rows / max undo log size: use block count / row size not row count. </li><li>Max memory rows / max undo log size: use block count / row size not row count.
</li><li>Support 123L syntax as in Java; example: SELECT (2000000000*2). </li><li>Support 123L syntax as in Java; example: SELECT (2000000000*2).
</li><li>Implement point-in-time recovery. </li><li>Implement point-in-time recovery.
</li><li>Option for SCRIPT to only process one or a set of schemas or tables, and append to a file.
</li><li>LIKE: improved version for larger texts (currently using naive search). </li><li>LIKE: improved version for larger texts (currently using naive search).
</li><li>Automatically convert to the next 'higher' data type whenever there is an overflow. </li><li>Automatically convert to the next 'higher' data type whenever there is an overflow.
</li><li>Throw an exception when the application calls getInt on a Long (optional). </li><li>Throw an exception when the application calls getInt on a Long (optional).
...@@ -156,7 +158,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -156,7 +158,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Add a sample application that runs the H2 unit test and writes the result to a file (so it can be included in the user app). </li><li>Add a sample application that runs the H2 unit test and writes the result to a file (so it can be included in the user app).
</li><li>Count on a column that can not be null could be optimized to COUNT(*). </li><li>Count on a column that can not be null could be optimized to COUNT(*).
</li><li>Table order: ALTER TABLE TEST ORDER BY NAME DESC (MySQL compatibility). </li><li>Table order: ALTER TABLE TEST ORDER BY NAME DESC (MySQL compatibility).
</li><li>Issue 159: System property for the H2 Console and TCP configuration (which .h2.server.properties and .h2.keystore to use).
</li><li>Backup tool should work with other databases as well. </li><li>Backup tool should work with other databases as well.
</li><li>Console: -ifExists doesn't work for the console. Add a flag to disable other dbs. </li><li>Console: -ifExists doesn't work for the console. Add a flag to disable other dbs.
</li><li>Check if 'FSUTIL behavior set disablelastaccess 1' improves the performance (fsutil behavior query disablelastaccess). </li><li>Check if 'FSUTIL behavior set disablelastaccess 1' improves the performance (fsutil behavior query disablelastaccess).
...@@ -205,7 +206,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -205,7 +206,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Support OUTER UNION </li><li>Support OUTER UNION
</li><li>Support parameterized views (similar to CSVREAD, but using just SQL for the definition) </li><li>Support parameterized views (similar to CSVREAD, but using just SQL for the definition)
</li><li>A way (JDBC driver) to map an URL (jdbc:h2map:c1) to a connection object </li><li>A way (JDBC driver) to map an URL (jdbc:h2map:c1) to a connection object
</li><li>Option for SCRIPT to only process one or a set of tables, and append to a file
</li><li>Support linked tables to the current database </li><li>Support linked tables to the current database
</li><li>Support dynamic linked schema (automatically adding/updating/removing tables) </li><li>Support dynamic linked schema (automatically adding/updating/removing tables)
</li><li>Clustering: adding a node should be very fast and without interrupting clients (very short lock) </li><li>Clustering: adding a node should be very fast and without interrupting clients (very short lock)
......
...@@ -739,7 +739,7 @@ Reasons to use H2 instead of SQLite are: ...@@ -739,7 +739,7 @@ Reasons to use H2 instead of SQLite are:
</li><li>Streaming API for BLOB and CLOB data. </li><li>Streaming API for BLOB and CLOB data.
</li><li>Fulltext search. </li><li>Fulltext search.
</li><li>Multiple connections. </li><li>Multiple connections.
</li><li>User defined functions, triggers. </li><li>User defined functions and triggers.
</li><li>Database file encryption. </li><li>Database file encryption.
</li><li>Reading and writing CSV files (this feature can be used out side the database as well). </li><li>Reading and writing CSV files (this feature can be used out side the database as well).
</li><li>Referential integrity and check constraints. </li><li>Referential integrity and check constraints.
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论