提交 8807a867 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation

上级 62a20456
......@@ -52,8 +52,6 @@ Advanced
Using the Recover Tool</a><br />
<a href="#file_locking_protocols">
File Locking Protocols</a><br />
<a href="#file_locking_serialized">
File Locking Method 'Serialized'</a><br />
<a href="#passwords">
Using Passwords</a><br />
<a href="#password_hash">
......@@ -907,7 +905,8 @@ is put to sleep.
<h3>File Locking Method 'File'</h3>
<p>
The default method for database file locking is the 'File Method'. The algorithm is:
The default method for database file locking for version 1.3 and older is the 'File Method'.
The algorithm is:
</p>
<ul>
<li>If the lock file does not exist, it is created (using the atomic operation
......@@ -973,6 +972,7 @@ database files, if they do not have a direct TCP/IP connection.
<h3>File Locking Method 'FS'</h3>
<p>
This is the default mode for version 1.3 and newer.
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.
......@@ -987,27 +987,6 @@ 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>
<p>
This locking mode allows to open multiple connections to the same database.
The connections may be opened from multiple processes and from different computers.
When writing to the database, access is automatically synchronized internally. Write operations
are slower than when using the server mode, and concurrency is relatively poor.
The advantage of this mode is that there is no need to start a server.
</p>
<p>
To enable this feature, append <code>;FILE_LOCK=SERIALIZED</code> to the database URL.
</p>
<p>
This feature is relatively new. When using it for production, please ensure
your use case is well tested (if possible with automated test cases).
</p>
<p>
One known limitation when using this mode is: queries that write to the database will fail
with the exception "The database is read only", if the queries are run using <code>Statement.executeQuery()</code>.
As a workaround, use <code>Statement.execute()</code>
</p>
<h2 id="passwords">Using Passwords</h2>
<h3>Using Secure Passwords</h3>
......@@ -1286,7 +1265,7 @@ The combination of the file password hash and the salt value is hashed 1024 time
using SHA-256. The reason for the iteration is to make it harder for an attacker to
calculate hash values for common passwords.
</p><p>
The resulting hash value is used as the key for the block cipher algorithm.
The resulting hash value is used as the key for the block cipher algorithm.
Then, an initialization vector (IV) key
is calculated by hashing the key again using SHA-256.
This is to make sure the IV is unknown to the attacker.
......@@ -1477,7 +1456,7 @@ The current value of the settings can be read in the table
</p>
<p>
For a complete list of settings, see
<a href="../javadoc/org/h2/constant/SysProperties.html">SysProperties</a>.
<a href="../javadoc/org/h2/engine/SysProperties.html">SysProperties</a>.
</p>
<h2 id="server_bind_address">Setting the Server Bind Address</h2>
......
......@@ -18,7 +18,11 @@ Change Log
<h1>Change Log</h1>
<h2>Changes in Version 1.4 Beta (unreleased)</h2>
<ul><li>Enable the new storage format for dates (system property "h2.storeLocalTime").
<ul><li>The file locking method 'serialized' is no longer supported.
This mode might return in a future version,
however this is not clear right now.
A new implementation and new tests would be needed.
</li><li>Enable the new storage format for dates (system property "h2.storeLocalTime").
For the MVStore mode, this is always enabled, but with version 1.4
this is even enabled in the PageStore mode.
</li><li>Implicit relative paths are disabled (system property "h2.implicitRelativePath"),
......@@ -37,7 +41,11 @@ Change Log
</li></ul>
<h2>Next Version (unreleased)</h2>
<ul><li>The default user name for the Script, RunScript, Shell,
<ul><li>The file locking method 'serialized' is no longer documented,
as it will not be available in version 1.4.
</li><li>The static method Csv.getInstance() was removed.
Use the public constructor instead.
</li><li>The default user name for the Script, RunScript, Shell,
and CreateCluster tools are no longer "sa" but an empty string.
</li><li>The stack trace of the exception "The object is already closed" is no longer logged by default.
</li><li>If a value of a result set was itself a result set, the result
......@@ -79,7 +87,7 @@ Change Log
patch by Thomas Gillet.
</li><li>Fix bug that prevented the PgServer from being stopped and started multiple times.
</li><li>Support some more DDL syntax for MySQL, patch from Peter Jentsch.
</li><li>Issue 548: TO_CHAR does not format MM and DD correctly when the month or day of
</li><li>Issue 548: TO_CHAR does not format MM and DD correctly when the month or day of
the month is 1 digit, patch from "the.tucc"
</li></ul>
......
......@@ -175,7 +175,6 @@ is well tested (if possible with automated test cases). The areas that are not w
<ul>
<li>Platforms other than Windows XP, Linux, Mac OS X, or JVMs other than Sun 1.6 or 1.7
</li><li>The features <code>AUTO_SERVER</code> and <code>AUTO_RECONNECT</code>.
</li><li>The file locking method 'Serialized'.
</li><li>Cluster mode, 2-phase commit, savepoints.
</li><li>24/7 operation.
</li><li>Fulltext search.
......@@ -251,7 +250,7 @@ and not the alias name. If you need the alias name, use
<a href="http://java.sun.com/javase/6/docs/api/java/sql/ResultSetMetaData.html#getColumnLabel(int)"><code>ResultSetMetaData.getColumnLabel()</code></a>.
Some other database don't work like this yet (they don't follow the JDBC specification).
If you need compatibility with those databases, use the <a href="features.html#compatibility">Compatibility Mode</a>,
or append <a href="../javadoc/org/h2/constant/DbSettings.html#ALIAS_COLUMN_NAME"><code>;ALIAS_COLUMN_NAME=TRUE</code></a> to the database URL.
or append <a href="../javadoc/org/h2/engine/DbSettings.html#ALIAS_COLUMN_NAME"><code>;ALIAS_COLUMN_NAME=TRUE</code></a> to the database URL.
</p>
<p>
This also applies to DatabaseMetaData calls that return a result set.
......
......@@ -812,7 +812,7 @@ other database settings can be passed in the database URL.
Adding <code>;setting=value</code> at the end of a database URL is the
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>
or the <a href="../javadoc/org/h2/constant/DbSettings.html">DbSettings</a> javadoc.
or the <a href="../javadoc/org/h2/engine/DbSettings.html">DbSettings</a> javadoc.
</p>
<h2 id="custom_access_mode">Custom File Access Mode</h2>
......
......@@ -28,10 +28,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li></ul>
<h2>Version 1.4.x: Planned Changes</h2>
<ul><li>Remove Csv.getInstance().
</li><li>Change license to MPL 2.0.
</li><li>Document that FILE_LOCK=SERIALIZED is not supported with the MVStore mode.
</li><li>Use the MVStore with MVCC by default.
<ul><li>Change license to MPL 2.0.
</li></ul>
<h2>Priority 1</h2>
......
......@@ -76,15 +76,15 @@ org.h2.tools<br />
org.h2.api<br />
<a href="org/h2/api/AggregateFunction.html" target="javadoc">AggregateFunction</a><br />
<a href="org/h2/api/DatabaseEventListener.html" target="javadoc">DatabaseEventListener</a><br />
<a href="org/h2/api/Trigger.html" target="javadoc">Trigger</a><br />
<a href="org/h2/api/ErrorCode.html" target="javadoc">ErrorCode</a><br />
<a href="org/h2/api/TableEngine.html" target="javadoc">TableEngine</a><br />
<a href="org/h2/api/Trigger.html" target="javadoc">Trigger</a><br />
<br />
<b>Constants</b><br />
org.h2.constant<br />
<a href="org/h2/constant/DbSettings.html" target="javadoc">DbSettings</a><br />
<a href="org/h2/constant/ErrorCode.html" target="javadoc">ErrorCode</a><br />
<a href="org/h2/constant/SysProperties.html" target="javadoc">SysProperties</a><br />
<b>Settings</b><br />
org.h2.engine<br />
<a href="org/h2/engine/DbSettings.html" target="javadoc">DbSettings</a><br />
<a href="org/h2/engine/SysProperties.html" target="javadoc">SysProperties</a><br />
<br />
</div>
......
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.
......@@ -38,6 +38,7 @@
90008=Invalid value {0} for parameter {1}
90009=Unable to create or alter sequence {0} because of invalid attributes (start value {1}, min value {2}, max value {3}, increment {4})
90010=Invalid TO_CHAR format {0}
90011=A file path that is implicitly relative to the current working directory is not allowed in the database URL {0}. Use an absolute path, ~/name, ./name, or the baseDir setting instead.
90012=Parameter {0} is not set
90013=Database {0} not found
90014=Error parsing {0}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论