提交 fe2cf166 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation

上级 91064b32
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Advanced
</title>
......@@ -316,17 +316,23 @@ To use the MVCC feature, append <code>;MVCC=TRUE</code> to the database URL:
jdbc:h2:~/test;MVCC=TRUE
</pre>
<p>
MVCC is disabled by default. The MVCC feature is not fully tested yet.
The limitations of the MVCC mode are: it can not be used at the same time as
<code>MULTI_THREADED=TRUE</code>;
the complete undo log (the list of uncommitted changes) must fit in memory when using multi-version concurrency.
The setting <code>MAX_MEMORY_UNDO</code> has no effect.
It is not possible to enable or disable this setting while the database is already open.
The setting must be specified in the first connection (the one that opens the database).
It is not possible to enable or disable this setting while the database is already open.
</p>
<p>
If MVCC is enabled, changing the lock mode (<code>LOCK_MODE</code>) has no effect.
</p>
The MVCC mode is enabled by default in version 1.4.x,
with the default MVStore storage engine.
MVCC is disabled by default when using the PageStore storage engine
(which is the default in version 1.3.x).
The following applies when using the PageStore storage engine:
The MVCC feature is not fully tested yet.
The limitations of the MVCC mode are:
with the PageStore storage engine, it can not be used at the same time as
<code>MULTI_THREADED=TRUE</code>;
the complete undo log (the list of uncommitted changes) must fit in memory when using multi-version concurrency.
The setting <code>MAX_MEMORY_UNDO</code> has no effect.
<h2 id="clustering">Clustering / High Availability</h2>
<p>
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Architecture
</title>
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Build
</title>
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Change Log
</title>
......@@ -20,27 +20,35 @@ Change Log
<h1>Change Log</h1>
<h2>Next Version (unreleased)</h2>
<ul><li>MVStore: when committing a session that removed LOB values,
changes were flushed unnecessarily.
<ul><li>MVStore: concurrent changes to the same row could result in
the exception "The transaction log might be corrupt for key ...".
This could only be reproduced with 3 or more threads.
</li><li>Results with CLOB or BLOB data are no longer reused.
</li><li>References to BLOB and CLOB objects now have a timeout.
The configuration setting is LOB_TIMEOUT (default 5 minutes).
This should avoid growing the database file if there are many queries that return BLOB or CLOB objects,
and the database is not closed for a longer time.
</li><li>MVStore: when committing a session that removed LOB values,
changes were flushed unnecessarily.
</li><li>Issue 610: possible integer overflow in WriteBuffer.grow().
</li><li>Issue 609: the spatial index did not support NULL (ClassCastException).
</li><li>MVStore: in some cases, CLOB/BLOB data blocks were removed
</li><li>MVStore: in some cases, CLOB/BLOB data blocks were removed
incorrectly when opening a database.
</li><li>MVStore: updates that affected many rows were were slow
in some cases if there was a secondary index.
</li><li>Using "runscript" with autocommit disabled could result
</li><li>Using "runscript" with autocommit disabled could result
in a lock timeout on the internal table "SYS".
</li><li>Issue 603: there was a memory leak when using H2 in a web application.
Apache Tomcat logged an error message: "The web application ...
Apache Tomcat logged an error message: "The web application ...
created a ThreadLocal with key of type [org.h2.util.DateTimeUtils$1]".
</li><li>When using the MVStore,
running a SQL script generate by the Recover tool from a PageStore file
failed with a strange error message (NullPointerException),
failed with a strange error message (NullPointerException),
now a clear error message is shown.
<li><li>Issue 605: with version 1.4.186, opening a database could result in
</li><li>Issue 605: with version 1.4.186, opening a database could result in
an endless loop in LobStorageMap.init.
</li><li>Queries that use the same table alias multiple times now work.
Before, the select expression list was expanded incorrectly.
Before, the select expression list was expanded incorrectly.
Example: "select * from a as x, b as x".
</li><li>The MySQL compatibility feature "insert ... on duplicate key update"
did not work with a non-default schema.
......@@ -54,13 +62,14 @@ Change Log
</li><li>MVStore: use RandomAccessFile file system if the file name starts with "file:".
</li><li>Allow DATEADD to take a long value for count when manipulating milliseconds.
</li><li>When using MV_STORE=TRUE and the SET CACHE_SIZE setting, the cache size was incorrectly set,
so that it was effectly 1024 times smaller than it should be.
so that it was effectively 1024 times smaller than it should be.
</li><li>Concurrent CREATE TABLE... IF NOT EXISTS in the presence of MULTI_THREAD=TRUE could
throw an exception.
</li><li>Fix bug in MVStore when creating lots of temporary tables, where we could run out of
transaction IDs.
</li><li>Add support for PostgreSQL STRING_AGG function. Patch by Fred Aquiles.
</li><li>Fix bug in "jdbc:h2:nioMemFS" isRoot() function
</li><li>Fix bug in "jdbc:h2:nioMemFS" isRoot() function.
Also, the page size was increased to 64 KB.
</li></ul>
<h2>Version 1.4.186 Beta (2015-03-02)</h2>
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
H2 Database Engine
</title>
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Data Types
</title>
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Downloads
</title>
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Frequently Asked Questions
</title>
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Features
</title>
......@@ -1662,7 +1662,7 @@ public static class MyTableEngine implements org.h2.api.TableEngine {
</pre>
and then create the table from SQL like this:
<pre>
CREATE TABLE TEST(ID INT, NAME VARCHAR)
CREATE TABLE TEST(ID INT, NAME VARCHAR)
ENGINE "acme.MyTableEngine";
</pre>
</p>
......
......@@ -5,7 +5,7 @@ Initial Developer: H2 Group
-->
<html><head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Fragments</title>
<!-- [search] { -->
......
......@@ -5,7 +5,7 @@ Initial Developer: H2 Group
-->
<html><head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>H2 Database Engine</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript">
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Functions
</title>
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
SQL Grammar
</title>
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
History
</title>
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Installation
</title>
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
JaQu
</title>
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
License
</title>
......@@ -61,11 +61,11 @@ and list all open source libraries, each one with its license and disclaimer.
For H2, a simple solution is to copy the following text below. You may also include a copy of the complete license.
</p>
<pre>
This software contains unmodified binary redistributions for
H2 database engine (http://www.h2database.com/),
which is dual licensed and available under the MPL 2.0
This software contains unmodified binary redistributions for
H2 database engine (http://www.h2database.com/),
which is dual licensed and available under the MPL 2.0
(Mozilla Public License) or under the EPL 1.0 (Eclipse Public License).
An original copy of the license agreement can be found at:
An original copy of the license agreement can be found at:
http://www.h2database.com/html/license.html
</pre>
......@@ -156,8 +156,8 @@ http://www.h2database.com/html/license.html
<p>If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached.</p>
<h3>Exhibit A - Source Code Form License Notice</h3>
<pre>
This Source Code Form is subject to the terms of the Mozilla
Public License, v. 2.0. If a copy of the MPL was not distributed
This Source Code Form is subject to the terms of the Mozilla
Public License, v. 2.0. If a copy of the MPL was not distributed
with this file, you can obtain one at http://mozilla.org/MPL/2.0
</pre>
<p>If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.</p>
......
......@@ -6,7 +6,7 @@ Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
H2 In Use and Links
</title>
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="H2 is free SQL database written in Java"/>
<title>
H2 Database Engine
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="H2 is free SQL database written in Java" />
<title>
H2 Database Engine
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
MVStore
</title>
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Performance
</title>
......@@ -717,7 +717,7 @@ then the value of this column is the row id, otherwise the database generates th
There is a (non-standard) way to access the row id: using the <code>_ROWID_</code> pseudo-column:
</p>
<pre>
CREATE TABLE ADDRESS(FIRST_NAME VARCHAR,
CREATE TABLE ADDRESS(FIRST_NAME VARCHAR,
NAME VARCHAR, CITY VARCHAR, PHONE VARCHAR);
INSERT INTO ADDRESS VALUES('John', 'Miller', 'Berne', '123 456 789');
INSERT INTO ADDRESS VALUES('Philip', 'Jones', 'Berne', '123 012 345');
......@@ -774,8 +774,8 @@ This index is also used when reading all rows, sorted by the indexed columns.
However, if only the first name is known, then this index is not used:
</p>
<pre>
EXPLAIN SELECT PHONE FROM ADDRESS
WHERE CITY = 'Berne' AND NAME = 'Miller'
EXPLAIN SELECT PHONE FROM ADDRESS
WHERE CITY = 'Berne' AND NAME = 'Miller'
AND FIRST_NAME = 'John';
SELECT
PHONE
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Quickstart
</title>
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Roadmap
</title>
......
......@@ -4,7 +4,7 @@ and under the Eclipse Public License, Version 1.0
Initial Developer: H2 Group
-->
<html><head>
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Source Code Viewer</title>
</head>
<script type="text/javascript">
......
......@@ -6,8 +6,7 @@ Initial Developer: H2 Group
-->
<html><head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Error Analyzer</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<style type="text/css">
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
Tutorial
</title>
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="H2 is free SQL database written in Java"/>
<title>
H2 Database Engine (redirect)
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>H2 Documentation</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>H2 Documentation</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
......
......@@ -7,7 +7,7 @@ Initial Developer: H2 Group
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>API Overview</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
......
......@@ -66,6 +66,7 @@
90036=Sequence {0} not found
90037=View {0} not found
90038=View {0} already exists
90039=This CLOB or BLOB reference timed out: {0}
90040=Admin rights are required for this operation
90041=Trigger {0} already exists
90042=Trigger {0} not found
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论