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

Documentation.

上级 b5ed9212
...@@ -3444,8 +3444,8 @@ CALL DATABASE(); ...@@ -3444,8 +3444,8 @@ CALL DATABASE();
"Functions (System)","DATABASE_PATH"," "Functions (System)","DATABASE_PATH","
DATABASE_PATH() DATABASE_PATH()
"," ","
Returns the directory of the database files and the database name, if it is file Returns the directory of the database files and the database name, if it is file based.
based. Returns NULL otherwise. Returns NULL otherwise.
"," ","
CALL DATABASE_PATH(); CALL DATABASE_PATH();
" "
......
...@@ -177,7 +177,8 @@ To create an Eclipse project for H2, use the following steps: ...@@ -177,7 +177,8 @@ To create an Eclipse project for H2, use the following steps:
<code>svn checkout http://h2database.googlecode.com/svn/trunk h2database-read-only</code> <code>svn checkout http://h2database.googlecode.com/svn/trunk h2database-read-only</code>
</li><li>Download all dependencies (Windows):<br /> </li><li>Download all dependencies (Windows):<br />
<code>build.bat download</code> <code>build.bat download</code>
</li><li>In Eclipse, create a new Java project from existing source code. </li><li>In Eclipse, create a new Java project from existing source code:
<code>File, New, Project, Java Project, Create project from existing source</code>.
</li><li>Select the <code>h2</code> folder, click <code>Next</code> and <code>Finish</code>. </li><li>Select the <code>h2</code> folder, click <code>Next</code> and <code>Finish</code>.
</li><li>To resolve <code>com.sun.javadoc</code> import statements, </li><li>To resolve <code>com.sun.javadoc</code> import statements,
you may need to manually add the file <code>&lt;java.home&gt;/../lib/tools.jar</code> to the build path. you may need to manually add the file <code>&lt;java.home&gt;/../lib/tools.jar</code> to the build path.
......
...@@ -17,7 +17,8 @@ Change Log ...@@ -17,7 +17,8 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>Support for the function LN (an alias for LOG). <ul><li>DatabaseEventListener.init was called with a null url when using the server mode.
</li><li>Support for the function LN (an alias for LOG).
</li><li>Support for the function CEIL (an alias for CEILING). </li><li>Support for the function CEIL (an alias for CEILING).
</li><li>Issue 315: Access to LOBs could cause a Java level deadlock. </li><li>Issue 315: Access to LOBs could cause a Java level deadlock.
</li><li>Support for the ICU4J collator. </li><li>Support for the ICU4J collator.
......
...@@ -23,6 +23,8 @@ Frequently Asked Questions ...@@ -23,6 +23,8 @@ Frequently Asked Questions
Are there Known Bugs? When is the Next Release?</a><br /> Are there Known Bugs? When is the Next Release?</a><br />
<a href="#open_source"> <a href="#open_source">
Is this Database Engine Open Source?</a><br /> Is this Database Engine Open Source?</a><br />
<a href="#commercial_support">
Is Commercial Support Available?</a><br />
<a href="#create_database"> <a href="#create_database">
How to Create a New Database?</a><br /> How to Create a New Database?</a><br />
<a href="#connect"> <a href="#connect">
...@@ -89,6 +91,12 @@ Yes. It is free to use and distribute, and the source code is included. ...@@ -89,6 +91,12 @@ Yes. It is free to use and distribute, and the source code is included.
See also under license. See also under license.
</p> </p>
<h3 id="commercial_support">Is Commercial Support Available?</h3>
<p>
Yes, commercial support is available,
see <a href="links.html#commercial_support">Commercial Support</a>.
</p>
<h3 id="create_database">How to Create a New Database?</h3> <h3 id="create_database">How to Create a New Database?</h3>
<p> <p>
By default, a new database is automatically created if it does not yet exist. By default, a new database is automatically created if it does not yet exist.
......
...@@ -15,11 +15,12 @@ H2 In Use and Links ...@@ -15,11 +15,12 @@ H2 In Use and Links
<table class="content"><tr class="content"><td class="content"><div class="contentDiv"> <table class="content"><tr class="content"><td class="content"><div class="contentDiv">
<!-- } --> <!-- } -->
<h1>H2 In Use and Links</h1> <h1>Links</h1>
<p> <p>
Listed below are just a few links to products using or supporting H2.
If you want to add a link, please send it to the support email address or post it to the group. If you want to add a link, please send it to the support email address or post it to the group.
</p> </p>
<a href="#commercial_support">
Commercial Support</a><br />
<a href="#books"> <a href="#books">
Books</a><br /> Books</a><br />
<a href="#extensions"> <a href="#extensions">
...@@ -31,6 +32,18 @@ If you want to add a link, please send it to the support email address or post i ...@@ -31,6 +32,18 @@ If you want to add a link, please send it to the support email address or post i
<a href="#projects"> <a href="#projects">
Products and Projects</a><br /> Products and Projects</a><br />
<h2 id="commercial_support">Commercial Support</h2>
<p>
Commercial support for H2 is available from Steve McLeod (steve dot mcleod at gmail dot com).
Please note he is not one of the developers of H2. He describes himself as follows:
</p>
<ul><li>I'm a long time user of H2, routinely working with H2 databases several gigabytes in size.
</li><li>I'm the creator of popular commercial desktop software that uses H2.
</li><li>I'm a certified Java developer (SCJP).
</li><li>I have a decade and more of IT consulting experience with large and small clients in Australia, the UK, and Germany.
</li><li>I'm based in Germany, and willing to travel within Europe.
I can work remotely with teams in the USA and other locations."
</li></ul>
<h2 id="books">Books</h2> <h2 id="books">Books</h2>
<a href="http://code.google.com/p/seaminaction/wiki/GettingStarted"> <a href="http://code.google.com/p/seaminaction/wiki/GettingStarted">
......
...@@ -48,6 +48,8 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -48,6 +48,8 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>PostgreSQL catalog: use BEFORE SELECT triggers instead of views over metadata tables. </li><li>PostgreSQL catalog: use BEFORE SELECT triggers instead of views over metadata tables.
</li><li>Compatibility: automatically load functions from a script depending on the mode - see FunctionsMySQL.java, issue 211. </li><li>Compatibility: automatically load functions from a script depending on the mode - see FunctionsMySQL.java, issue 211.
</li><li>Test very large databases and LOBs (up to 256 GB). </li><li>Test very large databases and LOBs (up to 256 GB).
</li><li>Don't use temp files, specially not deleteOnExit (bug 4513817: File.deleteOnExit consumes memory).
Also to allow opening client / server (remote) connections when using LOBs.
</li><li>Sequence: add features [NO] MINVALUE, MAXVALUE, CYCLE. </li><li>Sequence: add features [NO] MINVALUE, MAXVALUE, CYCLE.
</li><li>Make DDL (Data Definition) operations transactional. </li><li>Make DDL (Data Definition) operations transactional.
</li><li>Deferred integrity checking (DEFERRABLE INITIALLY DEFERRED). </li><li>Deferred integrity checking (DEFERRABLE INITIALLY DEFERRED).
...@@ -57,7 +59,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -57,7 +59,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Fulltext search Lucene: analyzer configuration, mergeFactor. </li><li>Fulltext search Lucene: analyzer configuration, mergeFactor.
</li><li>Compression performance: don't allocate buffers, compress / expand in to out buffer. </li><li>Compression performance: don't allocate buffers, compress / expand in to out buffer.
</li><li>Rebuild index functionality to shrink index size and improve performance. </li><li>Rebuild index functionality to shrink index size and improve performance.
</li><li>Don't use temp files, specially not 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>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 performance again with SQL Server, Oracle, DB2.
</li><li>Test with Spatial DB in a box / JTS: http://www.opengeospatial.org/standards/sfs - OpenGIS Implementation Specification. </li><li>Test with Spatial DB in a box / JTS: http://www.opengeospatial.org/standards/sfs - OpenGIS Implementation Specification.
...@@ -73,7 +74,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -73,7 +74,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Version check: docs / web console (using Javascript), and maybe in the library (using TCP/IP). </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>Web server classloader: override findResource / getResourceFrom.
</li><li>Cost for embedded temporary view is calculated wrong, if result is constant. </li><li>Cost for embedded temporary view is calculated wrong, if result is constant.
</li><li>Comparison: pluggable sort order: natural sort (for text that contains numbers).
</li><li>Count index range query (count(*) where id between 10 and 20). </li><li>Count index range query (count(*) where id between 10 and 20).
</li><li>Performance: update in-place. </li><li>Performance: update in-place.
</li><li>Eclipse plugin. </li><li>Eclipse plugin.
...@@ -117,9 +117,9 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -117,9 +117,9 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Automatically convert to the next 'higher' data type whenever there is an overflow. </li><li>Automatically convert to the next 'higher' data type whenever there is an overflow.
</li><li>Throw an exception when the application calls getInt on a Long (optional). </li><li>Throw an exception when the application calls getInt on a Long (optional).
</li><li>Default date format for input and output (local date constants). </li><li>Default date format for input and output (local date constants).
</li><li>Support custom Collators.
</li><li>Document ROWNUM usage for reports: SELECT ROWNUM, * FROM (subquery). </li><li>Document ROWNUM usage for reports: SELECT ROWNUM, * FROM (subquery).
</li><li>File system that writes to two file systems (replication, replicating file system). </li><li>File system that writes to two file systems (replication, replicating file system).
</li><li>MySQL, MS SQL Server compatibility: support case sensitive (mixed case) identifiers without quotes.
</li><li>Standalone tool to get relevant system properties and add it to the trace output. </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>Support 'call proc(1=value)' (PostgreSQL, Oracle).
</li><li>Console: improve editing data (Tab, Shift-Tab, Enter, Up, Down, Shift+Del?). </li><li>Console: improve editing data (Tab, Shift-Tab, Enter, Up, Down, Shift+Del?).
...@@ -226,9 +226,9 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -226,9 +226,9 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Move Maven 2 repository from hsql.sf.net to h2database.sf.net </li><li>Move Maven 2 repository from hsql.sf.net to h2database.sf.net
</li><li>Java 1.5 tool: JdbcUtils.closeSilently(s1, s2,...) </li><li>Java 1.5 tool: JdbcUtils.closeSilently(s1, s2,...)
</li><li>Javadoc: document design patterns used </li><li>Javadoc: document design patterns used
</li><li>Support custom collators, for example for natural sort (for text that contains numbers).
</li><li>Write an article about SQLInjection (h2/src/docsrc/html/images/SQLInjection.txt) </li><li>Write an article about SQLInjection (h2/src/docsrc/html/images/SQLInjection.txt)
</li><li>Convert SQL-injection-2.txt to html document, include SQLInjection.java sample </li><li>Convert SQL-injection-2.txt to html document, include SQLInjection.java sample
</li><li>MySQL, MS SQL Server compatibility: support case sensitive (mixed case) identifiers without quotes.
</li><li>Support OUT parameters in user-defined procedures. </li><li>Support OUT parameters in user-defined procedures.
</li><li>Web site design: http://www.igniterealtime.org/projects/openfire/index.jsp </li><li>Web site design: http://www.igniterealtime.org/projects/openfire/index.jsp
</li><li>HSQLDB compatibility: Openfire server uses: CREATE SCHEMA PUBLIC AUTHORIZATION DBA; </li><li>HSQLDB compatibility: Openfire server uses: CREATE SCHEMA PUBLIC AUTHORIZATION DBA;
......
...@@ -419,6 +419,19 @@ The settings of the H2 Console are stored in a configuration file ...@@ -419,6 +419,19 @@ The settings of the H2 Console are stored in a configuration file
called <code>.h2.server.properties</code> in you user home directory. called <code>.h2.server.properties</code> in you user home directory.
For Windows installations, the user home directory is usually <code>C:\Documents and Settings\[username]</code>. For Windows installations, the user home directory is usually <code>C:\Documents and Settings\[username]</code>.
The configuration file contains the settings of the application and is automatically created when the H2 Console is first started. The configuration file contains the settings of the application and is automatically created when the H2 Console is first started.
Supported settings are:
</p>
<ul><li><code>webAllowOthers</code>: allow other computers to connect.
</li><li><code>webPort</code>: the port of the H2 Console
</li><li><code>webSSL</code>: use encrypted (HTTPS) connections.
</li></ul>
<p>
In addition to those settings, the properties of the last recently used connection
are listed in the form
<code>&lt;number&gt;=&lt;name&gt;|&lt;driver&gt;|&lt;url&gt;|&lt;user&gt;</code>
using the escape character <code>\</code>.
Example:
<code>1=Generic H2 (Embedded)|org.h2.Driver|jdbc\:h2\:~/test|sa</code>
</p> </p>
<h2 id="connecting_using_jdbc">Connecting to a Database using JDBC</h2> <h2 id="connecting_using_jdbc">Connecting to a Database using JDBC</h2>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -28,6 +28,7 @@ package org.h2.constant; ...@@ -28,6 +28,7 @@ package org.h2.constant;
public class ErrorCode { public class ErrorCode {
// 02: no data // 02: no data
/** /**
* The error with code <code>2000</code> is thrown when * The error with code <code>2000</code> is thrown when
* the result set is positioned before the first or after the last row, or * the result set is positioned before the first or after the last row, or
...@@ -47,6 +48,7 @@ public class ErrorCode { ...@@ -47,6 +48,7 @@ public class ErrorCode {
public static final int NO_DATA_AVAILABLE = 2000; public static final int NO_DATA_AVAILABLE = 2000;
// 07: dynamic SQL error // 07: dynamic SQL error
/** /**
* The error with code <code>7001</code> is thrown when * The error with code <code>7001</code> is thrown when
* trying to call a function with the wrong number of parameters. * trying to call a function with the wrong number of parameters.
...@@ -58,6 +60,7 @@ public class ErrorCode { ...@@ -58,6 +60,7 @@ public class ErrorCode {
public static final int INVALID_PARAMETER_COUNT_2 = 7001; public static final int INVALID_PARAMETER_COUNT_2 = 7001;
// 08: connection exception // 08: connection exception
/** /**
* The error with code <code>8000</code> is thrown when * The error with code <code>8000</code> is thrown when
* there was a problem trying to create a database lock. * there was a problem trying to create a database lock.
...@@ -66,6 +69,7 @@ public class ErrorCode { ...@@ -66,6 +69,7 @@ public class ErrorCode {
public static final int ERROR_OPENING_DATABASE_1 = 8000; public static final int ERROR_OPENING_DATABASE_1 = 8000;
// 21: cardinality violation // 21: cardinality violation
/** /**
* The error with code <code>21002</code> is thrown when the number of * The error with code <code>21002</code> is thrown when the number of
* columns does not match. Possible reasons are: for an INSERT or MERGE * columns does not match. Possible reasons are: for an INSERT or MERGE
...@@ -249,6 +253,7 @@ public class ErrorCode { ...@@ -249,6 +253,7 @@ public class ErrorCode {
public static final int DEADLOCK_1 = 40001; public static final int DEADLOCK_1 = 40001;
// 42: syntax error or access rule violation // 42: syntax error or access rule violation
/** /**
* The error with code <code>42000</code> is thrown when * The error with code <code>42000</code> is thrown when
* trying to execute an invalid SQL statement. * trying to execute an invalid SQL statement.
...@@ -342,6 +347,7 @@ public class ErrorCode { ...@@ -342,6 +347,7 @@ public class ErrorCode {
// HZ: remote database access // HZ: remote database access
// //
/** /**
* The error with code <code>50000</code> is thrown when * The error with code <code>50000</code> is thrown when
* something unexpected occurs, for example an internal stack * something unexpected occurs, for example an internal stack
......
...@@ -1270,8 +1270,7 @@ Returns the name of the database." ...@@ -1270,8 +1270,7 @@ Returns the name of the database."
"Functions (System)","DATABASE_PATH"," "Functions (System)","DATABASE_PATH","
DATABASE_PATH() DATABASE_PATH()
"," ","
Returns the directory of the database files and the database name, if it is file Returns the directory of the database files and the database name, if it is file based."
based."
"Functions (System)","FILE_READ"," "Functions (System)","FILE_READ","
FILE_READ(fileNameString [,encodingString]) FILE_READ(fileNameString [,encodingString])
"," ","
......
...@@ -633,7 +633,7 @@ kill -9 `jps -l | grep "org.h2.test." | cut -d " " -f 1` ...@@ -633,7 +633,7 @@ kill -9 `jps -l | grep "org.h2.test." | cut -d " " -f 1`
// synth // synth
new TestBtreeIndex().runTest(this); new TestBtreeIndex().runTest(this);
new TestCrashAPI().runTest(this); new TestCrashAPI().runTest(this);
// new TestFuzzOptimizations().runTest(this); // new TestFuzzOptimizations().runTest(this);
new TestLimit().runTest(this); new TestLimit().runTest(this);
new TestRandomSQL().runTest(this); new TestRandomSQL().runTest(this);
new TestRandomCompare().runTest(this); new TestRandomCompare().runTest(this);
......
...@@ -681,4 +681,5 @@ hurt imposes marshal policy upgrader configurations dark varray xlint executor ...@@ -681,4 +681,5 @@ hurt imposes marshal policy upgrader configurations dark varray xlint executor
completion inactivity exports maintains backside schwietzke rene rectangular grandin noel completion inactivity exports maintains backside schwietzke rene rectangular grandin noel
sine cosine tangent cotangent trigonometric hyperbolic lte abe alphabetical killer sine cosine tangent cotangent trigonometric hyperbolic lte abe alphabetical killer
diagnostics checkout somewhat icu delegation classifications karlsson applet diagnostics checkout somewhat icu delegation classifications karlsson applet
litailang springsource eccn springframework spr growth litailang springsource eccn springframework spr growth teams gigabytes europe
mcleod decade experience travel willing scjp himself routinely
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论