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

Documentation.

上级 015b4101
......@@ -1131,7 +1131,7 @@ SET MAX_LOG_SIZE int
","
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
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.
This command commits an open transaction.
......
......@@ -18,7 +18,12 @@ Change Log
<h1>Change Log</h1>
<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;
</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.
......@@ -50,7 +55,7 @@ Change Log
</li><li>CREATE ALIAS ... AS: Compilation was incorrect if the source code contained
characters that are not supported by the default file encoding.
</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
Connection.createBlob (or similar) could throw a ClassNotFoundException
because the file org.h2.store.fs.FileSystemZip is not included. This missing class
......@@ -66,7 +71,7 @@ Change Log
The exception contained the text "parent not found" (version 1.2.129) or
"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>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>
<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.
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.
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
disabled. According to the documentation, this setting should be used for testing only,
Derby does not call FileDescriptor.sync() or FileChannel.force(..) on each commit.
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
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.
......@@ -520,8 +521,12 @@ but not range scan (<code>WHERE ID &lt; ?</code>). To use hash indexes, use HASH
<h3>Use Prepared Statements</h3>
<p>
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.
Instead, use arrays as in the following example:
Instead, use a prepared statement with arrays as in the following example:
</p>
<pre>
PreparedStatement prep = conn.prepareStatement(
......
......@@ -32,12 +32,12 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
<h2>Priority 2</h2>
<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>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>Full outer joins.
</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>PostgreSQL catalog: use BEFORE SELECT triggers instead of views over metadata tables.
</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>.
</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>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>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).
......@@ -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>Issue 178: Optimizer: index usage when both ascending and descending indexes are available
</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>
<h2>Not Planned</h2>
......
......@@ -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
*/
......
......@@ -129,7 +129,8 @@ public class FullTextLucene extends FullText {
//## 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
*/
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论