提交 53987cb2 authored 作者: Thomas Mueller's avatar Thomas Mueller

--no commit message

--no commit message
上级 6bb00084
...@@ -18,7 +18,9 @@ Change Log ...@@ -18,7 +18,9 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>If opening a database failed with an out of memory exception, some files were not closed. <ul><li>The WebServlet did not close the database when undeploying the web application.
</li><li>The exception message of failed INSERT or MERGE statements now includes all values and the row number.
</li><li>If opening a database failed with an out of memory exception, some files were not closed.
</li><li>Optimizer: the expected runtime calculation was incorrect. The fixed calculation </li><li>Optimizer: the expected runtime calculation was incorrect. The fixed calculation
should give slightly better query plans when using many joins. should give slightly better query plans when using many joins.
</li><li>Improved exception message when connecting to a just started server fails. </li><li>Improved exception message when connecting to a just started server fails.
......
...@@ -1843,7 +1843,8 @@ ARRAY ...@@ -1843,7 +1843,8 @@ ARRAY
"Functions (Aggregate)","AVG"," "Functions (Aggregate)","AVG","
AVG([DISTINCT] {int | long | decimal | double}): value AVG([DISTINCT] {int | long | decimal | double}): value
"," ","
The average (mean) value. The average (mean) value.
If no rows are selected, the result is NULL.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
AVG(X) AVG(X)
...@@ -1853,6 +1854,7 @@ AVG(X) ...@@ -1853,6 +1854,7 @@ AVG(X)
BOOL_AND(boolean): boolean BOOL_AND(boolean): boolean
"," ","
Returns true if all expressions are true. Returns true if all expressions are true.
If no rows are selected, the result is NULL.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
BOOL_AND(ID>10) BOOL_AND(ID>10)
...@@ -1862,6 +1864,7 @@ BOOL_AND(ID>10) ...@@ -1862,6 +1864,7 @@ BOOL_AND(ID>10)
BOOL_OR(boolean): boolean BOOL_OR(boolean): boolean
"," ","
Returns true if any expression is true. Returns true if any expression is true.
If no rows are selected, the result is NULL.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
BOOL_OR(NAME LIKE 'W%') BOOL_OR(NAME LIKE 'W%')
...@@ -1871,6 +1874,7 @@ BOOL_OR(NAME LIKE 'W%') ...@@ -1871,6 +1874,7 @@ BOOL_OR(NAME LIKE 'W%')
COUNT(*) | COUNT([DISTINCT] expression): int COUNT(*) | COUNT([DISTINCT] expression): int
"," ","
The count of all row, or of the non-null values. The count of all row, or of the non-null values.
If no rows are selected, the result is 0.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
COUNT(*) COUNT(*)
...@@ -1880,6 +1884,7 @@ COUNT(*) ...@@ -1880,6 +1884,7 @@ COUNT(*)
GROUP_CONCAT([DISTINCT] string [ORDER BY {expression [ASC|DESC]}[,...]] [SEPARATOR expression]): string GROUP_CONCAT([DISTINCT] string [ORDER BY {expression [ASC|DESC]}[,...]] [SEPARATOR expression]): string
"," ","
Concatenates strings with a separator. The default separator is a ',' (without space). Concatenates strings with a separator. The default separator is a ',' (without space).
If no rows are selected, the result is NULL.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
GROUP_CONCAT(NAME ORDER BY ID SEPARATOR ', ') GROUP_CONCAT(NAME ORDER BY ID SEPARATOR ', ')
...@@ -1888,7 +1893,8 @@ GROUP_CONCAT(NAME ORDER BY ID SEPARATOR ', ') ...@@ -1888,7 +1893,8 @@ GROUP_CONCAT(NAME ORDER BY ID SEPARATOR ', ')
"Functions (Aggregate)","MAX"," "Functions (Aggregate)","MAX","
MAX(value): value MAX(value): value
"," ","
The highest value. The highest value.
If no rows are selected, the result is NULL.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
MAX(NAME) MAX(NAME)
...@@ -1897,7 +1903,8 @@ MAX(NAME) ...@@ -1897,7 +1903,8 @@ MAX(NAME)
"Functions (Aggregate)","MIN"," "Functions (Aggregate)","MIN","
MIN(value): value MIN(value): value
"," ","
The lowest value. The lowest value.
If no rows are selected, the result is NULL.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
MIN(NAME) MIN(NAME)
...@@ -1906,7 +1913,8 @@ MIN(NAME) ...@@ -1906,7 +1913,8 @@ MIN(NAME)
"Functions (Aggregate)","SUM"," "Functions (Aggregate)","SUM","
SUM([DISTINCT] {int | long | decimal | double}): value SUM([DISTINCT] {int | long | decimal | double}): value
"," ","
The sum of all values. The sum of all values.
If no rows are selected, the result is NULL.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
SUM(X) SUM(X)
...@@ -1928,6 +1936,7 @@ SELECT SELECTIVITY(FIRSTNAME), SELECTIVITY(NAME) FROM TEST WHERE ROWNUM()<100000 ...@@ -1928,6 +1936,7 @@ SELECT SELECTIVITY(FIRSTNAME), SELECTIVITY(NAME) FROM TEST WHERE ROWNUM()<100000
STDDEV_POP([DISTINCT] double): double STDDEV_POP([DISTINCT] double): double
"," ","
The population standard deviation. The population standard deviation.
If no rows are selected, the result is NULL.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
STDDEV_POP(X) STDDEV_POP(X)
...@@ -1937,6 +1946,7 @@ STDDEV_POP(X) ...@@ -1937,6 +1946,7 @@ STDDEV_POP(X)
STDDEV_SAMP([DISTINCT] double): double STDDEV_SAMP([DISTINCT] double): double
"," ","
The sample standard deviation. The sample standard deviation.
If no rows are selected, the result is NULL.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
STDDEV(X) STDDEV(X)
...@@ -1946,6 +1956,7 @@ STDDEV(X) ...@@ -1946,6 +1956,7 @@ STDDEV(X)
VAR_POP([DISTINCT] double): double VAR_POP([DISTINCT] double): double
"," ","
The population variance (square of the population standard deviation). The population variance (square of the population standard deviation).
If no rows are selected, the result is NULL.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
VAR_POP(X) VAR_POP(X)
...@@ -1955,6 +1966,7 @@ VAR_POP(X) ...@@ -1955,6 +1966,7 @@ VAR_POP(X)
VAR_SAMP([DISTINCT] double): double VAR_SAMP([DISTINCT] double): double
"," ","
The sample variance (square of the sample standard deviation). The sample variance (square of the sample standard deviation).
If no rows are selected, the result is NULL.
Aggregates are only allowed in select statements. Aggregates are only allowed in select statements.
"," ","
VAR_SAMP(X) VAR_SAMP(X)
......
...@@ -260,6 +260,9 @@ public class FtpServer implements Service { ...@@ -260,6 +260,9 @@ public class FtpServer implements Service {
} }
public void stop() { public void stop() {
if (serverSocket == null) {
return;
}
try { try {
serverSocket.close(); serverSocket.close();
} catch (IOException e) { } catch (IOException e) {
......
...@@ -283,7 +283,10 @@ java org.h2.test.TestAll timer ...@@ -283,7 +283,10 @@ java org.h2.test.TestAll timer
/* /*
include ClearReferences test case maybe close the database when a final static field is set to null?
use 127.0.0.1 if other addresses don't work
isShutdown isShutdown
PageStore.switchLogIfPossible() PageStore.switchLogIfPossible()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论