提交 9104a8e9 authored 作者: Thomas Mueller's avatar Thomas Mueller

--no commit message

--no commit message
上级 bba0bbb6
......@@ -16,7 +16,8 @@ Change Log
<h1>Change Log</h1>
<h2>Next Version (unreleased)</h2>
<ul><li>Fixed the Oracle mode: Oracle allows multiple rows with NULL in a unique index.
<ul><li>Views with multiple joined tables (where one was an outer join) couldn't be used in some cases. Fixed.
</li><li>Fixed the Oracle mode: Oracle allows multiple rows with NULL in a unique index.
</li><li>Running out of memory could result in incomplete transactions or corrupted databases. Fixed.
</li><li>When using order by in a query that uses the same table multiple times, the order could
be incorrect. Fixed.
......
......@@ -116,24 +116,37 @@ limit is 4 GB for the data.
That is not easy to say. It is still a quite new product. A lot of tests have been written,
and the code coverage of these tests is very high. Randomized stress tests
are run regularly. But as this is a relatively new product, there are probably
some problems that have not yet been found.
some problems that have not yet been found (as with most software). Some features are known
to be dangerous by design, and some problems are hard to solve. Those are:
</p>
<ul>
<li>Using SET LOG 0 to disable the transaction log file.
</li><li>Using the transaction isolation level READ_UNCOMMITTED (LOCK_MODE 0) while at the same time using multiple
connections may result in inconsistent transactions.
</li></ul>
<p>
In addition to that, running out of memory should be avoided.
In some versions, OutOfMemory errors while using the database could corrupt a databases.
Not all such problems may be fixed.
</p>
<p>
Areas that are not fully tested:
</p>
<ul>
<li>Platforms other than Windows XP and the Sun JVM 1.4 and 1.5
</li><li>The MVCC (multi version concurrency) mode
</li><li>The persistent linear hash index
</li><li>Cluster mode, 2-Phase Commit, Savepoints
</li><li>Multi-Threading and using multiple connections
</li><li>24/7 operation and large databases (500 MB and up)
</li><li>Cluster mode, 2-phase commit, savepoints
</li><li>24/7 operation
</li><li>Some operations on databases larger than 500 MB may be slower than expected
</li><li>Updatable result sets
</li><li>Referential integrity and check constraints, Triggers
</li><li>ALTER TABLE statements, Views, Linked Tables, Schema, UNION
</li><li>Referential integrity and check constraints, triggers
</li><li>ALTER TABLE statements, views, linked tables, schema, UNION
</li><li>Not all built-in functions are completely tested
</li><li>The Optimizer may not always select the best plan
</li><li>The optimizer may not always select the best plan
</li><li>Data types BLOB, CLOB, VARCHAR_IGNORECASE, OTHER
</li><li>Server mode (well tested, but not as well as Embedded mode)
</li><li>Wide indexes with large VARCHAR or VARBINARY columns and / or with a lot of columns
</li><li>Multi-threading and using multiple connections
</li></ul>
<p>
......@@ -141,7 +154,6 @@ Areas considered Experimental:
</p>
<ul>
<li>The PostgreSQL server
</li><li>Linear Hash Index
</li><li>Compatibility modes for other databases (only some features are implemented)
</li><li>The ARRAY data type and related functionality
</li></ul>
......
......@@ -32,7 +32,7 @@ SQL Grammar
</c:forEach>
<h2>System Tables</h2>
<a href="#information_schema">Information Schema</a><br />
<a href="#range_table">Range table</a><br />
<a href="#range_table">Range Table</a><br />
<c:forEach var="item" items="commands">
<br />
......@@ -75,7 +75,7 @@ of all tables in the database as well as the current settings.
</table>
<br />
<a name="range_table"></a><h3>Range table</h3>
<a name="range_table"></a><h3>Range Table</h3>
<p>
The range table is a dynamic system table that contains all values from a start to an end value.
The table contains one column called X. Both the start and end values are included in the result.
......
......@@ -368,6 +368,9 @@ Roadmap
</li><li>H2 Console: in-place autocomplete (need to merge query and result frame, use div).
</li><li>MySQL compatibility: update test1 t1, test2 t2 set t1.id = t2.id where t1.id = t2.id;
</li><li>Oracle: support DECODE method (convert to CASE WHEN).
</li><li>Support large databases: split LOB (BLOB, CLOB) to multiple directories / disks (similar to tablespaces).
</li><li>Support to assign a primary key index a user defined name.
</li><li>Cluster: Add feature to make sure cluster nodes can not get out of sync (for example by stopping one process).
</li></ul>
<h2>Not Planned</h2>
......
......@@ -141,7 +141,7 @@ public class ViewIndex extends BaseIndex {
return 10;
}
String sql = query.getPlanSQL();
query = (Query) session.prepare(sql);
query = (Query) session.prepare(sql, true);
}
double cost = query.getCost();
cachedCost = new CostElement();
......
......@@ -96,8 +96,8 @@ toolbar.run=Ausf&uuml;hren (Strg+Enter)
toolbar.sqlStatement=SQL Befehl
tools.backup=Backup
tools.backup.help=Erzeugt eine Sichheitskopie eine Datenbank.
tools.changeFileEncryption=\#\#ChangeFileEncryption \#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm. \#Erlaubt, Datei Verschl&uuml;sselungs-Passwort und -Algorithmus einer Datenbank zu &auml;ndern.
tools.changeFileEncryption=ChangeFileEncryption
tools.changeFileEncryption.help=Erlaubt, Datei Verschl&uuml;sselungs-Passwort und -Algorithmus einer Datenbank zu &auml;ndern.
tools.cipher=Verschl&uuml;sselung (AES oder XTEA)
tools.commandLine=Kommandozeile
tools.convertTraceFile=ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=Ejecutar (Ctrl+Enter)
toolbar.sqlStatement=Instrucci&oacute;n SQL
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=Ex&eacute;cuter (Ctrl+Enter)
toolbar.sqlStatement=Instruction SQL
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=V&eacute;grehajt&aacute;s (Ctrl+Enter)
toolbar.sqlStatement=SQL utas&iacute;t&aacute;s
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=Jalankan (Ctrl+Enter)
toolbar.sqlStatement=Pernyataan SQL
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=Esegui (Ctrl+Invio)
toolbar.sqlStatement=Comando SQL
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=\u5B9F\u884C (Ctrl+Enter)
toolbar.sqlStatement=SQL\u30B9\u30C6\u30FC\u30C8\u30E1\u30F3\u30C8
tools.backup=\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7
tools.backup.help=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\u6697\u53F7\u5316\u65B9\u5F0F (AES or XTEA)
tools.commandLine=\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3
tools.convertTraceFile=\u30C8\u30EC\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u5909\u63DB
......
......@@ -96,8 +96,8 @@ toolbar.run=Uitvoeren (Ctrl+Enter)
toolbar.sqlStatement=SQL statement
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=Wykonaj (Ctrl+Enter)
toolbar.sqlStatement=Zapytanie SQL
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=Executar comando (Ctrl+Enter)
toolbar.sqlStatement=Comando SQL
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=Executar comando (Ctrl+Enter)
toolbar.sqlStatement=Comando SQL
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=&\#1042;&\#1099;&\#1087;&\#1086;&\#1083;&\#1085;&\#1080;&\#1090;&\#1
toolbar.sqlStatement=SQL-&\#1079;&\#1072;&\#1087;&\#1088;&\#1086;&\#1089;
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=&\#304;&\#351;lemi y&\#252;r&\#252;t
toolbar.sqlStatement=SQL komutu
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=&\#x0412;&\#x0438;&\#x043A;&\#x043E;&\#x043D;&\#x0430;&\#x0442;&\#x0
toolbar.sqlStatement=SQL &\#x0437;&\#x0430;&\#x043F;&\#x0438;&\#x0442;
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=\u6267\u884C (Ctrl+Enter)
toolbar.sqlStatement=SQL \u8BED\u53E5
tools.backup=\#Backup
tools.backup.help=\#Creates a backup of a database.
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\#Cipher (AES or XTEA)
tools.commandLine=\#Command line
tools.convertTraceFile=\#ConvertTraceFile
......
......@@ -96,8 +96,8 @@ toolbar.run=\u57F7\u884C (Ctrl+Enter)
toolbar.sqlStatement=SQL \u8FF0\u53E5
tools.backup=\u5099\u4EFD
tools.backup.help=\u5EFA\u7ACB\u8CC7\u6599\u5EAB\u7684\u5099\u4EFD
tools.changeFileEncryption=\#\#ChangeFileEncryption
tools.changeFileEncryption.help=\#\#Allows changing the database file encryption password and algorithm.
tools.changeFileEncryption=\#ChangeFileEncryption
tools.changeFileEncryption.help=\#Allows changing the database file encryption password and algorithm.
tools.cipher=\u52A0\u5BC6 (AES \u6216 XTEA)
tools.commandLine=\u547D\u4EE4\u5217
tools.convertTraceFile=\u8F49\u63DBTrace\u6A94\u6848
......
......@@ -270,61 +270,7 @@ java org.h2.test.TestAll timer
/*
drop view viewa;
drop table tablea;
drop table tableb;
drop table tablec;
CREATE TABLE tablea(id INT);
CREATE TABLE tableb(id INT);
CREATE TABLE tablec(id INT);
CREATE VIEW viewa AS
SELECT tablec.id FROM tablec
INNER JOIN tablea ON tablec.id = tablea.id
LEFT JOIN tableb ON tableb.id = tablea.id;
SELECT * FROM tablec INNER JOIN viewa ON tablec.id = viewa.id;
drop view view_a;
drop table table_a;
drop table table_b;
drop table table_c;
CREATE TABLE table_a(id INT, left_id INT);
CREATE TABLE table_b(id INT);
CREATE TABLE table_c(left_id INT);
CREATE VIEW view_a AS
SELECT table_c.left_id
FROM table_c
INNER JOIN table_a ON table_c.left_id = table_a.left_id
LEFT JOIN table_b ON table_b.id = table_a.id;
SELECT * FROM table_c INNER JOIN view_a ON table_c.left_id = view_a.left_id;
drop view view_a;
drop table table_a;
drop table table_b;
drop table table_c;
CREATE TABLE table_a(id INT, left_id INT);
CREATE TABLE table_b(id INT);
CREATE TABLE table_c(left_id INT, center_id INT);
CREATE VIEW view_a AS
SELECT table_c.center_id
FROM table_c
INNER JOIN table_a ON table_c.left_id = table_a.left_id
LEFT JOIN table_b ON table_b.id = table_a.id;
SELECT * FROM table_c INNER JOIN view_a ON table_c.center_id = view_a.center_id;
drop view view_b;
drop view view_a;
drop table table_a;
drop table table_b;
drop table table_c;
CREATE TABLE table_a(a_id INT PRIMARY KEY, left_id INT, right_id INT);
CREATE TABLE table_b(b_id INT PRIMARY KEY, a_id INT);
CREATE TABLE table_c(left_id INT, right_id INT, center_id INT);
CREATE VIEW view_a AS
SELECT table_c.center_id, table_a.a_id, table_b.b_id
FROM table_c
INNER JOIN table_a ON table_c.left_id = table_a.left_id AND table_c.right_id = table_a.right_id
LEFT JOIN table_b ON table_b.a_id = table_a.a_id;
SELECT * FROM table_c INNER JOIN view_a ON table_c.center_id = view_a.center_id;
add download link
Check Eclipse DTP, see also
https://bugs.eclipse.org/bugs/show_bug.cgi?id=137701
......
......@@ -47,8 +47,8 @@ public class TestOutOfMemory extends TestBase {
conn.close();
}
private void eatMemory(int remainingKiloBytes) {
byte[] reserve = new byte[remainingKiloBytes * 1024];
private void eatMemory(int remainingKB) {
byte[] reserve = new byte[remainingKB * 1024];
int max = 128 * 1024 * 1024;
int div = 2;
while (true) {
......
......@@ -31,7 +31,7 @@ I am sorry to say that, but it looks like a corruption problem. I am very intere
- You can find out if the database is corrupted when running SCRIPT TO 'test.sql'
- What version H2 are you using?
- With which version of H2 was this database created? You can find it out using:
select * from information_schema.settings where name='info.BUILD_ID'
select * from information_schema.settings where name='CREATE_BUILD'
- Did you use multiple connections?
- The first workarounds is: append ;RECOVER=1 to the database URL.
Does it work when you do this?
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论