提交 69e02858 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation.

上级 84e4616a
......@@ -256,11 +256,13 @@ To use the MVCC feature, append <code>;MVCC=TRUE</code> to the database URL:
jdbc:h2:~/test;MVCC=TRUE
</pre>
<p>
The MVCC feature is not fully tested yet.
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 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).
</p>
<h2 id="clustering">Clustering / High Availability</h2>
......
......@@ -205,7 +205,7 @@ This is not a bug. According the the JDBC specification, the method
<code>ResultSetMetaData.getColumnName()</code> should return the name of the column
and not the alias name. If you need the alias name, use
<a href="http://java.sun.com/javase/6/docs/api/java/sql/ResultSetMetaData.html#getColumnLabel(int)"><code>ResultSetMetaData.getColumnLabel()</code></a>.
Other database don't work like this (they don't follow the JDBC specification).
Some other database don't work like this yet (they don't follow the JDBC specification).
If you need compatibility with those databases, use the <a href="features.html#compatibility">Compatibility Mode</a>,
or set the system property <a href="../javadoc/org/h2/constant/SysProperties.html#h2.aliasColumnName"><code>h2.aliasColumnName</code></a>.
</p>
......
......@@ -57,6 +57,8 @@ Features
Auto-Reconnect</a><br />
<a href="#auto_mixed_mode">
Automatic Mixed Mode</a><br />
<a href="#page_size">
Page Size</a><br />
<a href="#trace_options">
Using the Trace Options</a><br />
<a href="#other_logging">
......@@ -577,6 +579,12 @@ This is achieved using different database URLs. Settings in the URLs are not cas
jdbc:h2:~/test;AUTO_SERVER=TRUE
</td>
</tr>
<tr>
<td><a href="#page_size">Page size</a></td>
<td class="notranslate">
jdbc:h2:&lt;url&gt;;PAGE_SIZE=512<br />
</td>
</tr>
<tr>
<td><a href="#other_settings">Changing other settings</a></td>
<td class="notranslate">
......@@ -1160,6 +1168,14 @@ DriverManager.getConnection("jdbc:h2:/data/test;AUTO_SERVER=TRUE");
DriverManager.getConnection("jdbc:h2:/data/test;AUTO_SERVER=TRUE");
</pre>
<h2 id="page_size">Page Size</h2>
<p>
The page size for new databases is 2 KB (2048), unless the system property
<code>h2.pageSize</code> is set to a different value, or the page size is set
explicitly in the database URL using <code>PAGE_SIZE=</code>. The page size of
existing databases can not be changed.
</p>
<h2 id="trace_options">Using the Trace Options</h2>
<p>
To find problems in an application, it is sometimes good to see what database operations
......
......@@ -43,7 +43,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Option to shutdown all the running servers (on the same VM).
</li><li>Full outer joins.
</li><li>Support nested outer joins (see todo.txt).
</li><li>Clustering: recovery needs to becomes fully automatic. Global write lock feature.
</li><li>Clustering: support mixed clustering mode (one embedded, others in server mode).
</li><li>Clustering: reads should be randomly distributed (optional) or to a designated database on RAM (parameter: READ_FROM=3).
</li><li>PostgreSQL catalog: use BEFORE SELECT triggers instead of views over metadata tables.
......@@ -60,8 +59,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Don't use deleteOnExit (bug 4513817: File.deleteOnExit consumes memory).
</li><li>Console: add accesskey to most important commands (A, AREA, BUTTON, INPUT, LABEL, LEGEND, TEXTAREA).
</li><li>Test performance again with SQL Server, Oracle, DB2.
</li><li>Test with dbmonster: http://dbmonster.kernelpanic.pl
</li><li>Test with dbcopy: http://dbcopyplugin.sourceforge.net
</li><li>Test with Spatial DB in a box / JTS: http://www.opengeospatial.org/standards/sfs - OpenGIS Implementation Specification.
</li><li>Write more tests and documentation for MVCC (Multi Version Concurrency Control).
</li><li>Find a tool to view large text file (larger than 100 MB), with find, page up and down (like less), truncate before / after.
......@@ -76,8 +73,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
ID IS NOT NULL could be converted to ID &gt;= Integer.MIN_VALUE.
</li><li>Access rights: remember the owner of an object. COMMENT: allow owner of object to change it.
</li><li>Access rights: finer grained access control (grant access for specific functions).
</li><li>Suggestion: include Jetty as Servlet Container (like LAMP).
</li><li>Trace shipping to server.
</li><li>Version check: docs / web console (using Javascript), and maybe in the library (using TCP/IP).
</li><li>Web server classloader: override findResource / getResourceFrom.
</li><li>Cost for embedded temporary view is calculated wrong, if result is constant.
......@@ -110,7 +105,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Custom class loader to reload functions on demand.
</li><li>Clustering: when a database is back alive, automatically synchronize with the master.
</li><li>Test http://mysql-je.sourceforge.net/
</li><li>EXE file: maybe use http://jsmooth.sourceforge.net
</li><li>Performance: automatically build in-memory indexes if the whole table is in memory.
</li><li>H2 Console: the webclient could support more features like phpMyAdmin.
</li><li>Use Janino to convert Java to C++.
......@@ -134,21 +128,17 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>File system that writes to two file systems (replication, replicating file system).
</li><li>Standalone tool to get relevant system properties and add it to the trace output.
</li><li>Support 'call proc(1=value)' (PostgreSQL, Oracle).
</li><li>JAMon (proxy jdbc driver).
</li><li>Console: improve editing data (Tab, Shift-Tab, Enter, Up, Down, Shift+Del?).
</li><li>Console: autocomplete Ctrl+Space inserts template.
</li><li>Option to encrypt .trace.db file.
</li><li>Write Behind Cache on SATA leads to data corruption See also http://sr5tech.com/write_back_cache_experiments.htm and http://www.jasonbrome.com/blog/archives/2004/04/03/writecache_enabled.html
</li><li>Functions with unknown return or parameter data types: serialize / deserialize.
</li><li>Test if idle TCP connections are closed, and how to disable that.
</li><li>Try using a factory for Row, Value[] (faster?), http://javolution.org/ (alternative ObjectArray / IntArray).
</li><li>Auto-Update feature for database, .jar file.
</li><li>ResultSet SimpleResultSet.readFromURL(String url): id varchar, state varchar, released timestamp.
</li><li>Partial indexing (see PostgreSQL).
</li><li>Add GUI to build a custom version (embedded, fulltext,...) using build flags.
</li><li>http://rubyforge.org/projects/hypersonic/
</li><li>Add comparator (x === y) : (x = y or (x is null and y is null)).
</li><li>Try to create trace file even for read only databases.
</li><li>Add a sample application that runs the H2 unit test and writes the result to a file (so it can be included in the user app).
</li><li>Count on a column that can not be null could be optimized to COUNT(*).
</li><li>Table order: ALTER TABLE TEST ORDER BY NAME DESC (MySQL compatibility).
......@@ -165,16 +155,12 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Use JDK 1.4 file locking for the database file and for the lock file (but not yet by default); writing a system property to detect concurrent access from the same VM (different classloaders).
</li><li>Pure SQL triggers (example: update parent table if the child table is changed).
</li><li>Add H2 to Gem (Ruby install system).
</li><li>API for functions / user tables.
</li><li>Order conditions inside AND / OR to optimize the performance.
</li><li>Support Oracle functions: TRUNC, NVL2, TO_CHAR, TO_DATE, TO_NUMBER.
</li><li>Support linked JCR tables
</li><li>Make sure H2 is supported by Execute Query: http://executequery.org/
</li><li>Read InputStream when executing, as late as possible (maybe only embedded mode). Problem with re-execute.
</li><li>Native fulltext search: min word length; store word positions
</li><li>Add an option to the SCRIPT command to generate only portable / standard SQL
</li><li>Test Dezign for Databases: http://www.datanamic.com
</li><li>Fast library for parsing / formatting: http://javolution.org/
</li><li>Updatable Views (simple cases first)
</li><li>Improve create index performance
</li><li>Implement more JDBC 4.0 features
......@@ -182,26 +168,22 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>SELECT * FROM (VALUES (...), (...), ....) AS alias(f1, ...)
</li><li>Support updatable views with join on primary keys (to extend a table)
</li><li>Public interface for functions (not public static)
</li><li>Autocomplete: if I type the name of a table that does not exist (should say: syntax not supported)
</li><li>Support reading the transaction log.
</li><li>Eliminate undo log records if stored on disk (just one pointer per block, not per record)
</li><li>Feature matrix as in <a href="http://www.inetsoftware.de/products/jdbc/mssql/features/default.asp">i-net software</a>.
</li><li>Updatable result set on table without primary key or unique index
</li><li>Use LinkedList instead of ArrayList where applicable
</li><li>Updatable result set on table without primary key or unique index.
</li><li>Use LinkedList instead of ArrayList where applicable.
</li><li>Allow execution time prepare for SELECT * FROM CSVREAD(?, 'columnNameString')
</li><li>Support % operator (modulo)
</li><li>Support % operator (modulo).
</li><li>Support JMX: create an MBean for each database and server (support JConsole).
See http://thedevcloud.blogspot.com/2008/10/displaying-hsql-database-manager-in.html
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/management/ManagementFactory.html#getPlatformMBeanServer()
http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html
</li><li>Support nested transactions
</li><li>Add a benchmark for big databases, and one for many users
</li><li>Compression in the result set (repeating values in the same column) over TCP/IP
</li><li>Support curtimestamp (like curtime, curdate)
</li><li>Support ANALYZE {TABLE|INDEX} tableName COMPUTE|ESTIMATE|DELETE STATISTICS ptnOption options
</li><li>Support Sequoia (Continuent.org)
</li><li>Dynamic length numbers / special methods for DataPage.writeByte / writeShort / Ronni Nielsen
</li><li>Pluggable ThreadPool, (AvalonDB / deebee / Paul Hammant)
</li><li>Support nested transactions.
</li><li>Add a benchmark for big databases, and one for many users.
</li><li>Compression in the result set (repeating values in the same column) over TCP/IP.
</li><li>Support curtimestamp (like curtime, curdate).
</li><li>Support ANALYZE {TABLE|INDEX} tableName COMPUTE|ESTIMATE|DELETE STATISTICS ptnOption options.
</li><li>Release locks (shared or exclusive) on demand
</li><li>Support OUTER UNION
</li><li>Support parameterized views (similar to CSVREAD, but using just SQL for the definition)
......@@ -230,7 +212,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Compatibility: add a role DBA (like ADMIN).
</li><li>Better support multiple processors for in-memory databases.
</li><li>Support N'text'
</li><li>In MySQL mode, for AUTO_INCREMENT columns, don't set the primary key
</li><li>Support compatibility for jdbc:hsqldb:res:
</li><li>Provide an Java SQL builder with standard and H2 syntax
</li><li>Trace: write OS, file system, JVM,... when opening the database
......@@ -330,7 +311,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Auto-server: add option to define the IP address range or list.
</li><li>Index creation using deterministic functions.
</li><li>Support DELETE with TOP or LIMIT. See also: http://dev.mysql.com/doc/refman/5.1/de/delete.html
</li><li>ANALYZE: use a bloom filter for each indexed column to estimate count of distinct values.
</li><li>ANALYZE: for unique indexes that allow null, count the number of null.
</li><li>AUTO_SERVER: support changing IP addresses (disable a network while the database is open).
</li><li>Avoid using java.util.Calendar internally because it's slow, complicated, and buggy.
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -643,3 +643,4 @@ equivalent synchronizes sullivan surname doe stepan getstart rojas snprintf
pulakka pagination collide visual aejaks simulation joonas finland minneapolis
determine timestampdiff harmony doap shortdesc wireless iceland sigurdsson
darri chunks bjorn chunked watson regardless usefulinc represented pushd
recorder grajciar recording slovensky uninitialized arriving lubomir
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论