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

--no commit message

--no commit message
上级 a77601c8
......@@ -348,7 +348,7 @@ Other database engines may commit the transaction in this case when the result s
There is a list of keywords that can't be used as identifiers (table names, column names and so on),
unless they are quoted (surrounded with double quotes). The list is currently:
</p><p>
CROSS, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DISTINCT, EXCEPT, EXISTS, FALSE,
CROSS, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DISTINCT, EXCEPT, EXISTS, FALSE,
FOR, FROM, FULL, GROUP, HAVING, INNER, INTERSECT, IS, JOIN, LIKE, LIMIT, MINUS, NATURAL, NOT, NULL,
ON, ORDER, PRIMARY, ROWNUM, SELECT, SYSDATE, SYSTIME, SYSTIMESTAMP, TODAY, TRUE, UNION, WHERE
</p><p>
......
......@@ -19,7 +19,7 @@ Change Log
<h2>Next Version (unreleased)</h2>
<ul><li>JdbcConnectionPool: it was possible to set a negative connection pool size.
</li><li>Fulltext search did not support table names with a backslash.
</li><li>Fulltext search did not support table names with a backslash.
</li><li>The internal IntArray class did not work correctly when initialized with a zero length array.
</li><li>The H2 Console web application (war file) did only support ASCII characters.
Now UTF-8 is supported.
......
......@@ -46,13 +46,13 @@ Frequently Asked Questions
Usually, bugs get fixes as they are found. There is a release every few weeks.
Here is the list of known and confirmed issues:
</p>
<ul><li>Tomcat and Glassfish 3 sets all static fields (final or non-final) to null when
<ul><li>Tomcat and Glassfish 3 set most static fields (final or non-final) to null when
unloading a web application. This can cause a NullPointerException in H2 versions
1.1.107 and older, and may still not work in newer versions. Please report it if you
run into this issue. In Tomcat >= 6.0 this behavior can be disabled by setting the
system property org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES
to false, however Tomcat may then run out of memory. A known workaround is to
put the h2.jar file in the <code>lib</code> directory.
put the h2.jar file in a shared <code>lib</code> directory (common/lib).
</li><li>Some problems have been found with right outer join. Internally, it is converted
to left outer join, which does not always produce the same results as other databases
when used in combination with other joins.
......
......@@ -117,7 +117,7 @@ via PayPal:
</li><li>Pete Haidinyak, USA
</li><li>William Osmond, USA
</li><li>Joachim Ansorg, Germany
</li><li>Oliver Soerensen, Germany
</li></ul>
<!-- [close] { --></div></td></tr></table><!-- } --><!-- analytics --></body></html>
......
......@@ -38,12 +38,12 @@ Welcome to H2, the Java SQL database. The main feature of H2 are:
<tr><td style="border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-setup-${versionDate}.exe"><img style="border: 1px #00f solid;" src="images/download.png" alt="download" /></a>
</td><td style="vertical-align: middle; border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-setup-${versionDate}.exe">Windows Installer (3.1 MB)</a>
<a href="http://www.h2database.com/h2-setup-${versionDate}.exe">Windows Installer (3.3 MB)</a>
</td></tr>
<tr><td style="border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-${versionDate}.zip"><img style="border: 1px #00f solid;" src="images/download.png" alt="download" /></a>
</td><td style="vertical-align: middle; border: 0px; background-color: #eee;">
<a href="http://www.h2database.com/h2-${versionDate}.zip">All Platforms (zip, 4.7 MB)</a>
<a href="http://www.h2database.com/h2-${versionDate}.zip">All Platforms (zip, 4.9 MB)</a>
</td></tr>
<tr><td style="border: 0px; background-color: #eee;" colspan="2">
<a href="download.html">All Downloads (including Stable)</a>
......
......@@ -419,7 +419,10 @@ public abstract class Prepared {
protected SQLException setRow(SQLException ex, int rowId, String values) {
if (ex instanceof JdbcSQLException) {
JdbcSQLException e = (JdbcSQLException) ex;
StringBuffer buff = new StringBuffer(sqlStatement);
StringBuffer buff = new StringBuffer();
if (sqlStatement != null) {
buff.append(sqlStatement);
}
buff.append(" -- ");
if (rowId > 0) {
buff.append("row #").append(rowId + 1).append(" ");
......
......@@ -55,7 +55,8 @@ public class PageBtreeIndex extends BaseIndex {
int test;
// } else if (store.isNew()) {
// // the system table for a new database
// PageBtreeLeaf root = new PageBtreeLeaf(this, headPos, Page.ROOT, store.createDataPage());
// PageBtreeLeaf root = new PageBtreeLeaf(this,
// headPos, Page.ROOT, store.createDataPage());
// store.updateRecord(root, true, root.data);
} else {
rowCount = getPage(headPos).getRowCount();
......
......@@ -56,7 +56,8 @@ public class PageScanIndex extends BaseIndex implements RowIndex {
int test;
// } else if (store.isNew()) {
// // the system table for a new database
// PageDataLeaf root = new PageDataLeaf(this, headPos, Page.ROOT, store.createDataPage());
// PageDataLeaf root = new PageDataLeaf(this, headPos,
// Page.ROOT, store.createDataPage());
// store.updateRecord(root, true, root.data);
} else {
PageData root = getPage(headPos);
......
......@@ -515,12 +515,12 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
* @return the procedures
* @throws SQLException if the connection is closed
*/
public ResultSet getProcedures(String catalog, String schemaPattern,
public ResultSet getProcedures(String catalogPattern, String schemaPattern,
String procedureNamePattern) throws SQLException {
try {
if (isDebugEnabled()) {
debugCode("getProcedures("
+quote(catalog)+", "
+quote(catalogPattern)+", "
+quote(schemaPattern)+", "
+quote(procedureNamePattern)+");");
}
......@@ -539,7 +539,7 @@ public class JdbcDatabaseMetaData extends TraceObject implements DatabaseMetaDat
+ "AND ALIAS_SCHEMA LIKE ? "
+ "AND ALIAS_NAME LIKE ? "
+ "ORDER BY PROCEDURE_SCHEM, PROCEDURE_NAME, NUM_INPUT_PARAMS");
prep.setString(1, getCatalogPattern(catalog));
prep.setString(1, getCatalogPattern(catalogPattern));
prep.setString(2, getSchemaPattern(schemaPattern));
prep.setString(3, getPattern(procedureNamePattern));
return prep.executeQuery();
......
......@@ -235,8 +235,10 @@ trace.setLevel(TraceSystem.DEBUG);
cols.add(new Column("TABLE", Value.INT));
cols.add(new Column("COLUMNS", Value.STRING));
int headPos = getSystemRootPageId();
// pageTable = database.getMainSchema().createTable("PAGE_INDEX", 0, cols, true, false, headPos);
// pageIndex = (PageScanIndex) pageTable.getScanIndex(database.getSystemSession());
// pageTable = database.getMainSchema().createTable(
// "PAGE_INDEX", 0, cols, true, false, headPos);
// pageIndex = (PageScanIndex) pageTable.getScanIndex(
// database.getSystemSession());
}
private void initLogs() {
......
......@@ -93,6 +93,20 @@ public class Shell {
this.err = err;
}
/**
* Redirects the input and output. By default, System.in, out and err are
* used.
*
* @param reader the input stream reader to use
* @param out the output stream to use
* @param err the output error stream to use
*/
public void setStreams(BufferedReader reader, PrintStream out, PrintStream err) {
this.reader = reader;
this.out = out;
this.err = err;
}
/**
* Run the shell tool with the given command line settings.
*
......@@ -145,7 +159,9 @@ public class Shell {
showHelp();
}
String statement = null;
reader = new BufferedReader(new InputStreamReader(in));
if (reader == null) {
reader = new BufferedReader(new InputStreamReader(in));
}
while (true) {
try {
if (conn == null) {
......
......@@ -283,14 +283,20 @@ java org.h2.test.TestAll timer
/*
select 1 from dual a where 1 in(select 1 from dual b
where 1 in(select 1 from dual c where a.x=1));
http://www.marciowb.net/blog/2008/08/quickly-using-h2-database-with
http://blogs.sun.com/theaquarium/entry/h2_database_with_glassfish
http://blog.flexive.org/2008/12/05/porting-flexive-to-the-h2-database/
test performance with log=2
maybe make log=2 the default option
TRANSACTION_ID()
select 1 from dual a where 1 in(select 1 from dual b
where 1 in(select 1 from dual c where a.x=1));
use 127.0.0.1 if other addresses don't work
select for update in mvcc mode: only lock the selected records?
......@@ -300,7 +306,6 @@ JCR: for each node type, create a table; one 'dynamic' table with parameter;
<link rel="icon" type="image/png" href="/path/image.png">
create a short 4 pages documentation
http://blog.flexive.org/2008/12/05/porting-flexive-to-the-h2-database/
postgresql generate_series?
is in-memory scan index re-using ids?
don't store default values (store a special value)
......
......@@ -582,3 +582,4 @@ bot jot delicious rife appenders circles spelling cash sky ecm nuxeo poland
opengeospatial sfs symmetric obsolete failing parenthesis unloading refreshed
grails reloading slightly accepting deploying conflicting recovered counters
versus extracts squirrel misdirected rle looking arc addressed european
soerensen
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论