提交 180480ee authored 作者: Thomas Mueller's avatar Thomas Mueller

--no commit message

--no commit message
上级 e64ccfd2
......@@ -62,6 +62,8 @@ Advanced Topics
Settings Read from System Properties</a><br />
<a href="#server_bind_address">
Setting the Server Bind Address</a><br />
<a href="#file_system">
Pluggable File System</a><br />
<a href="#limits_limitations">
Limits and Limitations</a><br />
<a href="#glossary_links">
......@@ -1118,13 +1120,35 @@ This setting is used for both regular server sockets and for SSL server sockets.
IPv4 and IPv6 address formats are supported.
</p>
<br /><a name="file_system"></a>
<h2>Pluggable File System</h2>
<p>
This database supports a pluggable file system API. The file system implementation
is selected using a file name prefix. The following file systems are included:
</p>
<ul><li><b>zip:</b> read-only zip-file based file system. Format: zip:/zipFileName!/fileName.
</li><li><b>nio:</b> file system that uses FileChannel instead of RandomAccessFile (faster in some operating systems).
</li><li><b>nioMapped:</b> file system that uses memory mapped files (faster in some operating systems).
</li><li><b>split:</b> file system that splits files in 1 GB files (stackable with other file systems).
</li><li><b>memFS:</b> in-memory file system (experimental; used for testing).
</li><li><b>memLZF:</b> compressing in-memory file system (experimental; used for testing).
</li></ul>
<p>
As an example, to use the the <b>nio</b> file system, use the following database URL:
<code>jdbc:h2:nio:~/test</code>.
</p>
<p>
To register a new file system, extend the classes org.h2.store.fs.FileSystem and FileObject,
and call the method FileSystem.register before using it.
</p>
<br /><a name="limits_limitations"></a>
<h2>Limits and Limitations</h2>
<p>
This database has the following known limitations:
</p>
<ul>
<li>Database file size limits (excluding BLOB and CLOB data):
<li>Database file size limits (excluding BLOB and CLOB data):
With the default storage mechanism, the maximum file size is currently 256 GB for the data, and 256 GB for the index.
With the page store (experimental): 4 TB or higher.
</li><li>BLOB and CLOB size limit: every CLOB or BLOB can be up to 256 GB.
......@@ -1134,7 +1158,7 @@ workaround for this problem, it is to use the file name prefix 'split:'. In that
files of 1 GB by default. An example database URL is:
<code>jdbc:h2:split:~/test</code>.
</li><li>The maximum number of rows per table is 2'147'483'648.
</li><li>Main memory requirements: The larger the database, the more main memory is required.
</li><li>Main memory requirements: The larger the database, the more main memory is required.
With the default storage mechanism, the minimum main memory required for a 12 GB database is around 240 MB.
With the page store (experimental), the minimum main memory required is much lower, around 1 MB for each 8 GB database file size.
</li><li>Limit on the complexity of SQL statements.
......@@ -1151,7 +1175,7 @@ OR X = 2 OR X = 2 OR X = 2 OR X = 2 OR X = 2
in order by, group by, having, and so on;
maximum rows per query;
maximum columns per table, columns per index, indexes per table, lob columns per table, and so on;
maxium row length, index row length, select row length;
maximum row length, index row length, select row length;
maximum length of a varchar column, decimal column, literal in a statement.
</li><li>For limitations on data types, see the documentation of the respective Java data type
or the data type documentation of this database.
......
......@@ -18,7 +18,11 @@ Change Log
<h1>Change Log</h1>
<h2>Next Version (unreleased)</h2>
<ul><li>Support for Java 6 DatabaseMetaData.getTables, getColumns, getProcedures, and getProcedureColumns.
<ul><li>Views using functions were not re-evaluated when necessary.
</li><li>Improved MySQL compatibility for SHOW COLUMNS.
</li><li>Improved PostgreSQL compatibility for timestamp literals with timezone.
</li><li>Sergi Vladykin translated the error messages to Russian. Thanks a lot!
</li><li>Support for Java 6 DatabaseMetaData.getTables, getColumns, getProcedures, and getProcedureColumns.
</li><li>Issue 101: Rollback of a large transaction could fail.
</li><li>Various bugfixes and improvements in the page store mechanism (still experimental).
</li><li>The functions LENGTH, OCTET_LENGTH, and BIT_LENGTH now return BIGINT.
......
......@@ -348,7 +348,7 @@ Features
<td>Footprint (jar/dll size)</td>
<td>~1 MB *5</td>
<td>~2 MB</td>
<td>~600 KB</td>
<td>~700 KB</td>
<td>~4 MB</td>
<td>~6 MB</td>
</tr>
......
......@@ -435,6 +435,9 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>PostgreSQL compatibility: when in PG mode, treat BYTEA data like PG.
</li><li>Support standard MERGE statement: http://en.wikipedia.org/wiki/Merge_%28SQL%29
</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>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></ul>
<h2>Not Planned</h2>
......
......@@ -619,6 +619,11 @@ BACKUP TO 'backup.zip'
The Backup tool (org.h2.tools.Backup) can not be used to create a online backup;
the database must not be in use while running this program.
</p>
<p>
Creating a backup while the database is running is not supported, except
if the file systems support creating snapshots. The problem is that it can't
be guaranteed that the data is copied in the right order.
</p>
<br /><a name="command_line_tools"></a>
<h2>Command Line Tools</h2>
......
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.
......@@ -295,8 +295,16 @@ java org.h2.test.TestAll timer
/*
PostgreSQL compatibility: 2001-02-03 08:20:31+01 (:minutes optional)
MySQL compatibility for "show columns from test"
LIKE: Use no default escape character, except for PostgreSQL and MySQL compatibility
See DatabaseMetaData.getSearchStringEscape
PostgreSQL: select no escape character by writing ESCAPE ''
drop table test;
create table test(id int);
insert into test values(1);
select * from test where '\' like '\' escape '';
select * from test where '\' like '\';
page store: TestBtreeIndex
better document that ddl statements commit
"This command commits an open transaction."
......@@ -347,10 +355,10 @@ kill -9 `jps -l | grep "org.h2.test.TestAll" | cut -d " " -f 1`
test.runTests();
TestPerformance.main(new String[]{ "-init", "-db", "1"});
System.setProperty(SysProperties.H2_PAGE_STORE, "false");
test.pageStore = false;
test.runTests();
TestPerformance.main(new String[]{ "-init", "-db", "1"});
// System.setProperty(SysProperties.H2_PAGE_STORE, "false");
// test.pageStore = false;
// test.runTests();
// TestPerformance.main(new String[]{ "-init", "-db", "1"});
}
System.out.println(TestBase.formatTime(System.currentTimeMillis() - time) + " total");
}
......
......@@ -596,4 +596,4 @@ ordsys ordplugins mgmt dmsys exfsys mdsys sysman informtn textarray tmzone cdo
emf decompile streamed setmaxlengthinplacelob setcompresslob compressing
compressible subclass ints seeks kilobytes capitalized sqlj psm sigmod acm
shrinking bsdiff toward markets hispanic rad dinamica treat contributing
fraction
\ No newline at end of file
fraction splits uni stackable snapshots
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论