提交 769fb652 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation.

上级 eec6ec37
...@@ -398,6 +398,9 @@ the database is re-opened. Source code is usually passed ...@@ -398,6 +398,9 @@ the database is re-opened. Source code is usually passed
as dollar quoted text to avoid escaping problems. If import statements are used, as dollar quoted text to avoid escaping problems. If import statements are used,
then the tag @CODE must be added before the method. then the tag @CODE must be added before the method.
If the method throws a SQLException, it is directly re-thrown to the calling application;
all other exceptions are first converted to a SQLException.
If the first parameter of the Java function is a java.sql.Connection, then a If the first parameter of the Java function is a java.sql.Connection, then a
connection to the database is provided. This connection must not be closed. connection to the database is provided. This connection must not be closed.
If the class contains multiple methods with the given name but different If the class contains multiple methods with the given name but different
...@@ -921,6 +924,7 @@ Depending on the virtual machine, the actual memory required may be higher. ...@@ -921,6 +924,7 @@ Depending on the virtual machine, the actual memory required may be higher.
This setting is persistent and affects all connections as there is only one cache per database. This setting is persistent and affects all connections as there is only one cache per database.
This setting only affects the database engine (the server in a client/server environment). This setting only affects the database engine (the server in a client/server environment).
It has no effect for in-memory databases.
Admin rights are required to execute this command. Admin rights are required to execute this command.
This command commits an open transaction. This command commits an open transaction.
......
...@@ -1010,10 +1010,9 @@ this password is still protected up to some point. See also ...@@ -1010,10 +1010,9 @@ this password is still protected up to some point. See also
'RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication' 'RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication'
for more information. for more information.
</p><p> </p><p>
When a new database or user is created, a new cryptographically secure When a new database or user is created, a new random salt value is generated.
random salt value is generated. The size of the salt is 64 bits. The size of the salt is 64 bits. Using the random salt reduces the risk of an
Using the random salt reduces the risk of an attacker pre-calculating hash values attacker pre-calculating hash values for many different (commonly used) passwords.
for many different (commonly used) passwords.
</p><p> </p><p>
The combination of user-password hash value (see above) and salt is hashed The combination of user-password hash value (see above) and salt is hashed
using SHA-256. The resulting value is stored in the database. using SHA-256. The resulting value is stored in the database.
......
...@@ -256,9 +256,9 @@ or if you have a feature request: ...@@ -256,9 +256,9 @@ or if you have a feature request:
but you don't need to (sending an email to the group is enough). but you don't need to (sending an email to the group is enough).
Please note that only few people monitor the issue tracking system. Please note that only few people monitor the issue tracking system.
</li><li>For out-of-memory problems, please analyze the problem yourself first, </li><li>For out-of-memory problems, please analyze the problem yourself first,
for example using the command line option for example using the command line option
<code>-XX:+HeapDumpOnOutOfMemoryError</code> <code>-XX:+HeapDumpOnOutOfMemoryError</code>
and a memory analysis tool such as the and a memory analysis tool such as the
<a href="http://www.eclipse.org/mat">Eclipse Memory Analyzer (MAT)</a>. <a href="http://www.eclipse.org/mat">Eclipse Memory Analyzer (MAT)</a>.
</li><li>It may take a few days to get an answers. Please do not double post. </li><li>It may take a few days to get an answers. Please do not double post.
</li></ul> </li></ul>
......
...@@ -18,7 +18,13 @@ Change Log ...@@ -18,7 +18,13 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>Nested UNION/INTERSECT queries with brackets could produce the wrong result if used within a subquery. Example: <ul><li>If the database was already closed using SHUTDOWN IMMEDIATELY, closing a second
connection could throw a NullPointerException if there was a local temporary table.
</li><li>Less classes are loaded when using the database in embedded mode.
</li><li>The information schema tables are only initialized when needed.
This reduces memory usage and speeds up creating in-memory databases.
Each in-memory database needs about 8 KB of heap memory.
</li><li>Nested UNION/INTERSECT queries with brackets could produce the wrong result if used within a subquery. Example:
select count(*) from (select 1 union (select 2 intersect select 2)) x; select count(*) from (select 1 union (select 2 intersect select 2)) x;
</li><li>Comparing an column against a constant expression with a higher precision or length </li><li>Comparing an column against a constant expression with a higher precision or length
than the column could give wrong results (the expression was truncated before comparing). than the column could give wrong results (the expression was truncated before comparing).
......
...@@ -1582,7 +1582,7 @@ to match all SQL types (matching all SQL types is not supported). The second spe ...@@ -1582,7 +1582,7 @@ to match all SQL types (matching all SQL types is not supported). The second spe
arrays of any class are mapped to <code>ARRAY</code>. arrays of any class are mapped to <code>ARRAY</code>.
</p> </p>
<h3>Functions that require a Connection</h3> <h3>Functions That Require a Connection</h3>
<p> <p>
If the first parameter of a Java function is a <code>java.sql.Connection</code>, then the connection If the first parameter of a Java function is a <code>java.sql.Connection</code>, then the connection
to database is provided. This connection does not need to be closed before returning. to database is provided. This connection does not need to be closed before returning.
...@@ -1594,6 +1594,8 @@ does not need to be (can not be) specified. ...@@ -1594,6 +1594,8 @@ does not need to be (can not be) specified.
<p> <p>
If a function throws an exception, then the current statement is rolled back If a function throws an exception, then the current statement is rolled back
and the exception is thrown to the application. and the exception is thrown to the application.
SQLException are directly re-thrown to the calling application;
all other exceptions are first converted to a SQLException.
</p> </p>
<h3>Functions Returning a Result Set</h3> <h3>Functions Returning a Result Set</h3>
...@@ -1727,6 +1729,7 @@ The amount of memory used for caching can be changed using the setting ...@@ -1727,6 +1729,7 @@ The amount of memory used for caching can be changed using the setting
<code>CACHE_SIZE</code>. This setting can be set in the database connection URL <code>CACHE_SIZE</code>. This setting can be set in the database connection URL
(<code>jdbc:h2:~/test;CACHE_SIZE=131072</code>), or it can be changed at runtime using (<code>jdbc:h2:~/test;CACHE_SIZE=131072</code>), or it can be changed at runtime using
<code>SET CACHE_SIZE size</code>. <code>SET CACHE_SIZE size</code>.
This setting has no effect for in-memory databases.
</p><p> </p><p>
Also included is an experimental second level soft reference cache. Rows in this cache are only garbage collected Also included is an experimental second level soft reference cache. Rows in this cache are only garbage collected
on low memory. By default the second level cache is disabled. To enable it, on low memory. By default the second level cache is disabled. To enable it,
......
...@@ -40,8 +40,7 @@ JaQu ...@@ -40,8 +40,7 @@ JaQu
<h2 id="what_is_jaqu">What is JaQu</h2> <h2 id="what_is_jaqu">What is JaQu</h2>
<p> <p>
JaQu stands for Java Query and allows to access databases using pure Java. JaQu stands for Java Query and allows to access databases using pure Java.
JaQu provides a fluent interface (or internal DSL) for building SQL statements. JaQu provides a fluent interface (or internal DSL) to access a database.
JaQu replaces SQL, JDBC, and persistence frameworks such as Hibernate.
JaQu is something like LINQ for Java (LINQ stands for "language integrated query" and is a JaQu is something like LINQ for Java (LINQ stands for "language integrated query" and is a
Microsoft .NET technology). The following JaQu code: Microsoft .NET technology). The following JaQu code:
</p> </p>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论