提交 632bf2a0 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation & prepare release.

上级 c7c8e5d2
......@@ -18,6 +18,10 @@ Change Log
<h1>Change Log</h1>
<h2>Next Version (unreleased)</h2>
<ul><li>-
</li></ul>
<h2>Version 1.2.137 (2010-06-06)</h2>
<ul><li>Statements with a nested query and a condition that was always NULL threw an
IndexOutOfBoundsException. Example: select * from (select null as x) where x=1
</li><li>Experimental feature to support very large transactions (except when using MVCC).
......@@ -25,7 +29,7 @@ Change Log
If enabled, changes to tables without a primary key can be buffered to disk.
The plan is to enable this feature by default in version 1.3.x.
</li><li>H2 Console: editing result sets is now also working for database other than H2,
if they do support updateable result sets. The query must be prefixed with "@edit".
if they do support updatable result sets. Add "@edit" before the query.
Only limited testing has been done on this feature,
some data types may not work (please provide feedback if you find issues).
</li><li>Cluster: an open transaction was committed when a cluster node was stopped
......@@ -690,31 +694,5 @@ Change Log
This mechanism is still experimental, and the file format will change, but it is quite stable now.
</li></ul>
<h2>Version 1.1.115 (2009-06-21)</h2>
<ul><li>The new storage mechanism is now alpha quality. To try it out, set the system property
"h2.pageStore" to "true" (java -Dh2.pageStore=true). There are still bugs to be found and fixed,
for example inserting many rows references a lot of main memory. Performance is currently
about the same as with the regular storage mechanism, but the database file size is smaller.
The file format is not stable yet.
</li><li>ALTER TABLE could throw an exception "object already exists" in some cases.
</li><li>Views: in some situations, an ArrayIndexOutOfBoundsException
was thrown when using the same view concurrently.
</li><li>java.util.UUID is now supported in PreparedStatement.setObject and user defined Java functions.
ResultSet.getObject() returns a java.util.UUID when using the UUID data type.
</li><li>H2 Console: the language was reset to the browser language when disconnecting.
</li><li>H2 Console: improved Polish translation.
</li><li>Server-less multi-connection mode: more bugs are fixed.
</li><li>The download page now included the SHA1 checksums.
</li><li>Shell tool: the file encoding workaround is now documented
if you run java org.h2.tools.Shell -?.
</li><li>The RunScript tool and SQL statement did not work with the compression method LZF.
</li><li>Fulltext search: searching for NULL or an empty string threw an exception.
</li><li>Lucene fulltext search: FTL_DROP_ALL did not drop the triggers.
</li><li>Backup: if the database contained CLOB or BLOB data, the backup
included a file entry for the LOB directory. This caused the
restore to fail.
</li><li>Data types: LONG is now an alias for BIGINT.
</li></ul>
<!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html>
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.
......@@ -14,12 +14,12 @@ public class Constants {
/**
* The build id is incremented for each public release.
*/
public static final int BUILD_ID = 136;
public static final int BUILD_ID = 137;
/**
* The build id of the last stable release.
*/
public static final int BUILD_ID_STABLE = 135;
public static final int BUILD_ID_STABLE = 136;
/**
* If H2 is compiled to be included in a product, this should be set to
......@@ -32,12 +32,12 @@ public class Constants {
/**
* The build date is updated for each public release.
*/
public static final String BUILD_DATE = "2010-05-24";
public static final String BUILD_DATE = "2010-06-06";
/**
* The build date is updated for each public release.
*/
public static final String BUILD_DATE_STABLE = "2010-05-08";
public static final String BUILD_DATE_STABLE = "2010-05-24";
/**
* The TCP protocol version number. This protocol is used by the TCP
......
......@@ -206,6 +206,13 @@ public class UndoLog {
}
}
/**
* Get the table id for this undo log. If the table is not registered yet,
* this is done as well.
*
* @param table the table
* @return the id
*/
int getTableId(Table table) {
int id = table.getId();
if (tables == null) {
......@@ -217,6 +224,13 @@ public class UndoLog {
return id;
}
/**
* Get the table for this id. The table must be registered for this undo log
* first by calling getTableId.
*
* @param id the table id
* @return the table object
*/
Table getTable(int id) {
return tables.get(id);
}
......
......@@ -175,6 +175,13 @@ public class UndoLogRecord {
state = STORED;
}
/**
* Load an undo log record row using a buffer.
*
* @param buff the buffer
* @param log the log
* @return the undo log record
*/
static UndoLogRecord loadFromBuffer(Data buff, UndoLog log) {
UndoLogRecord rec = new UndoLogRecord(null, (short) 0, null);
int pos = buff.length();
......
......@@ -7,6 +7,7 @@
CREATE TABLE VERSION(ID INT PRIMARY KEY, VERSION VARCHAR, CREATED VARCHAR);
INSERT INTO VERSION VALUES
(87, '1.2.137', '2010-06-06'),
(86, '1.2.136', '2010-05-24'),
(85, '1.2.135', '2010-05-08'),
(84, '1.2.134', '2010-04-23'),
......
......@@ -299,12 +299,12 @@ java org.h2.test.TestAll timer
System.setProperty("h2.check2", "true");
int initialTest;
System.setProperty("h2.largeTransactions", "true");
System.setProperty("h2.lobInDatabase", "true");
System.setProperty("h2.analyzeAuto", "100");
// System.setProperty("h2.largeTransactions", "true");
// System.setProperty("h2.lobInDatabase", "true");
// System.setProperty("h2.analyzeAuto", "100");
int speedup;
System.setProperty("h2.syncMethod", "");
// System.setProperty("h2.syncMethod", "");
/*
......
......@@ -74,9 +74,9 @@ on 1=1;
-- 1 1 3 3
-- HSQLDB: Unexpected token B, requires SELECT in statement
select a.pk, a_base.pk, bpk, bbasepk from a inner join base a_base
select a.pk, a_base.pk, b_pk, b_base_pk from a inner join base a_base
on a.pk = a_base.pk left outer join
( select b.pk bpk, b_base.pk bbasepk from b inner join base b_base on b.pk = b_base.pk and b_base.deleted = 0 ) x
( select b.pk b_pk, b_base.pk b_base_pk from b inner join base b_base on b.pk = b_base.pk and b_base.deleted = 0 ) x
on 1=1;
-- PostgreSQL, MySQL, Derby, H2:
-- 1 1 3 3
......
......@@ -645,4 +645,5 @@ determine timestampdiff harmony doap shortdesc wireless iceland sigurdsson
darri chunks bjorn chunked watson regardless usefulinc represented pushd
recorder grajciar recording slovensky uninitialized arriving lubomir unchanged
erik dick calculations lutin cite bom evaluating telegard excel bbs deprecation
importing cumulative fired convenient sums judged anybody vacuum
importing cumulative fired convenient sums judged anybody vacuum encountered
corresponds
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论