提交 2a1f38f3 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation.

上级 015b4101
...@@ -1131,7 +1131,7 @@ SET MAX_LOG_SIZE int ...@@ -1131,7 +1131,7 @@ SET MAX_LOG_SIZE int
"," ","
Sets the maximum size of the transaction log, in megabytes. If the log exceeds the Sets the maximum size of the transaction log, in megabytes. If the log exceeds the
limit, a new stream is created. Old streams (that are not used for recovery) are limit, a new stream is created. Old streams (that are not used for recovery) are
freed automatically. The default max size is 32 MB. freed automatically. The default max size is 2 MB.
Admin rights are required to execute this command. Admin rights are required to execute this command.
This command commits an open transaction. This command commits an open transaction.
......
...@@ -18,7 +18,12 @@ Change Log ...@@ -18,7 +18,12 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>ROWNUM could not be used for pagination. The follow query returned no rows: <ul><li>The default maximum log stream size is now 2 MB. This is a good value
according to some performance tests.
</li><li>New system property "h2.syncMethod" to configure what method to call when
closing the database, on checkpoint, and on CHECKPOINT SYNC. The default is "sync" which
calls RandomAccessFile.getFD().sync().
</li><li>ROWNUM could not be used for pagination. The follow query returned no rows:
select x from (select *, rownum as r from system_range(1, 3)) where r=2; select x from (select *, rownum as r from system_range(1, 3)) where r=2;
</li><li>Workaround for a java.sql.Date issue: years above 9999 are not formatted correctly. </li><li>Workaround for a java.sql.Date issue: years above 9999 are not formatted correctly.
When calling ResultSet.getString() on a date value, an alternative formatting algorithm is used. When calling ResultSet.getString() on a date value, an alternative formatting algorithm is used.
...@@ -50,7 +55,7 @@ Change Log ...@@ -50,7 +55,7 @@ Change Log
</li><li>CREATE ALIAS ... AS: Compilation was incorrect if the source code contained </li><li>CREATE ALIAS ... AS: Compilation was incorrect if the source code contained
characters that are not supported by the default file encoding. characters that are not supported by the default file encoding.
</li><li>Issue 176: the JdbcDataSource now also supports a 'description' property. </li><li>Issue 176: the JdbcDataSource now also supports a 'description' property.
</li><li>The Shell tool threw a IndexOutOfBoundsException after 20 statements. </li><li>The Shell tool threw a ArrayIndexOutOfBoundsException after 20 statements.
</li><li>When using the small version of H2 ('jarClient'), the first call to </li><li>When using the small version of H2 ('jarClient'), the first call to
Connection.createBlob (or similar) could throw a ClassNotFoundException Connection.createBlob (or similar) could throw a ClassNotFoundException
because the file org.h2.store.fs.FileSystemZip is not included. This missing class because the file org.h2.store.fs.FileSystemZip is not included. This missing class
...@@ -66,7 +71,7 @@ Change Log ...@@ -66,7 +71,7 @@ Change Log
The exception contained the text "parent not found" (version 1.2.129) or The exception contained the text "parent not found" (version 1.2.129) or
"Table not found" (version 1.2.130). "Table not found" (version 1.2.130).
</li><li>After the database was closed, a null pointer exception could occur in Database.flush. </li><li>After the database was closed, a null pointer exception could occur in Database.flush.
</li><li>An IndexOutOfBoundsException could occur in the page store (eg. on "delete from table"). Fixed. </li><li>An ArrayIndexOutOfBoundsException could occur in the page store (eg. on "delete from table"). Fixed.
</li></ul> </li></ul>
<h2>Version 1.2.130 (2010-02-26)</h2> <h2>Version 1.2.130 (2010-02-26)</h2>
......
...@@ -126,8 +126,9 @@ This seems to be a structural problem, because all operations are really slow. ...@@ -126,8 +126,9 @@ This seems to be a structural problem, because all operations are really slow.
It will be hard for the developers of Derby to improve the performance to a reasonable level. It will be hard for the developers of Derby to improve the performance to a reasonable level.
A few problems have been identified: leaving autocommit on is a problem for Derby. A few problems have been identified: leaving autocommit on is a problem for Derby.
If it is switched off during the whole test, the results are about 20% better for Derby. If it is switched off during the whole test, the results are about 20% better for Derby.
Derby supports a testing mode (system property <code>derby.system.durability=test</code>) where durability is Derby does not call FileDescriptor.sync() or FileChannel.force(..) on each commit.
disabled. According to the documentation, this setting should be used for testing only, Derby supports a testing mode (system property <code>derby.system.durability=test</code>)
where durability is disabled. According to the documentation, this setting should be used for testing only,
as the database may not recover after a crash. Enabling this setting improves performance as the database may not recover after a crash. Enabling this setting improves performance
by a factor of 2.6 (embedded mode) or 1.4 (server mode). Even if enabled, Derby is still less by a factor of 2.6 (embedded mode) or 1.4 (server mode). Even if enabled, Derby is still less
than half as fast as H2 in default mode. than half as fast as H2 in default mode.
...@@ -520,8 +521,12 @@ but not range scan (<code>WHERE ID &lt; ?</code>). To use hash indexes, use HASH ...@@ -520,8 +521,12 @@ but not range scan (<code>WHERE ID &lt; ?</code>). To use hash indexes, use HASH
<h3>Use Prepared Statements</h3> <h3>Use Prepared Statements</h3>
<p> <p>
If possible, use prepared statements with parameters. If possible, use prepared statements with parameters.
</p>
<h3>Prepared Statements and IN(...)</h3>
<p>
Avoid generating SQL statements with a variable size IN(...) list. Avoid generating SQL statements with a variable size IN(...) list.
Instead, use arrays as in the following example: Instead, use a prepared statement with arrays as in the following example:
</p> </p>
<pre> <pre>
PreparedStatement prep = conn.prepareStatement( PreparedStatement prep = conn.prepareStatement(
......
...@@ -32,12 +32,12 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -32,12 +32,12 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
<h2>Priority 2</h2> <h2>Priority 2</h2>
<ul><li>Improve test code coverage. <ul><li>Improve test code coverage.
</li><li>Automatic collection of statistics (auto ANALYZE; AUTOVACUUM). See http://www.postgresql.org/docs/current/static/routine-vacuuming.html#AUTOVACUUM
</li><li>Test multi-threaded in-memory db access </li><li>Test multi-threaded in-memory db access
</li><li>MVCC: select for update should only lock the selected rows. </li><li>MVCC: select for update should only lock the selected rows.
</li><li>Option to shutdown all the running servers (on the same VM). </li><li>Option to shutdown all the running servers (on the same VM).
</li><li>Full outer joins. </li><li>Full outer joins.
</li><li>Support nested outer joins (see todo.txt). </li><li>Support nested outer joins (see todo.txt).
</li><li>Automatic collection of statistics (auto ANALYZE; AUTOVACUUM). See http://www.postgresql.org/docs/current/static/routine-vacuuming.html#AUTOVACUUM
</li><li>Support mixed clustering mode (one embedded, others in server mode). </li><li>Support mixed clustering mode (one embedded, others in server mode).
</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>Test very large databases and LOBs (up to 256 GB). </li><li>Test very large databases and LOBs (up to 256 GB).
...@@ -408,7 +408,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -408,7 +408,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Support date/time/timestamp as documented in http://en.wikipedia.org/wiki/ISO_8601 </li><li>Support date/time/timestamp as documented in http://en.wikipedia.org/wiki/ISO_8601
</li><li>PostgreSQL compatibility: when in PG mode, treat BYTEA data like PG. </li><li>PostgreSQL compatibility: when in PG mode, treat BYTEA data like PG.
</li><li>MySQL compatibility: REPLACE http://dev.mysql.com/doc/refman/6.0/en/replace.html </li><li>MySQL compatibility: REPLACE http://dev.mysql.com/doc/refman/6.0/en/replace.html
</li><li>Support =ANY(array) as in PostgreSQL. </li><li>Support =ANY(array) as in PostgreSQL. See also http://www.postgresql.org/docs/8.0/interactive/arrays.html
</li><li>IBM DB2 compatibility: support PREVIOUS VALUE FOR sequence. </li><li>IBM DB2 compatibility: support PREVIOUS VALUE FOR sequence.
</li><li>MySQL compatibility: alter table add index i(c), add constraint c foreign key(c) references t(c); </li><li>MySQL compatibility: alter table add index i(c), add constraint c foreign key(c) references t(c);
</li><li>Compatibility: use different LIKE ESCAPE characters depending on the mode (disable for Derby, HSQLDB, DB2, Oracle, MSSQLServer). </li><li>Compatibility: use different LIKE ESCAPE characters depending on the mode (disable for Derby, HSQLDB, DB2, Oracle, MSSQLServer).
...@@ -478,6 +478,9 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -478,6 +478,9 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Make the cache scan resistant (currently a small cache is faster than a large cache for large table scans). </li><li>Make the cache scan resistant (currently a small cache is faster than a large cache for large table scans).
</li><li>Issue 178: Optimizer: index usage when both ascending and descending indexes are available </li><li>Issue 178: Optimizer: index usage when both ascending and descending indexes are available
</li><li>Issue 179: Related subqueries in HAVING clause </li><li>Issue 179: Related subqueries in HAVING clause
</li><li>IBM DB2 compatibility: NOT NULL WITH DEFAULT. Similar to MySQL Mode.convertInsertNullToZero.
</li><li>Creating primary key: always create a constraint.
</li><li>Support a data type "timestamp with timezone" using java.util.Calendar.
</li></ul> </li></ul>
<h2>Not Planned</h2> <h2>Not Planned</h2>
......
...@@ -164,7 +164,8 @@ public class FullText { ...@@ -164,7 +164,8 @@ public class FullText {
} }
/** /**
* Re-creates the full text index for this database * Re-creates the full text index for this database. Calling this method is
* usually not needed, as the index is kept up-to-date automatically.
* *
* @param conn the connection * @param conn the connection
*/ */
......
...@@ -129,7 +129,8 @@ public class FullTextLucene extends FullText { ...@@ -129,7 +129,8 @@ public class FullTextLucene extends FullText {
//## Java 1.4 end ## //## Java 1.4 end ##
/** /**
* Re-creates the full text index for this database. * Re-creates the full text index for this database. Calling this method is
* usually not needed, as the index is kept up-to-date automatically.
* *
* @param conn the connection * @param conn the connection
*/ */
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论