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

--no commit message

--no commit message
上级 e64ccfd2
...@@ -62,6 +62,8 @@ Advanced Topics ...@@ -62,6 +62,8 @@ Advanced Topics
Settings Read from System Properties</a><br /> Settings Read from System Properties</a><br />
<a href="#server_bind_address"> <a href="#server_bind_address">
Setting the Server Bind Address</a><br /> Setting the Server Bind Address</a><br />
<a href="#file_system">
Pluggable File System</a><br />
<a href="#limits_limitations"> <a href="#limits_limitations">
Limits and Limitations</a><br /> Limits and Limitations</a><br />
<a href="#glossary_links"> <a href="#glossary_links">
...@@ -1118,13 +1120,35 @@ This setting is used for both regular server sockets and for SSL server sockets. ...@@ -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. IPv4 and IPv6 address formats are supported.
</p> </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> <br /><a name="limits_limitations"></a>
<h2>Limits and Limitations</h2> <h2>Limits and Limitations</h2>
<p> <p>
This database has the following known limitations: This database has the following known limitations:
</p> </p>
<ul> <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 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. 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. </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 ...@@ -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: files of 1 GB by default. An example database URL is:
<code>jdbc:h2:split:~/test</code>. <code>jdbc:h2:split:~/test</code>.
</li><li>The maximum number of rows per table is 2'147'483'648. </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 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. 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. </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 ...@@ -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; in order by, group by, having, and so on;
maximum rows per query; maximum rows per query;
maximum columns per table, columns per index, indexes per table, lob columns per table, and so on; 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. 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 </li><li>For limitations on data types, see the documentation of the respective Java data type
or the data type documentation of this database. or the data type documentation of this database.
......
...@@ -18,7 +18,11 @@ Change Log ...@@ -18,7 +18,11 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <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>Issue 101: Rollback of a large transaction could fail.
</li><li>Various bugfixes and improvements in the page store mechanism (still experimental). </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. </li><li>The functions LENGTH, OCTET_LENGTH, and BIT_LENGTH now return BIGINT.
......
...@@ -348,7 +348,7 @@ Features ...@@ -348,7 +348,7 @@ Features
<td>Footprint (jar/dll size)</td> <td>Footprint (jar/dll size)</td>
<td>~1 MB *5</td> <td>~1 MB *5</td>
<td>~2 MB</td> <td>~2 MB</td>
<td>~600 KB</td> <td>~700 KB</td>
<td>~4 MB</td> <td>~4 MB</td>
<td>~6 MB</td> <td>~6 MB</td>
</tr> </tr>
......
...@@ -435,6 +435,9 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -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>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>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>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> </li></ul>
<h2>Not Planned</h2> <h2>Not Planned</h2>
......
...@@ -619,6 +619,11 @@ BACKUP TO 'backup.zip' ...@@ -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 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. the database must not be in use while running this program.
</p> </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> <br /><a name="command_line_tools"></a>
<h2>Command Line Tools</h2> <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 ...@@ -295,8 +295,16 @@ java org.h2.test.TestAll timer
/* /*
PostgreSQL compatibility: 2001-02-03 08:20:31+01 (:minutes optional) LIKE: Use no default escape character, except for PostgreSQL and MySQL compatibility
MySQL compatibility for "show columns from test" 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 better document that ddl statements commit
"This command commits an open transaction." "This command commits an open transaction."
...@@ -347,10 +355,10 @@ kill -9 `jps -l | grep "org.h2.test.TestAll" | cut -d " " -f 1` ...@@ -347,10 +355,10 @@ kill -9 `jps -l | grep "org.h2.test.TestAll" | cut -d " " -f 1`
test.runTests(); test.runTests();
TestPerformance.main(new String[]{ "-init", "-db", "1"}); TestPerformance.main(new String[]{ "-init", "-db", "1"});
System.setProperty(SysProperties.H2_PAGE_STORE, "false"); // System.setProperty(SysProperties.H2_PAGE_STORE, "false");
test.pageStore = false; // test.pageStore = false;
test.runTests(); // test.runTests();
TestPerformance.main(new String[]{ "-init", "-db", "1"}); // TestPerformance.main(new String[]{ "-init", "-db", "1"});
} }
System.out.println(TestBase.formatTime(System.currentTimeMillis() - time) + " total"); System.out.println(TestBase.formatTime(System.currentTimeMillis() - time) + " total");
} }
......
...@@ -596,4 +596,4 @@ ordsys ordplugins mgmt dmsys exfsys mdsys sysman informtn textarray tmzone cdo ...@@ -596,4 +596,4 @@ ordsys ordplugins mgmt dmsys exfsys mdsys sysman informtn textarray tmzone cdo
emf decompile streamed setmaxlengthinplacelob setcompresslob compressing emf decompile streamed setmaxlengthinplacelob setcompresslob compressing
compressible subclass ints seeks kilobytes capitalized sqlj psm sigmod acm compressible subclass ints seeks kilobytes capitalized sqlj psm sigmod acm
shrinking bsdiff toward markets hispanic rad dinamica treat contributing shrinking bsdiff toward markets hispanic rad dinamica treat contributing
fraction fraction splits uni stackable snapshots
\ No newline at end of file \ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论