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

--no commit message

--no commit message
上级 003003e6
......@@ -18,7 +18,12 @@ Change Log
<h1>Change Log</h1>
<h2>Next Version (unreleased)</h2>
<ul><li>When using the built-in connection pool, connections were not rolled back and
<ul><li>Queries that are ordered by an indexed column returned no rows in certain cases
(if all rows were deleted from the table previously, and there is a low number of rows
in the table, and when not using other conditions, and when using the default b tree index).
</li><li>The wrong exception was thrown when using unquoted text for
the SQL statements COMMENT, ALTER USER, and SET PASSWORD.
</li><li>When using the built-in connection pool, connections were not rolled back and
autocommit was not enabled after closing a connection. Fixed.
</li><li>Sometimes a StackOverflow occurred when checking for deadlock. See also
http://code.google.com/p/h2database/issues/detail?id=61
......
......@@ -18,6 +18,7 @@ pre {
body {
margin: 0px;
max-width: 800px;
}
h1 {
......
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.
......@@ -106,8 +106,9 @@ implements XAConnection, XAResource
//## Java 1.4 end ##
/**
* Get a connection that is a handle to the physical connection. This method is usually called by the connection
* pool. This method closes the last connection handle if one exists.
* Get a connection that is a handle to the physical connection. This method
* is usually called by the connection pool. This method closes the last
* connection handle if one exists.
*
* @return the connection
*/
......
......@@ -106,7 +106,8 @@ RUNSCRIPT FROM 'backup'
"
"Commands (DML)","SCRIPT","
SCRIPT [SIMPLE] [NODATA] [NOPASSWORDS] [NOSETTINGS] [DROP] [BLOCKSIZE blockSizeInt]
SCRIPT [SIMPLE] [NODATA] [NOPASSWORDS] [NOSETTINGS]
[DROP] [BLOCKSIZE blockSizeInt]
[TO fileNameString
[COMPRESSION {DEFLATE|LZF|ZIP|GZIP}]
[CIPHER cipher PASSWORD string]]
......@@ -364,7 +365,8 @@ CREATE AGGREGATE MEDIAN FOR ""com.acme.db.Median""
"
"Commands (DDL)","CREATE ALIAS","
CREATE ALIAS [IF NOT EXISTS] newFunctionAliasName [DETERMINISTIC] FOR classAndMethodName
CREATE ALIAS [IF NOT EXISTS] newFunctionAliasName [DETERMINISTIC]
FOR classAndMethodName
","
Creates a new function alias. The method name must be the full qualified class and method name,
and may optionally include the parameter classes as in ""java.lang.Integer.parseInt(java.lang.String, int)"").
......@@ -1892,7 +1894,8 @@ COUNT(*)
"
"Functions (Aggregate)","GROUP_CONCAT","
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).
If no rows are selected, the result is NULL.
......@@ -2862,8 +2865,8 @@ CURRVAL('TEST_SEQ')
"
"Functions (System)","CSVREAD","
CSVREAD(fileNameString [, columnNamesString [, charsetString [, fieldSeparatorString [, fieldDelimiterString
[, escapeCharacterString [, nullString]]]]]]): resultSet
CSVREAD(fileNameString [, columnNamesString [, charsetString [, fieldSeparatorString
[, fieldDelimiterString [, escapeCharacterString [, nullString]]]]]]): resultSet
","
Returns the result set of reading the CSV (comma separated values) file.
For each parameter, NULL means the default value should be used.
......@@ -2884,8 +2887,9 @@ SELECT * FROM CSVREAD('data/test.csv', NULL, NULL, ';');
"
"Functions (System)","CSVWRITE","
CSVWRITE(fileNameString, queryString [, charsetString [, fieldSeparatorString [, fieldDelimiterString
[, escapeCharacterString [, nullString [, lineSeparatorString]]]]]]): int
CSVWRITE(fileNameString, queryString [, charsetString [, fieldSeparatorString
[, fieldDelimiterString [, escapeCharacterString [, nullString
[, lineSeparatorString]]]]]]): int
","
Writes a CSV (comma separated values).
The file is overwritten if it exists.
......
......@@ -519,7 +519,7 @@ public class Shell extends Tool {
println(buff.toString());
}
if (truncated) {
println("(data is partically truncated)");
println("(data is partially truncated)");
}
return rowCount;
}
......
......@@ -282,13 +282,11 @@ java org.h2.test.TestAll timer
/*
website: remove redirect
automated tests (status on web site)
Check JBoss and Spring support models
Move issues to the roadmap
documentation: rolling review at tutorial.html:701
documentation: rolling review at roadmap.html:done
test web site with firefox 3, internet explorer, opera, safari, google chrome
create a short 4 pages documentation
......@@ -301,7 +299,12 @@ postgresql generate_series?
multithreaded kernel
remove old TODO
test web site with firefox 3, internet explorer, opera, safari, google chrome
Check JBoss and Spring support models
http://wiki.bonita.ow2.org/xwiki/bin/view/Main/BullOffer
- starting 2500 euros / year
- unlimited support requests
- 2 named contacts
- optional half days of technical aid by remote services
auto_reconnect
implemented:
......
......@@ -192,47 +192,47 @@ public class TestDeadlock extends TestBase {
// test case for issue # 61
// http://code.google.com/p/h2database/issues/detail?id=61)
private void testThreeSome() throws Exception {
if (config.mvcc) {
return;
}
initTest();
c1.createStatement().execute("CREATE TABLE TEST_A(ID INT PRIMARY KEY)");
c1.createStatement().execute("CREATE TABLE TEST_B(ID INT PRIMARY KEY)");
c1.createStatement().execute("CREATE TABLE TEST_C(ID INT PRIMARY KEY)");
c1.commit();
c1.createStatement().execute("INSERT INTO TEST_A VALUES(1)");
c1.createStatement().execute("INSERT INTO TEST_B VALUES(1)");
c2.createStatement().execute("INSERT INTO TEST_C VALUES(1)");
DoIt t2 = new DoIt() {
public void execute() throws SQLException {
c3.createStatement().execute("INSERT INTO TEST_B VALUES(2)");
c3.commit();
}
};
t2.start();
DoIt t3 = new DoIt() {
public void execute() throws SQLException {
c2.createStatement().execute("INSERT INTO TEST_A VALUES(2)");
c2.commit();
}
};
t3.start();
try {
c1.createStatement().execute("INSERT INTO TEST_C VALUES(2)");
if (config.mvcc) {
return;
}
initTest();
c1.createStatement().execute("CREATE TABLE TEST_A(ID INT PRIMARY KEY)");
c1.createStatement().execute("CREATE TABLE TEST_B(ID INT PRIMARY KEY)");
c1.createStatement().execute("CREATE TABLE TEST_C(ID INT PRIMARY KEY)");
c1.commit();
} catch (SQLException e) {
catchDeadlock(e);
c1.rollback();
}
t2.join();
t3.join();
checkDeadlock();
c1.commit();
c2.commit();
c3.commit();
c1.createStatement().execute("DROP TABLE TEST_A, TEST_B, TEST_C");
end();
}
c1.createStatement().execute("INSERT INTO TEST_A VALUES(1)");
c1.createStatement().execute("INSERT INTO TEST_B VALUES(1)");
c2.createStatement().execute("INSERT INTO TEST_C VALUES(1)");
DoIt t2 = new DoIt() {
public void execute() throws SQLException {
c3.createStatement().execute("INSERT INTO TEST_B VALUES(2)");
c3.commit();
}
};
t2.start();
DoIt t3 = new DoIt() {
public void execute() throws SQLException {
c2.createStatement().execute("INSERT INTO TEST_A VALUES(2)");
c2.commit();
}
};
t3.start();
try {
c1.createStatement().execute("INSERT INTO TEST_C VALUES(2)");
c1.commit();
} catch (SQLException e) {
catchDeadlock(e);
c1.rollback();
}
t2.join();
t3.join();
checkDeadlock();
c1.commit();
c2.commit();
c3.commit();
c1.createStatement().execute("DROP TABLE TEST_A, TEST_B, TEST_C");
end();
}
private void testLockUpgrade() throws Exception {
if (config.mvcc) {
......
......@@ -139,6 +139,15 @@ public class GenerateDoc {
// syntax = StringUtils.replaceAll(syntax, "<br />", " ");
syntax = bnf.getSyntaxHtml(syntax);
map.put("syntax", syntax);
// remove newlines in the regular text
// currently this looks bad (no paragraphs, no lists)
// String text = (String) map.get("text");
// if (text != null) {
// text = StringUtils.replaceAll(text, "<br />", " ");
// map.put("text", text);
// }
String link = topic.toLowerCase();
link = StringUtils.replaceAll(link, " ", "");
link = StringUtils.replaceAll(link, "_", "");
......
......@@ -584,4 +584,5 @@ grails reloading slightly accepting deploying conflicting recovered counters
versus extracts squirrel misdirected rle looking arc addressed european
soerensen favicon glass restarts flexive fish resulted vpda mvc kotek jan
consistently springfuse grep signatures wrote symbolic parents caches readers
animate scaladoc models disadvantages vladykin sergi trims
\ No newline at end of file
animate scaladoc models disadvantages vladykin sergi trims requesting
handing bonita placed euros
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论